Advertisement
O_Egor

File 31 (struct)

Jun 16th, 2019
312
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.74 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. #include <vector>
  5. #include <iomanip>
  6. using namespace std;
  7.  
  8. struct EGE
  9. {
  10.     string surname,io;
  11.     int sch, score;
  12. };
  13. int main()
  14. {
  15.     ifstream f("Input.txt");
  16.     if(f)
  17.     {
  18.         int sur(0);
  19.         ofstream g ("Output.txt");
  20.         vector <EGE> v;
  21.         while(!f.eof())
  22.         {
  23.             EGE n;
  24.             f>>n.surname>>n.io>>n.sch>>n.score;
  25.             v.push_back(n);
  26.             int surr=n.surname.size();
  27.             sur=max(sur,surr);
  28.         }
  29.         double sum(0);
  30.         for(int i=0;i<v.size();++i)
  31.             sum+=v[i].score;
  32.         sum/=v.size();
  33.         g<<"Grade point average: "<<sum<<'\n';
  34.         vector <int> in;
  35.         for(int i=0;i<v.size();++i)
  36.             if(v[i].score>sum)
  37.                 in.push_back(i);
  38.         /*for(int i=0;i<in.size();++i)
  39.             g<<in[i]<<' ';*/
  40.         for(int i=1;i<in.size();++i)
  41.             for(int j=0;j<in.size()-i;++j)
  42.                 if(v[in[j]].score<v[in[j+1]].score)
  43.                     swap(in[j],in[j+1]);
  44.         g<<"Pupils who pass the exam above average:"<<'\n';
  45.         for(int i=0;i<in.size();++i)
  46.             g<<setw(sur)<<v[in[i]].surname<<' '<<v[in[i]].io<<' '<<setw(4)<<v[in[i]].sch<<' '<<setw(3)<<v[in[i]].score<<'\n';
  47.         g.close(); f.close();
  48.     }
  49.     else
  50.         cout<<"ALARM! ALARM! ALARM! FILE NOT FOUND! FATAL ERROR!!!";
  51.     return 0;
  52. }
  53. /*
  54. Input:
  55. Иванов И.И. 2 100
  56. Петров А.В. 3 20
  57. Жарников А.С 4 31
  58. Смирнов И.Н. 12 75
  59. Яковлев М.Ю. 2 100
  60. Тихонов М.М. 2 68
  61. Буянтуева А.Ц. 2 60
  62. Бубеева С.М. 2 55
  63. Звонцов А.А. 33 51
  64. Цветкова А.П. 100 72
  65. Орлов Е.С. 2 77
  66. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement