#include <iostream>
#include <string>
using namespace std;
struct veriler
{
string name;
string surname;
double vize_grade;
double final_grade;
double ortalama;
string status;
}ogrenci[255];
double sinif_ortalamasi = 0;
int main()
{
for (int i = 1; i <6; i++)
{
printf("%d. siradaki ogrenci bilgilerini giriniz: \n",i);
cout << "Isim : ";
getline(cin, ogrenci[i].name);
cout << "Soyisim : ";
getline(cin, ogrenci[i].surname);
cout << "Vize notu : ";
cin >> ogrenci[i].vize_grade;
cout << "Final notu : ";
cin >> ogrenci[i].final_grade;
cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); //getline bug fix xd
ogrenci[i].ortalama = ((ogrenci[i].vize_grade / 100) * 40) + ((ogrenci[i].final_grade / 100) * 60);
cout << &endl;
}
for (int i = 1; i < 6; i++) //sinif ortalaması hesaplaması
{
sinif_ortalamasi = sinif_ortalamasi + ogrenci[i].ortalama;
}
sinif_ortalamasi = sinif_ortalamasi / 5;
for (int i = 1; i < 6; i++) //ögrenciler geçti mi kaldı mı ?
{
if (ogrenci[i].final_grade >= 50.0f && (ogrenci[i].ortalama > sinif_ortalamasi))
ogrenci[i].status = "GECTI";
else
ogrenci[i].status = "KALDI";
}
printf("Sinif ortalamasi = %f, buna gore herbir ogrencinin gecti-kaldi durumu asagida verilmektedir. \n",sinif_ortalamasi);
for (int i = 1; i < 6; i++)
{
printf("%s %s : Ortalamasi = %f, Durumu = %s \n", ogrenci[i].name.c_str(), ogrenci[i].surname.c_str(), ogrenci[i].ortalama, ogrenci[i].status.c_str());
}
system("pause");
}