#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <fstream>
using namespace std;
struct Universitet {
string nomi;
string rektor_fio;
int fanlar_soni;
int professorlar_soni;
int xodimlar_soni;
};
void universitet_qoshish(map<string, Universitet>& universitetlar) {
Universitet universitet;
cout << "Universitet nomi: ";
cin >> universitet.nomi;
cout << "Universitet rektori FIOsi: ";
cin.ignore();//
getline(cin, universitet.rektor_fio);
cout << "Fanlar soni: ";
cin >> universitet.fanlar_soni;
cout << "Professorlar soni: ";
cin >> universitet.professorlar_soni;
cout << "Xodimlar soni: ";
cin >> universitet.xodimlar_soni;
universitetlar[universitet.nomi] = universitet;
}
void universitetlarni_qidirish(map<string, Universitet>& universitetlar) {
string nomi;
cout << "\n\nUniversitet nomini kiriting: ";
cin >> nomi;
if (universitetlar.count(nomi) == 1) {
cout << "Universitet nomi: " << universitetlar[nomi].nomi << endl;
cout << "Universitet rektori FIOsi: " << universitetlar[nomi].rektor_fio << endl;
cout << "Fanlar soni: " << universitetlar[nomi].fanlar_soni << endl;
cout << "Professorlar soni: " << universitetlar[nomi].professorlar_soni << endl;
cout << "Xodimlar soni: " << universitetlar[nomi].xodimlar_soni << endl;
}
else {
cout << "Universitet topilmadi." << endl;
}
}
void saqlash(map<string, Universitet>& universitetlar) {
string fayl_nomi;
cout << "Fayl nomini kiriting: ";
cin >> fayl_nomi;
ofstream fayl(fayl_nomi);
for (const auto& [nomi, universitet] : universitetlar) {
fayl << universitet.nomi << " "
<< universitet.rektor_fio << " "
<< universitet.fanlar_soni << " "
<< universitet.professorlar_soni << " "
<< universitet.xodimlar_soni << endl;
}
cout << "Ma'lumotlar faylga saqlandi." << endl << endl;
}
void yuklash(map<string, Universitet>& universitetlar) {
string fayl_nomi;
cout << "Fayl nomini kiriting: ";
cin >> fayl_nomi;
ifstream fayl(fayl_nomi);
if (!fayl) {
cout << "Fayl ochilmadi." << endl << endl;
return;
}
universitetlar.clear();
Universitet universitet;
while (fayl >> universitet.nomi
>> universitet.rektor_fio
>> universitet.fanlar_soni
>> universitet.professorlar_soni
>> universitet.xodimlar_soni) {
universitetlar[universitet.nomi] = universitet;
}
cout << "Ma'lumotlar yuklandi." << endl << endl;
}
void menyuni_chop_et() {
cout << "1. Universitet qo'shish" << endl;
cout << "2. Universitetlarni qidirish" << endl;
cout << "3. Ma'lumotlarni saqlash" << endl;
cout << "4. Ma'lumotlarni yuklash" << endl;
cout << "0. Chiqish" << endl;
cout << "> ";
}
int main() {
map<string, Universitet> universitetlar;
int tanlov;
do {
menyuni_chop_et();
cin >> tanlov;
cout << endl << endl;
switch (tanlov) {
case 1:
universitet_qoshish(universitetlar);
break;
case 2:
universitetlarni_qidirish(universitetlar);
break;
case 3:
saqlash(universitetlar);
break;
case 4:
yuklash(universitetlar);
break;
case 0:
cout << "Dastur tugadi." << endl << endl;
break;
default:
cout << "Noto'g'ri tanlov. Qayta urinib ko'ring." << endl << endl;
break;
}
}
while (tanlov != 0);
return 0;
}
Message#include <iostream>
12 April 2023Nearby in the feed
Sthis message
.