Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <fstream>
- #include <string>
- using namespace std;
- struct REGION
- {
- char oblast[30];
- int kod_region;
- };
- struct GOROD
- {
- struct REGION reg;
- int kod_goroda;
- int naselenie;
- char gorod[20];
- };
- const char filename[]="file.txt";
- std::fstream file;
- void WriteToFile(int num)
- {
- struct GOROD g;
- system("CLS");
- file.open(filename,std::fstream::app);
- cout << "---===[Введите данные]===---:\n";
- for (int i=0;i<num;i++)
- {
- cout << "Введите регион или область города:\n"; cin >> g.reg.oblast;
- cout << "Введите код региона или области города:\n "; cin >> g.reg.kod_region;
- cout << "Введите город:\n "; cin >> g.gorod;
- cout << "Введите код города:\n "; cin >> g.kod_goroda;
- cout << "Введите численность населения:\n "; cin >> g.naselenie;
- file << g.gorod << g.reg.oblast << g.naselenie <<
- g.reg.kod_region << g.kod_goroda;
- }
- file.close();
- getchar();
- }
- void PrintFile()
- {
- struct GOROD g;
- system("CLS");
- file.open(filename,std::fstream::in);
- cout << "Город\t|Регион\t|Население\t|Код-региона/города|\t\n";
- while(!file.eof())
- {
- file >> g.gorod >> g.reg.oblast >> g.naselenie >> g.reg.kod_region >> g.kod_goroda;
- if (file.peek()!=EOF)
- cout << g.gorod << g.reg.oblast << g.naselenie << g.reg.kod_region << g.kod_goroda;
- }
- file.close();
- getchar();
- }
- void FileRewrite()
- {
- file.open(filename,std::fstream::out);
- file.close();
- }
- void Vibor()
- {
- struct GOROD g;
- system("CLS");
- file.open(filename,std::fstream::in);
- cout << "Город\t|Регион\t|Население\t|Код-региона/города|\t\n";
- while (!file.eof())
- {
- file >> g.gorod >> g.reg.oblast >> g.naselenie >> g.reg.kod_region >> g.kod_goroda;
- if ((file.peek()!=EOF)&&(strcmp(g.gorod, "Абаза")==0))
- cout << g.gorod << g.reg.oblast << g.naselenie << g.reg.kod_region << g.kod_goroda;
- }
- file.close();
- getchar();
- }
- void Sortirovka()
- {
- struct GOROD g[25],x;
- int i, j, k=0;
- system("CLS");
- file.open(filename,std::fstream::in);
- cout << "Город\t|Регион\t|Население\t|Код-региона/города|\t\n";
- while(!file.eof())
- {
- file >> x.gorod >> x.reg.oblast >> x.naselenie >> x.reg.kod_region >> x.kod_goroda;
- if (file.peek()!=EOF)
- {
- g[k]=x; k++;
- }
- }
- file.close();
- for (i=0;i<k-1;i++)
- for (j=0;j<k-1;j++)
- if (g[j].naselenie<g[j+1].naselenie)
- {
- x=g[j];
- g[j]=g[j+1];
- g[j+1]=x;
- }
- for(i=0;i<k;i++)
- {
- cout << g[i].gorod << g[i].reg.oblast << g[i].naselenie << g[i].reg.kod_region << g[i].kod_goroda;
- cout << "\n";
- }
- getchar();
- }
- int main() {
- char menu;
- int i;
- setlocale(LC_ALL, "Russian");
- do {
- system("CLS");
- cout << "\n1 - Запись в файл\n2 - Чтение из файла\n3 - Очистка файла\n4 - Выбор\n5 - Сортировка по кол-ву населения \n6 - Выход\n";
- menu=getchar();
- switch(menu)
- {
- case'1':cout << "Кол-во записей:"; cin >> i;
- WriteToFile(i); break;
- case'2':PrintFile(); break;
- case'3':FileRewrite(); break;
- case'4':Vibor(); break;
- case'5':Sortirovka(); break;
- }
- if (menu=='6')break;
- }while(1);
- cout << "!!!Done!!!" << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment