From aryx, 6 Years ago, written in C++.
Embed
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. #include <iomanip>
  5.  
  6. using namespace std;
  7.  
  8. struct jegyadat
  9. {
  10.         int masodikEvVegiJegy, harmadikEvVegiJegy;
  11.         string nev;
  12. };
  13.  
  14. int main() {
  15.        
  16.         // 1. es 2. feladat
  17.         ifstream be("jegyek.txt");
  18.         if (be.fail()) { cerr << "hiba a fajl megnyitasakor!"; system("pause"); exit(1); }
  19.  
  20.         int db = 0;
  21.         jegyadat jegyek[12];
  22.  
  23.         for (int i = 0; i < 12 && !be.eof(); i++) {
  24.                 be >> jegyek[i].masodikEvVegiJegy;
  25.                 be >> jegyek[i].nev;
  26.                 be >> jegyek[i].harmadikEvVegiJegy;
  27.                 db++;
  28.                 cout << setw(10) << jegyek[i].nev << setw(3) << jegyek[i].masodikEvVegiJegy << setw(3) << jegyek[i].harmadikEvVegiJegy << "\n";
  29.         }
  30.         cout << "\nA csoportba jelenleg " << db << " diak jar.\n";
  31.         be.close();
  32.         cout << endl;
  33.  
  34.  
  35.         // 3. feladat
  36.         double csoportatlagMasodik = 0;
  37.         for (int i = 0; i < db; i++) {
  38.                 csoportatlagMasodik += jegyek[i].masodikEvVegiJegy;
  39.         }
  40.         csoportatlagMasodik = csoportatlagMasodik / db;
  41.         cout << "A masodik ev vegi csoportatlag: " << csoportatlagMasodik << "\n";
  42.  
  43.  
  44.         // 4. feladat
  45.         double csoportatlagHarmadik = 0;
  46.         for (int i = 0; i < db; i++) {
  47.                 csoportatlagHarmadik += jegyek[i].harmadikEvVegiJegy;
  48.         }
  49.         csoportatlagHarmadik = csoportatlagHarmadik / db;
  50.         cout << "A harmadik ev vegi csoportatlag: " << csoportatlagHarmadik << "\n";
  51.         if (csoportatlagMasodik > csoportatlagHarmadik) {
  52.                 cout << "A masodik ev vegi eredmenyek voltak jobbak.";
  53.         }
  54.         else if (csoportatlagHarmadik > csoportatlagMasodik) {
  55.                 cout << "A harmadik ev vegi eredmenyek voltak jobbak.";
  56.         }
  57.         else {
  58.                 cout << "Az ev vegi eredmenyek megegyeznek.";
  59.         }
  60.         cout << "\n\n";
  61.  
  62.  
  63.         // 5. feladat
  64.         int i = 0;
  65.         while (i < db && jegyek[i].harmadikEvVegiJegy != 1 && jegyek[i].masodikEvVegiJegy != 1) {
  66.                 i++;
  67.         }
  68.         if (i < db) cout << "Volt bukas valamelyik evben.\n\n";
  69.  
  70.  
  71.         // 6. feladat
  72.         // itt gondolom a ket jegy atlagat kell venni
  73.         double legjobbatlag = 0;
  74.         string tanulo;
  75.         for (int i = 0; i < db; i++) {
  76.                 if ((jegyek[i].masodikEvVegiJegy + jegyek[i].harmadikEvVegiJegy) / 2 > legjobbatlag) {
  77.                         tanulo = jegyek[i].nev;
  78.                         legjobbatlag = (jegyek[i].masodikEvVegiJegy + jegyek[i].harmadikEvVegiJegy) / 2;
  79.                 }
  80.         }
  81.         cout << "A harmadik ev vegen a legjobb tanulo " << tanulo << " volt, " << legjobbatlag << " atlaggal.\n\n";
  82.  
  83.  
  84.         // 7. feladat
  85.         string temp;
  86.         for (i = 0; i < db - 1; i++) {
  87.                 for (int j = i + 1; j < db; j++) {
  88.                         if (jegyek[i].nev > jegyek[j].nev) {
  89.                                 temp = jegyek[i].nev;
  90.                                 jegyek[i].nev = jegyek[j].nev;
  91.                                 jegyek[j].nev = temp;
  92.                         }
  93.                 }
  94.         }
  95.         for (int i = 0; i < db; i++) {
  96.                 cout << setw(10) << jegyek[i].nev << setw(3) << jegyek[i].masodikEvVegiJegy << setw(3) << jegyek[i].harmadikEvVegiJegy << "\n";
  97.         }
  98.  
  99.  
  100.         // 8. feladat
  101.         ofstream ki("tankor.txt");
  102.         if (ki.fail()) {
  103.                 cout << "nem sikerult megnyitni a tankor.txt-t kiirasra!"; system("pause"); exit(1);
  104.         }
  105.         for (int i = 0; i < db; i++) {
  106.                 ki << setw(10) << jegyek[i].nev << setw(3) << jegyek[i].masodikEvVegiJegy << setw(3) << jegyek[i].harmadikEvVegiJegy << "\n";
  107.         }
  108.         ki.close();
  109.  
  110.         cout << "\n\n";
  111.         system("pause");
  112.  
  113. }