30/09/2018, 18:02
Bài tập struct sinh viên cơ bản chạy không báo lỗi cũng không in ra gì cả
Mọi người xem giúp em hàm void XuatSinhVien(SINHVIEN a[], int n); sai chỗ nào mà sao khi chạy thì nó không báo lỗi và cũng không in ra gì hết.
#include <stdio.h>
#define MAX 100
struct DIEM
{
float toan;
float ly;
float hoa;
};
struct SINHVIEN
{
char mssv[10];
char ten[30];
char ns[20];
DIEM diem;
};
void NhapMotSinhVien(SINHVIEN sv);
void NhapSinhVien(SINHVIEN a[], int &n);
void XuatSinhVien(SINHVIEN a[], int n);
void NhapDiem(DIEM &d);
int main()
{
int n;
SINHVIEN a[MAX];
NhapSinhVien(a, n);
XuatSinhVien(a,n);
return 0;
}
void NhapDiem(DIEM &d)
{
printf("diem toan: ");
scanf("%f", &d.toan);
printf("diem hoa: ");
scanf("%f", &d.hoa);
printf("diem hoa: ");
scanf("%f", &d.hoa);
}
void NhapMotSinhVien(SINHVIEN sv)
{
fflush(stdin);
printf("Ma so sinh vien: ");
gets(sv.mssv);
printf("Ho va Ten: "); fflush(stdin);
gets(sv.ten);
printf("Ngay sinh: "); fflush(stdin);
gets(sv.ns);
NhapDiem(sv.diem);
}
void NhapSinhVien(SINHVIEN a[], int &n)
{
printf("Nhap so luong sinh vien: ");
scanf("%d", &n);
for(int i=0; i<n; i++)
{
printf("Nhap Thong tin sinh vien thu: %d
", i+1);
NhapMotSinhVien(a[i]);
}
}
void XuatSinhVien(SINHVIEN a[], int n)
{
printf(" ----------------THONG TIN SINH VIEN-------------------
");
printf("%-10s %-25s %-15s %7s %7s %7s
", "MSSV", "Ho va Ten", "Ngay Sinh", "Toan", "Ly", "Hoa");
for(int i=0; i<n; i++)
{
printf("%-10s %-25s %-15s ", a[i].mssv, a[i].ten, a[i].ns);
printf("%7.2f %7.2f %7.2f
", a[i].diem.toan, a[i].diem.ly, a[i].diem.hoa);
}
}
Bài liên quan
p/s: code C này compile bằng VC++ thì được. Nhưng compile bằng gcc thì sai nhé.