Struct-Quản Lí Học Sinh sử dụng hàm Cấu trúc
Mon Nov 12, 2012 5:33 pm
Đề bài: Cho lớp học gồm n học sinh (N<=50). Hãy viết chương trình nhập, xuất Danh sách học sinh, điểm trung bình cho từng học sinh, và đếm xem có bao nhiêu học sinh được lên lớp, dựa trên điểm trung bình (>=5.0 thì được lên lớp).
Nguồn: Cao Bằng
Sv Khoa CNTT DH BR-VT
GV: Ths.Nguyễn Thị Hà
- Code:
#include<stdio.h>
#include<conio.h>
struct date
{ char thu[5];
unsigned char ngay;
unsigned char thang;
int nam;
};
typedef struct HOCSINH
{ char mshs[6];
char hoten[30];
struct date ngaysinh;
char diachi[20];
unsigned char gioitinh[20];
float diemtb;
};
void nhapnamsinh(date &d)
{ printf("\n nhap vao ngay:");
scanf("%u",&d.ngay);
printf("\n nhap vao thang:");
scanf("%u",&d.thang);
printf("\n nhap vao nam :");
scanf("\%d",&d.nam);
}
void xuatnamsinh(date d)
{
printf("\n %02u/%02u/%4d",d.ngay,d.thang,d.nam);
}
void nhap1hs(HOCSINH &hs)
{ float d;
flushall();
printf("\n nhap vao ma so sinh vien:");
gets(hs.mshs);
printf("\n nhap ho ten sinh vien:");
gets(hs.hoten);
printf("\n nhap ngay thang nam sinh:");
flushall();
nhapnamsinh(hs.ngaysinh);
printf("\nnhap vao dia chi:");
flushall();
gets(hs.diachi);
printf("\n phai:");
gets(hs.gioitinh);
flushall();
printf("\n nhap diem trung binh:");
scanf("%f",&d);hs.diemtb=d;
}
void nhapdshs(HOCSINH lh[], int & n)
{ printf("\n nhap vao so luong hoc sinh:");
scanf("%d",&n);
for(int i=0; i<n;i++)
{ printf("\n nhap vao thong tin cua hoc sinh thu %d",i+1);
nhap1hs(lh[i]);
}
}
void xuat1hs(HOCSINH hs)
{
flushall();
printf("\n ma so hoc sinh:%s",hs.mshs);
printf("\n ho ten hoc sinh:%s",hs.hoten);
printf("\n ngay thang nam sinh:") ;
xuatnamsinh(hs.ngaysinh);
printf("\n dia chi :%s",hs.diachi);
printf("\n phai :%s",hs.gioitinh);
printf("\n diem trung binh :%f",hs.diemtb);
}
void xuatdshs(HOCSINH lh[],int n)
{
for(int i=0 ; i<n; i++)
{ printf("\n\n thong tin hoc sinh thu %d",i+1);
xuat1hs(lh[i]);
}
}
int demhslenlop(HOCSINH lh[], int n)
{ int d=0;
for(int i=0; i<n; i++)
{if (lh[i].diemtb>=5)
d++;}
return d;
}
void main()
{ clrscr();
HOCSINH lh[50];
int n,sohsdau;
nhapdshs(lh,n);
xuatdshs(lh,n);
sohsdau=demhslenlop(lh,n);
printf("\n so luong hoc sinh duoc len lop:%d",sohsdau);
getch();
}
Nguồn: Cao Bằng
Sv Khoa CNTT DH BR-VT
GV: Ths.Nguyễn Thị Hà
Permissions in this forum:
Bạn không có quyền trả lời bài viết