GriefNorth

kr22

Nov 9th, 2013
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.44 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <fstream>
  4. #include <string>
  5. using namespace std;
  6.  
  7. struct REGION
  8. {
  9. char oblast[30];
  10. int kod_region;
  11. };
  12. struct GOROD
  13. {
  14. struct REGION reg;
  15. int kod_goroda;
  16. int naselenie;
  17. char gorod[20];
  18. };
  19. const char filename[]="file.txt";
  20. std::fstream file;
  21.  
  22. void WriteToFile(int num)
  23. {
  24. struct GOROD g;
  25. system("CLS");
  26. file.open(filename,std::fstream::app);
  27. cout << "---===[Введите данные]===---:\n";
  28. for (int i=0;i<num;i++)
  29. {
  30. cout << "Введите регион или область города:\n"; cin >> g.reg.oblast;
  31. cout << "Введите код региона или области города:\n "; cin >> g.reg.kod_region;
  32. cout << "Введите город:\n "; cin >> g.gorod;
  33. cout << "Введите код города:\n "; cin >> g.kod_goroda;
  34. cout << "Введите численность населения:\n "; cin >> g.naselenie;
  35. file << g.gorod << g.reg.oblast << g.naselenie <<
  36. g.reg.kod_region << g.kod_goroda;
  37. }
  38. file.close();
  39. getchar();
  40. }
  41. void PrintFile()
  42. {
  43. struct GOROD g;
  44. system("CLS");
  45. file.open(filename,std::fstream::in);
  46.  
  47. cout << "Город\t|Регион\t|Население\t|Код-региона/города|\t\n";
  48. while(!file.eof())
  49. {
  50. file >> g.gorod >> g.reg.oblast >> g.naselenie >> g.reg.kod_region >> g.kod_goroda;
  51. if (file.peek()!=EOF)
  52. cout << g.gorod << g.reg.oblast << g.naselenie << g.reg.kod_region << g.kod_goroda;
  53. }
  54. file.close();
  55. getchar();
  56. }
  57.  
  58. void FileRewrite()
  59. {
  60. file.open(filename,std::fstream::out);
  61. file.close();
  62. }
  63.  
  64. void Vibor()
  65. {
  66. struct GOROD g;
  67. system("CLS");
  68. file.open(filename,std::fstream::in);
  69.  
  70. cout << "Город\t|Регион\t|Население\t|Код-региона/города|\t\n";
  71. while (!file.eof())
  72. {
  73. file >> g.gorod >> g.reg.oblast >> g.naselenie >> g.reg.kod_region >> g.kod_goroda;
  74. if ((file.peek()!=EOF)&&(strcmp(g.gorod, "Абаза")==0))
  75. cout << g.gorod << g.reg.oblast << g.naselenie << g.reg.kod_region << g.kod_goroda;
  76. }
  77. file.close();
  78. getchar();
  79. }
  80.  
  81. void Sortirovka()
  82. {
  83. struct GOROD g[25],x;
  84. int i, j, k=0;
  85. system("CLS");
  86. file.open(filename,std::fstream::in);
  87. cout << "Город\t|Регион\t|Население\t|Код-региона/города|\t\n";
  88. while(!file.eof())
  89. {
  90. file >> x.gorod >> x.reg.oblast >> x.naselenie >> x.reg.kod_region >> x.kod_goroda;
  91.  
  92. if (file.peek()!=EOF)
  93. {
  94. g[k]=x; k++;
  95. }
  96. }
  97. file.close();
  98. for (i=0;i<k-1;i++)
  99. for (j=0;j<k-1;j++)
  100. if (g[j].naselenie<g[j+1].naselenie)
  101. {
  102. x=g[j];
  103. g[j]=g[j+1];
  104. g[j+1]=x;
  105. }
  106. for(i=0;i<k;i++)
  107. {
  108. cout << g[i].gorod << g[i].reg.oblast << g[i].naselenie << g[i].reg.kod_region << g[i].kod_goroda;
  109. cout << "\n";
  110. }
  111. getchar();
  112. }
  113. int main() {
  114. char menu;
  115. int i;
  116. setlocale(LC_ALL, "Russian");
  117. do {
  118. system("CLS");
  119. cout << "\n1 - Запись в файл\n2 - Чтение из файла\n3 - Очистка файла\n4 - Выбор\n5 - Сортировка по кол-ву населения \n6 - Выход\n";
  120. menu=getchar();
  121. switch(menu)
  122. {
  123. case'1':cout << "Кол-во записей:"; cin >> i;
  124. WriteToFile(i); break;
  125. case'2':PrintFile(); break;
  126. case'3':FileRewrite(); break;
  127. case'4':Vibor(); break;
  128. case'5':Sortirovka(); break;
  129. }
  130. if (menu=='6')break;
  131. }while(1);
  132.  
  133. cout << "!!!Done!!!" << endl;
  134. return 0;
  135. }
Advertisement
Add Comment
Please, Sign In to add comment