#include <iostream>
#include <time.h>
using namespace std;
struct Player_Data {
char vezeteknev[32];
int mezszam, magassag, dobott_pont;
};
void finishMatch(Player_Data *Csapat_A, int Letszam_A, Player_Data *Csapat_B, int Letszam_B){
int A_Csapat_Pontok = 0, B_Csapat_Pontok = 0, Legjobb_A_Jatekos_Id, Legjobb_B_Jatekos_Id;
//Feltételezzük, hogy az első játékos a legjobb
Legjobb_A_Jatekos_Id = 0;
//Kiszamoljuk a pontszamat az A csapatnak, illetve megkeressük a legjobb játékost is
for(int i = 0; i < Letszam_A; i++){
//Pont kiszámítás
A_Csapat_Pontok += Csapat_A[i].dobott_pont;
//Minden játékosnál leellenörizzük, hogy a dobott pontja nagyobb-e mint a legjobb játékosnak.
//Ha igen, akkor ő lesz az A csapat legjobb játékos
if(Csapat_A[i].dobott_pont > Csapat_A[Legjobb_A_Jatekos_Id].dobott_pont)
Legjobb_A_Jatekos_Id = i;
}
//Feltételezzük, hogy az első játékos a legjobb
Legjobb_B_Jatekos_Id = 0;
//Kiszamoljuk a pontszamat a B csapatnak, illetve megkeressük a legjobb játékost is
for(int i = 0; i < Letszam_B; i++){
//Pont kiszámítás
B_Csapat_Pontok += Csapat_B[i].dobott_pont;
//Minden játékosnál leellenörizzük, hogy a dobott pontja nagyobb-e mint a legjobb játékosnak.
//Ha igen, akkor ő lesz a B csapat legjobb játékos
if(Csapat_B[i].dobott_pont > Csapat_B[Legjobb_B_Jatekos_Id].dobott_pont)
Legjobb_B_Jatekos_Id = i;
}
//Kiírjuk a végeredményt
cout << "A merkozes vegeredmenye: " << A_Csapat_Pontok << ":" << B_Csapat_Pontok << endl;
if(A_Csapat_Pontok > B_Csapat_Pontok)
cout << "vagyis a merkozest az A csapat nyerte." << endl;
else if(A_Csapat_Pontok < B_Csapat_Pontok)
cout << "vagyis a merkozest a B csapat nyerte." << endl;
else
cout << "vagyis dontetlen" << endl;
cout << endl;
//Kiírjuk a legjobb játékost az A csapatba
cout << "A csapat legjobb dobo: " << Csapat_A[Legjobb_A_Jatekos_Id].vezeteknev << " " << Csapat_A[Legjobb_A_Jatekos_Id].dobott_pont << " pont atlag: " << A_Csapat_Pontok/Letszam_A << " pont" << endl;
cout << endl;
//Kiírjuk az A csapat játékosait, mez számukat és a dobott pontjaikat
cout << "Nev Mezszam Dobott p." << endl;;
for(int i = 0; i < Letszam_A; i++){
cout << Csapat_A[i].vezeteknev << " " << Csapat_A[i].mezszam << " " << Csapat_A[i].dobott_pont << endl;;
}
cout << endl;
//Kiírjuk a legjobb játékost a B csapatba
cout << "B csapat legjobb dobo: " << Csapat_B[Legjobb_B_Jatekos_Id].vezeteknev << " " << Csapat_B[Legjobb_B_Jatekos_Id].dobott_pont << " pont atlag: " << B_Csapat_Pontok/Letszam_B << " pont" << endl;
cout << endl;
//Kiírjuk a B csapat játékosait, mez számukat és a dobott pontjaikat
cout << "Nev Mezszam Dobott p." << endl;;
for(int i = 0; i < Letszam_B; i++){
cout << Csapat_B[i].vezeteknev << " " << Csapat_B[i].mezszam << " " << Csapat_B[i].dobott_pont << endl;;
}
}
int main(){
srand(time(NULL));
Player_Data *Csapat_A; int Letszam_A;
Player_Data *Csapat_B; int Letszam_B;
bool isInputGood;
//Addig olvassuk be az A csapat létszámát, amig 5 és 10 között lesz.
do{
//Feltételezzük, hogy jót fogunk beolvasni
isInputGood = true;
cout << "Az A csapat letszama: ";
cin >> Letszam_A; cout << endl;
if(Letszam_A < 5 || Letszam_A > 10){
cout << "A beirt ertek nem felel meg a kriteriumoknak, kerlek ismeteld meg." << endl;
isInputGood = false;
}
}while(!isInputGood);
//Lefoglaljuk a helyet dinamikusan
Csapat_A = (Player_Data*)calloc(Letszam_A, sizeof(Player_Data));
//Leellenőrízzük, hogy sikerült-e a helyfoglalás
if(!Csapat_A){
cout << "Helyfoglalasi hiba az A csapatnal";
return 0;
}
cout << "Add meg az A csapat jatekosainak adatait:" << endl;
cout << endl;
//Beolvassuk az A csapat játékosait
for(int i = 0; i < Letszam_A; i++){
cout << i+1 << ". jatekos: "<< endl;
cout << "Vezeteknev: "; cin >> Csapat_A[i].vezeteknev; cout << endl;
//Addig olvassuk be a játékos mezszámát, amig 1 és 99 között lesz.
do{
//Feltételezzük, hogy jót fogunk beolvasni
isInputGood = true;
cout << "Mezszam: ";
cin >> Csapat_A[i].mezszam; cout << endl;
if(Csapat_A[i].mezszam < 1 || Csapat_A[i].mezszam > 99){
cout << "A beirt ertek nem felel meg a kriteriumoknak, kerlek ismeteld meg." << endl;
isInputGood = false;
}
}while(!isInputGood);
do{
//Feltételezzük, hogy jót fogunk beolvasni
isInputGood = true;
cout << "Magassag: ";
cin >> Csapat_A[i].magassag; cout << endl;
if(Csapat_A[i].magassag < 165 || Csapat_A[i].magassag > 250){
cout << "A beirt ertek nem felel meg a kriteriumoknak, kerlek ismeteld meg." << endl;
isInputGood = false;
}
}while(!isInputGood);
//0 es 100 között generál a játékosnak egy dobott pontot
Csapat_A[i].dobott_pont = rand() % 101;
cout << "A dobott pont: " << Csapat_A[i].dobott_pont << endl;
cout << endl;
}
cout << endl;
cout << "-----------------------------------------------" << endl;
cout << endl;
//Addig olvassuk be a B csapat létszámát, amig 5 és 10 között lesz.
do{
//Feltételezzük, hogy jót fogunk beolvasni
isInputGood = true;
cout << "A B csapat letszama: ";
cin >> Letszam_B; cout << endl;
if(Letszam_B < 5 || Letszam_B > 10){
cout << "A beirt ertek nem felel meg a kriteriumoknak, kerlek ismeteld meg." << endl;
isInputGood = false;
}
}while(!isInputGood);
//Lefoglaljuk a helyet dinamikusan
Csapat_B = (Player_Data*)calloc(Letszam_B, sizeof(Player_Data));
//Leellenőrízzük, hogy sikerült-e a helyfoglalás
if(!Csapat_B){
cout << "Helyfoglalasi hiba a B csapatnal";
return 0;
}
cout << "Add meg a B csapat jatekosainak adatait:" << endl;
cout << endl;
//Beolvassuk a B csapat játékosait
for(int i = 0; i < Letszam_B; i++){
cout << i+1 << ". jatekos: "<< endl;
cout << "Vezeteknev: "; cin >> Csapat_B[i].vezeteknev; cout << endl;
//Addig olvassuk be a játékos mezszámát, amig 1 és 99 között lesz.
do{
//Feltételezzük, hogy jót fogunk beolvasni
isInputGood = true;
cout << "Mezszam: ";
cin >> Csapat_B[i].mezszam; cout << endl;
if(Csapat_B[i].mezszam < 1 || Csapat_B[i].mezszam > 99){
cout << "A beirt ertek nem felel meg a kriteriumoknak, kerlek ismeteld meg." << endl;
isInputGood = false;
}
}while(!isInputGood);
do{
//Feltételezzük, hogy jót fogunk beolvasni
isInputGood = true;
cout << "Magassag: ";
cin >> Csapat_B[i].magassag; cout << endl;
if(Csapat_B[i].magassag < 165 || Csapat_B[i].magassag > 250){
cout << "A beirt ertek nem felel meg a kriteriumoknak, kerlek ismeteld meg." << endl;
isInputGood = false;
}
}while(!isInputGood);
//0 es 100 között generál a játékosnak egy dobott pontot
Csapat_B[i].dobott_pont = rand() % 101;
cout << "A dobott pont: " << Csapat_B[i].dobott_pont << endl;
cout << endl;
}
cout << endl;
cout << "-----------------------------------------------" << endl;
cout << endl;
//Meghívjuk a függvényt, amely kiírja az eredményeket
finishMatch(Csapat_A, Letszam_A, Csapat_B, Letszam_B);
cout << endl;
return 0;
}