#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
using namespace std;
struct jegyadat
{
int masodikEvVegiJegy, harmadikEvVegiJegy;
string nev;
};
int main() {
// 1. es 2. feladat
ifstream be("jegyek.txt");
if (be.fail()) { cerr << "hiba a fajl megnyitasakor!"; system("pause"); exit(1); }
int db = 0;
jegyadat jegyek[12];
for (int i = 0; i < 12 && !be.eof(); i++) {
be >> jegyek[i].masodikEvVegiJegy;
be >> jegyek[i].nev;
be >> jegyek[i].harmadikEvVegiJegy;
db++;
cout << setw(10) << jegyek[i].nev << setw(3) << jegyek[i].masodikEvVegiJegy << setw(3) << jegyek[i].harmadikEvVegiJegy << "\n";
}
cout << "\nA csoportba jelenleg " << db << " diak jar.\n";
be.close();
cout << endl;
// 3. feladat
double csoportatlagMasodik = 0;
for (int i = 0; i < db; i++) {
csoportatlagMasodik += jegyek[i].masodikEvVegiJegy;
}
csoportatlagMasodik = csoportatlagMasodik / db;
cout << "A masodik ev vegi csoportatlag: " << csoportatlagMasodik << "\n";
// 4. feladat
double csoportatlagHarmadik = 0;
for (int i = 0; i < db; i++) {
csoportatlagHarmadik += jegyek[i].harmadikEvVegiJegy;
}
csoportatlagHarmadik = csoportatlagHarmadik / db;
cout << "A harmadik ev vegi csoportatlag: " << csoportatlagHarmadik << "\n";
if (csoportatlagMasodik > csoportatlagHarmadik) {
cout << "A masodik ev vegi eredmenyek voltak jobbak.";
}
else if (csoportatlagHarmadik > csoportatlagMasodik) {
cout << "A harmadik ev vegi eredmenyek voltak jobbak.";
}
else {
cout << "Az ev vegi eredmenyek megegyeznek.";
}
cout << "\n\n";
// 5. feladat
int i = 0;
while (i < db && jegyek[i].harmadikEvVegiJegy != 1 && jegyek[i].masodikEvVegiJegy != 1) {
i++;
}
if (i < db) cout << "Volt bukas valamelyik evben.\n\n";
// 6. feladat
// itt gondolom a ket jegy atlagat kell venni
double legjobbatlag = 0;
string tanulo;
for (int i = 0; i < db; i++) {
if ((jegyek[i].masodikEvVegiJegy + jegyek[i].harmadikEvVegiJegy) / 2 > legjobbatlag) {
tanulo = jegyek[i].nev;
legjobbatlag = (jegyek[i].masodikEvVegiJegy + jegyek[i].harmadikEvVegiJegy) / 2;
}
}
cout << "A harmadik ev vegen a legjobb tanulo " << tanulo << " volt, " << legjobbatlag << " atlaggal.\n\n";
// 7. feladat
string temp;
for (i = 0; i < db - 1; i++) {
for (int j = i + 1; j < db; j++) {
if (jegyek[i].nev > jegyek[j].nev) {
temp = jegyek[i].nev;
jegyek[i].nev = jegyek[j].nev;
jegyek[j].nev = temp;
}
}
}
for (int i = 0; i < db; i++) {
cout << setw(10) << jegyek[i].nev << setw(3) << jegyek[i].masodikEvVegiJegy << setw(3) << jegyek[i].harmadikEvVegiJegy << "\n";
}
// 8. feladat
ofstream ki("tankor.txt");
if (ki.fail()) {
cout << "nem sikerult megnyitni a tankor.txt-t kiirasra!"; system("pause"); exit(1);
}
for (int i = 0; i < db; i++) {
ki << setw(10) << jegyek[i].nev << setw(3) << jegyek[i].masodikEvVegiJegy << setw(3) << jegyek[i].harmadikEvVegiJegy << "\n";
}
ki.close();
cout << "\n\n";
system("pause");
}