Cho e hỏi sao phần xuất ở sau chỗ MSHS lại có phần tên ạ?
#include<stdio.h>
#include<conio.h>
#include<string.h>
typedef struct Date
{
unsigned char ngay;
unsigned char thang;
int nam;
}Date;
typedef struct HOCSINH
{
char MSHS[8];
char hoten[31];
Date ngaysinh;
float diemtb;
}HS;
void NhapNamSinh(Date *d){
printf("\nNhap vao ngay: ");scanf("%u",&d->ngay);
printf("Nhap vao thang: ");scanf("%u",&d->thang);
printf("Nhap vao nam: ");scanf("%d",&d->nam);
}
void XuatNamSinh(Date d){
printf("%2u/%2u/%4d",d.ngay,d.thang,d.nam);
}
void Nhap1HS(HS *hs){
printf("\nNhap MSHS: ");fflush(stdin);gets(hs->MSHS);
printf("Nhap ho ten: ");fflush(stdin);gets(hs->hoten);
printf("Nhap ngay thang nam sinh: ");
NhapNamSinh(&hs->ngaysinh);
printf("Nhap diem tb: ");scanf("%f",&hs->diemtb);
}
void NhapDSHS(HS hs[],int n){
for(int i=1;i<=n;i++){
printf("\nNhap vao thong tin hoc sinh thu %d: ",i);
Nhap1HS(&hs[i]);
}
}
void Xuat1HS(HS hs){
printf("\nMSHS: %s",hs.MSHS);
printf("\nHo va ten: %s",hs.hoten);
printf("\nNgay thang nam sinh: ");XuatNamSinh(hs.ngaysinh);
printf("\nDiem trung binh: %2.2f",hs.diemtb);
}
void XuatDSHS(HS hs[],int n){
for(int i=1;i<=n;i++){
printf("\nTong tin hoc sinh thu %d:",i);
Xuat1HS(hs[i]);
}
}
int main(){
HS hs[50];
int n;printf("Nhap so hoc sinh: ");
scanf("%d",&n);
NhapDSHS(hs,n);
XuatDSHS(hs,n);
}