ai chạy rồi fix giúp em với, bị lỗi ở 2 chỗ. 1 là k định dạng được dữ liệu,2 là chỗ hàm xuất 1 sinh viên.
#include <stdio.h>
struct sinhvien
{
char hoten[30];
int mssv;
float toan,li,hoa;
}sv;
void nhap1sv(sinhvien sv)
{
printf("Nhap ho ten: ");
fflush(stdin);
gets(sv.hoten);
printf("Nhap MSSV: ");
scanf("%d",&sv.mssv);
fflush(stdin);
printf("Nhap diem toan: ");
scanf("%d",&sv.toan);
fflush(stdin);
printf("Nhap diem li: ");
scanf("%d",&sv.li);
fflush(stdin);
printf("Nhap diem hoa: ");
scanf("%d",&sv.hoa);
fflush(stdin);
}
void nhapnsv(sinhvien sv[],int n)
{
for(int i=1;i<=n;i++)
{
printf("Nhap sinh vien thu %d.",i);
nhap1sv(sv[i]);
}
}
void tieude()
{
printf("%-20s %-10s %-10s %-10s %-10s\n","HoTen","MSSV","DiemToan","DiemLi","DiemHoa");
}
void xuat1sv(sinhvien sv)
{
printf("%-20s %-10d %-10f %-10f %-10f\n",sv.hoten,sv.mssv,sv.toan,sv.li,sv.hoa);
}
void xuatnsv(sinhvien sv[],int n)
{
for(int i=1;i<=n;i++)
{
xuat1sv(sv[i]);
}
}
void them1sv(sinhvien sv[],int n)
{
printf("Them 1 sinh vien.\n");
nhap1sv(sv[n]);
n++;
}
int main(int argc, char *argv[])
{
printf("1.Nhap 1 sinh vien.\n");
printf("2.Nhap n sinh vien.\n");
printf("3.Xuat 1 sinh vien.\n");
printf("4.Xuat n sinh vien.\n");
printf("5.Them 1 sinh vien.\n");
int chon;
int n;
sinhvien sv[40];
switch(chon)
{
case 1:nhap1sv(sv);break;
case 2:nhapnsv(sv,n);break;
case 3:xuat1sv(sv);break;
case 4:xuatnsv(sv,n);break;
case 5:them1sv(sv,n);break;
}
return 0;
}