#include<stdio.h>
#include<conio.h>
struct SinhVien
{
char MaSo[20], HoTen[30];
float DiemToan, DiemLy, DiemHoa;
};
typedef struct SinhVien SINHVIEN;
void NhapThongTin(SINHVIEN &);
void XuatThongTin(SINHVIEN);
float TinhDiemTrungBinh(SINHVIEN);
char* XepLoai(SINHVIEN);
void NhapThongTin(SINHVIEN &sv)
{
fflush(stdin);
printf("\nNhap vao ma so: ");
gets(sv.MaSo);
fflush(stdin);
printf("\nNhap vao ho ten: ");
gets(sv.HoTen);
do
{
printf("\nNhap vao diem toan: ");
scanf("%f",&sv.DiemToan);
if(sv.DiemToan < 0 || sv.DiemToan > 10)
{
printf("\nDiem toan khong hop le. Xin kiem tra lai !");
}
}while(sv.DiemToan < 0 || sv.DiemToan > 10);
do
{
printf("\nNhap vao diem ly: ");
scanf("%f",&sv.DiemLy);
if(sv.DiemLy < 0 || sv.DiemLy > 10)
{
printf("\nDiem ly khong hop le. Xin kiem tra lai !");
}
}while(sv.DiemLy < 0 || sv.DiemLy > 10);
do
{
printf("\nNhap vao diem hoa: ");
scanf("%f",&sv.DiemHoa);
if(sv.DiemHoa < 0 || sv.DiemHoa > 10)
{
printf("\nDiem hoa khong hop le. Xin kiem tra lai !");
}
}while(sv.DiemHoa < 0 || sv.DiemHoa > 10);
}
void XuatThongTin(SINHVIEN sv)
{
printf("\nMaSo: %s", sv.MaSo);
printf("\nHoTen: %s", sv.HoTen);
printf("\nDiem Toan: %f", sv.DiemToan);
printf("\nDiem Ly: %f", sv.DiemLy);
printf("\nDiem Hoa: %f", sv.DiemHoa);
printf("\nDiem Trung Binh: %f",TinhDiemTrungBinh(sv));
printf("\nXep loai: %s",XepLoai(sv));
}
float TinhDiemTrungBinh(SINHVIEN sv)
{
return (sv.DiemToan + sv.DiemLy + sv.DiemHoa) / 3;
}
char* XepLoai(SINHVIEN sv)
{
float Dtb = TinhDiemTrungBinh(sv);
if(Dtb < 2)
{
return "Kem";
}
if(Dtb < 5)
{
return "Yeu";
}
if(Dtb < 6)
{
return "Trung Binh";
}
if(Dtb < 7)
{
return "Trung Binh Kha";
}
if(Dtb < 8)
{
return "Kha";
}
if(Dtb < 9)
{
return "Gioi";
}
return "Xuat Sac";
}
int main()
{
SINHVIEN sv1;
NhapThongTin(sv1);
XuatThongTin(sv1);
getch();
return 0;
}