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 meccsRow
  9. {
  10.         int fordulo;
  11.         int hazai_gol;
  12.         int vendeg_gol;
  13.         int hazai_felido;
  14.         int vendeg_felido;
  15.         string hazai_neve;
  16.         string vendeg_neve;
  17. };
  18.  
  19. int main() {
  20.  
  21.         ifstream be("meccs.txt");
  22.         if (be.fail()) { cerr << "hiba a fajl megnyitasakor!"; system("pause"); exit(1); }
  23.  
  24.         int db;
  25.         be >> db; // első sorban a mérkőzések száma
  26.         meccsRow mAdat[400]; // max 400 mérkőzés
  27.  
  28.         for (int i = 0; i < db && !be.eof(); i++) {
  29.                 be >> mAdat[i].fordulo;        // a
  30.                 be >> mAdat[i].hazai_gol;      // b
  31.                 be >> mAdat[i].vendeg_gol;     // c
  32.                 be >> mAdat[i].hazai_felido;   // d
  33.                 be >> mAdat[i].vendeg_felido;  // e
  34.                 be >> mAdat[i].hazai_neve;     // nev1
  35.                 be >> mAdat[i].vendeg_neve;    // nev2
  36.         }
  37.         be.close();
  38.         cout << endl;
  39.  
  40.  
  41.         // 2. fel
  42.         cout << "Adja mega keresendo fordulo szamat!\nFordulo: ";
  43.         int fszam;
  44.         cin >> fszam;
  45.         for (int i = 0; i < db; i++) {
  46.                 if (mAdat[i].fordulo == fszam)
  47.                         cout << setw(10) << mAdat[i].hazai_neve << " - " << setw(10) << mAdat[i].vendeg_neve << setw(6) << mAdat[i].hazai_gol << "-" << mAdat[i].vendeg_gol << setw(6) << "(" << mAdat[i].hazai_felido << "-" << mAdat[i].vendeg_felido << ")\n";
  48.         }
  49.  
  50.         cout << "\n\n";
  51.  
  52.         // 3. fel
  53.  
  54.         for (int i = 0; i < db; i++) {
  55.                 if (mAdat[i].hazai_gol > mAdat[i].vendeg_gol && mAdat[i].vendeg_felido > mAdat[i].hazai_felido) {
  56.                         cout << setw(3) << mAdat[i].fordulo << setw(10) << mAdat[i].hazai_neve << "\n";
  57.                 }
  58.  
  59.                 if (mAdat[i].vendeg_gol > mAdat[i].hazai_gol && mAdat[i].hazai_felido > mAdat[i].vendeg_felido) {
  60.                         cout << setw(3) << mAdat[i].fordulo << setw(12) << mAdat[i].vendeg_neve << "\n";
  61.                 }
  62.         }
  63.  
  64.  
  65.         // 4. fel
  66.         string csapat;
  67.         cout << "Adjon meg egy csapatnevet!\nCsapatnev: ";
  68.         cin >> csapat;
  69.  
  70.         // 5. fel
  71.         int lott = 0, kapott = 0;
  72.         for (int i = 0; i < db; i++) {
  73.                 if (mAdat[i].hazai_neve == csapat) {
  74.                         lott += mAdat[i].hazai_gol;
  75.                         kapott += mAdat[i].vendeg_gol;
  76.                 }
  77.  
  78.                 if (mAdat[i].vendeg_neve == csapat) {
  79.                         lott += mAdat[i].vendeg_gol;
  80.                         kapott += mAdat[i].hazai_gol;
  81.                 }
  82.         }
  83.         cout << setw(12) << csapat << ":" << setw(8) << "Lott: " << lott << setw(10) << "Kapott: " << kapott << "\n\n";
  84.  
  85.  
  86.         // 6. fel
  87.         int ford = 0;
  88.         for (int i = 0; i < db && ford == 0; i++) {
  89.                 if ((mAdat[i].hazai_neve == csapat) && (mAdat[i].hazai_gol < mAdat[i].vendeg_gol)) {
  90.                         ford = mAdat[i].fordulo;
  91.                 }
  92.         }
  93.         if (ford == 0) {
  94.                 cout << "A csapat otthon veretlen maradt.\n";
  95.         }
  96.         else {
  97.                 cout << "A " << ford << " forduloban kapott ki eloszor.\n";
  98.         }
  99.  
  100.         // 7. fel
  101.         ofstream ki("stat.txt");
  102.         int seged1, seged2, j, db2;
  103.         for (int i = 0; i < db; i++) {
  104.                 seged1 = mAdat[i].hazai_gol;
  105.                 seged2 = mAdat[i].vendeg_gol;
  106.                 db2 = 1;
  107.                 for (int j = i; j < db; j++) {
  108.                         if ((seged1 != -1) && (seged1 == mAdat[j].hazai_gol && seged2 == mAdat[j].vendeg_gol) || (seged1 == mAdat[j].vendeg_gol && seged2 == mAdat[j].hazai_gol)) {
  109.                                 db2++;
  110.                                 mAdat[j].hazai_gol = -1;
  111.                         }
  112.                 }
  113.                 if (seged1 != -1) {
  114.                         ki << seged1 << "-" << seged2 << ": " << db2 << " darab\n";
  115.                 }
  116.         }
  117.         ki.close();
  118.  
  119.         system("pause");
  120.  
  121.  
  122. }