sau khi nhập ho tên và điểm rồi nhấn enter để tới MENU, khi chon số 2 thì kết quả chạy bị sai mong mọi người giúp đỡ em sửa, em vẫn còn mơ hồ về phần này nên các tiền bối giải thích rõ hơn xí nha à quên em chạy chương trình bằng dev-c++[IMG]images/smilies/thinking.gif[/IMG][IMG]images/smilies/thinking.gif[/IMG][IMG]images/smilies/thinking.gif[/IMG]
Đề bài:
nhập dslk gồm họ tên sv, điểm
tạo menu thực hiện:
1. in ra thang điểm chử (A,B,C...)
2. in ra danh sách sv có điểm A hoặc B
3. tính số sv có điểm A
còn đây là bài làm của em
Mã:
#include <stdio.h>
#include <conio.h>
#include <string.h>
typedef char infor1[30];
typedef float infor2;
struct element
{
infor1 ht;
infor2 diemso;
infor1 diemchu;
element *next;
};
typedef element *List;
List F;
void Create(List &F)
{
F=NULL;
}
void Display(List F)
{
List p;
p=F;
while (p!=NULL)
{
printf("
%5s%5.1f%5s",(*p).ht,(*p).diemso,(*p).diemchu);
p=(*p).next;
}
}
void InsertFirst( List &F, infor1 x, infor2 y,infor1 z)
{
List p;
p=new element;
strcpy((*p).ht,x);(*p).diemso=y;strcpy((*p).diemchu,z);
(*p).next=F;
F=p;
}
main()
{
int c,n;
List p;
infor1 x;
infor2 y;
infor1 z;
Create(F);
printf("Nhap ho ten va diem cua sinh vien:
");
do
{
printf("Ho ten:");fflush(stdin);gets((*p).ht); if(strlen((*p).ht)==0) break;
printf("Diem:");scanf("%f",&(*p).diemso);
if((*p).diemso>=0&&(*p).diemso<4) strcpy((*p).diemchu,"F");
if((*p).diemso>=4&&(*p).diemso<5.5) strcpy((*p).diemchu,"D");
if((*p).diemso>=5.5&&(*p).diemso<7) strcpy((*p).diemchu,"C");
if((*p).diemso>=7&&(*p).diemso<8.5) strcpy((*p).diemchu,"B");
if((*p).diemso>=8.5&&(*p).diemso<=10) strcpy((*p).diemchu,"A");
InsertFirst(F,(*p).ht,(*p).diemso,(*p).diemchu);
} while (1);
do
{
printf("______________MENU_____________
");
printf("1.In ra thang diem chu.
");
printf("2.In ra danh sach sinh vien co diem A hoac B.
");
printf("3.Tinh so sinh vien co diem A.
");
printf("0.Ket thuc.
");
printf("STT Cong viec can lam:");scanf("%d",&c);
switch(c)
{
case 1:
Display(F);
break;
case 2:
p=F;
while (p!=NULL&&((*p).diemso>=7&&(*p).diemso<8.5||(*p).diemso>=8.5&&(*p).diemso<10))
{
printf("
%5s%5.1f%5s",(*p).ht,(*p).diemso,(*p).diemchu);
p=(*p).next;
}
break;
case 3:
while (p!=NULL&&strcpy((*p).diemchu,"F"))
{
n++;
p=(*p).next;
}
printf("So sinh vien dat diem A la:%d",&n);
break;
}
} while(c!=0);
getch();
}
Cảm ơn các bậc tiền bối trước nha [IMG]images/smilies/smile.png[/IMG]
View more random threads:
xã hội vững mạnh, nhu cầu mặc đẹp của con người ngày càng cao. ngành công nghiệp thời trang cũng đang vững mạnh chóng vánh. những nhà máy gia công hàng may mặc chẳng thể đóng góp lặng thầm vào sự...
Tìm xưởng may gia công tại TP Hồ...