BT struct

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Duy Tuong
Ngày gửi: 00h:02' 20-01-2008
Dung lượng: 27.5 KB
Số lượt tải: 18
Nguồn:
Người gửi: Duy Tuong
Ngày gửi: 00h:02' 20-01-2008
Dung lượng: 27.5 KB
Số lượt tải: 18
Số lượt thích:
0 người
Bài tập dữ liệu kiểu struct
Bài 1: Viết chương trình
1/Khai báo struct có tên bangdiem gồm các thuộc tính:
Số danh bộ
Họ và tên
Toán
Lý
Hóa
Văn
Trung bình
Xếp loại
2/ viết thủ tục nhập dữ liệu cho một học sinh thuộc kiểu struct
void nhapdiem(bangdiem & hs);
3/ Viết thủ tục :void sapxep(int spt, bangdiem *bd)
Để sắp xếp mảng bd (mỗi phần tử của mảng thuộc kiểu struct phieudiem) theo thứ tự không tăng của trung bình
3/ trong hàm main: viết chương trình thực hiện các công việc sau
nhập số n(1<=n<=10)
Gọi thủ tục đã khai báo ở trên để nhập liệu cho một mảng gồm n học sinh (thuộc kiểu struct bangdiem)
Sắp xếp mảng vừa nhập theo thứ tự không tăng của trung bình
In thông tin của các học sinh trên lên màn hình
# include
#include
# include
typedef struct
{ char sdb[10];
char hoten[30];
float T,L,H,V, TB;
char xl[10];
}bangdiem;
bangdiem bd[30]; bangdiem hs;
void nhapdiem(bangdiem &hs);
Void sapxep(int spt,bangdiem *bd);
void indiem(bangdiem hs);
void main()
{ int n,i;
do
{ printf(“ nhap n trong khoang tu 1 den 30”);
scanf(“%d”,&n);
} while (n<1 || n>30);
for(i=0;isapxep(int spt,bd);clrscr();
for(i=0;ivoid nhapdiem(bangdiem &hs)
{ bangdiem T,float tam;
fflush(stdin);
puts(“nhap so danh bo”);get(T.sdb);
puts(“nhap ho ten”);get(T.hoten);
do
{ printf(“nhap diem toan”);
scanf(“%f”,&tam);
}while(tam<0 ||tam>10));
T.t=tam;
do
{ printf(“nhap diem ly”);
scanf(“%f”,&tam);
}while(tam<0 ||tam>10));
T.l=tam;
do
{ printf(“nhap diem hoa”);
scanf(“%f”,&tam);
}while(tam<0 ||tam>10));
T.h=tam;
do
{ printf(“nhap diem van”);
scanf(“%f”,&tam);
}while(tam<0 ||tam>10));
T.v=tam;
T.tb=(T.t+T.l+T.h+T.v)/4;
if(T.tb>=8.0) strcpy(T.xl,”gioi”);
else if(T.tb>=6.5) strcpy(T.xl,“kha”);
else if(T.tb>=5.0) strcpy(T.xl,“t_binh”);
else strcpy(T.xl,“yeu”);
Hs=T;
}
void indiem(bangdiem hs)
{printf(“ %10s %30s %5.1f %5.1f %5.1f %5.1f %10s”,hs.sdb,hs.hoten,hs.toan,hs.ly,hs.hoa ,hs.tb,hs.xl);
}
void sapxep(int spt,bangdiem *bd)
{ int I,j;bangdiem tam;
for(i=0;i for(j=i+I;j if(bd[i].tb {
tam=bd[i];
bd[i]=bd[j];
bd[j]=tam;
}
Bài 1: Viết chương trình
1/Khai báo struct có tên bangdiem gồm các thuộc tính:
Số danh bộ
Họ và tên
Toán
Lý
Hóa
Văn
Trung bình
Xếp loại
2/ viết thủ tục nhập dữ liệu cho một học sinh thuộc kiểu struct
void nhapdiem(bangdiem & hs);
3/ Viết thủ tục :void sapxep(int spt, bangdiem *bd)
Để sắp xếp mảng bd (mỗi phần tử của mảng thuộc kiểu struct phieudiem) theo thứ tự không tăng của trung bình
3/ trong hàm main: viết chương trình thực hiện các công việc sau
nhập số n(1<=n<=10)
Gọi thủ tục đã khai báo ở trên để nhập liệu cho một mảng gồm n học sinh (thuộc kiểu struct bangdiem)
Sắp xếp mảng vừa nhập theo thứ tự không tăng của trung bình
In thông tin của các học sinh trên lên màn hình
# include
#include
# include
typedef struct
{ char sdb[10];
char hoten[30];
float T,L,H,V, TB;
char xl[10];
}bangdiem;
bangdiem bd[30]; bangdiem hs;
void nhapdiem(bangdiem &hs);
Void sapxep(int spt,bangdiem *bd);
void indiem(bangdiem hs);
void main()
{ int n,i;
do
{ printf(“ nhap n trong khoang tu 1 den 30”);
scanf(“%d”,&n);
} while (n<1 || n>30);
for(i=0;i
for(i=0;i
{ bangdiem T,float tam;
fflush(stdin);
puts(“nhap so danh bo”);get(T.sdb);
puts(“nhap ho ten”);get(T.hoten);
do
{ printf(“nhap diem toan”);
scanf(“%f”,&tam);
}while(tam<0 ||tam>10));
T.t=tam;
do
{ printf(“nhap diem ly”);
scanf(“%f”,&tam);
}while(tam<0 ||tam>10));
T.l=tam;
do
{ printf(“nhap diem hoa”);
scanf(“%f”,&tam);
}while(tam<0 ||tam>10));
T.h=tam;
do
{ printf(“nhap diem van”);
scanf(“%f”,&tam);
}while(tam<0 ||tam>10));
T.v=tam;
T.tb=(T.t+T.l+T.h+T.v)/4;
if(T.tb>=8.0) strcpy(T.xl,”gioi”);
else if(T.tb>=6.5) strcpy(T.xl,“kha”);
else if(T.tb>=5.0) strcpy(T.xl,“t_binh”);
else strcpy(T.xl,“yeu”);
Hs=T;
}
void indiem(bangdiem hs)
{printf(“ %10s %30s %5.1f %5.1f %5.1f %5.1f %10s”,hs.sdb,hs.hoten,hs.toan,hs.ly,hs.hoa ,hs.tb,hs.xl);
}
void sapxep(int spt,bangdiem *bd)
{ int I,j;bangdiem tam;
for(i=0;i
tam=bd[i];
bd[i]=bd[j];
bd[j]=tam;
}
 








Các ý kiến mới nhất