C语言程序设计课程设计大作业-学生成绩管理系统_第1页
C语言程序设计课程设计大作业-学生成绩管理系统_第2页
C语言程序设计课程设计大作业-学生成绩管理系统_第3页
C语言程序设计课程设计大作业-学生成绩管理系统_第4页
C语言程序设计课程设计大作业-学生成绩管理系统_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C 语言程序设计课程设计大作业- 学生成绩管理系统计算机科学学院计算机科学与应用系C程序设计报告成绩管理系统设计学生姓名:* *学号 :1004681082班级 : 计 科 102指导老师:* *报告日期:2011-02-161) 题目与要求1)问题提出本人计划编写一个学生信息管理系统,主要用来管理学生基本信息及成绩信息。2) 本系统涉及的知识点单链表、结构体、函数、循环、指针、选择3) 功能要求(1) 建立学生信息,每个学生的信息包括: 学号、姓名、成绩。(2) 求出每个学生的总分和平均分。(3) 查找: 根据学号、姓名、成绩、总分、平均分中任一项查询该生的基本信息。(4) 排序: 根据学号

2、或总分将学生的信息按照一定的顺序进行排序。(5) 根据需要修改学生的基本信息。(6) 根据实际情况删除某生的信息。(7) 根据实际情况插入某生的信息。(8) 输出。2. 功能设计1)算法设计(1) 利用 switch 语句设计如图所示的主菜单。请输入选项编号1查找2排序3学生信息的修改4链表的删除5链表的插入6链表的输出7退出图 1 学生信息管理系统主菜单(2) 选择1 后,调用查找函数search ,进入查找函数后利用switch 语句实现如图所示的查找子菜单。该菜单中每个选项调用一个函数( 除选项 10 外 ) 。查找菜单请输入选项编号1按学号查找2按姓名查找3按C语言分数查找4按高数分数

3、查找5按英语分数查找6按总分查找7按平均分查找8总分前三名9不及格者10班级成绩情况11退出图 2 查找子菜单(3) 选项 2 后, 调用排序函数arrange ,进入查找函数后利用switch 语句实现如图所示的查找子菜单。该菜单中每个每个选项调用一个函数( 除 3 外 ) 。排序菜单输入选项编号1按学号排序2按总分排序3退出图 3 排序子菜单(4) 选择 3 后,调用修改函数correct ,修改某个学生的信息。(5) 选择 4后,调用删除函数del ,根据需要删除某个学生的信息。(6) 选择 5 后,调用插入函数insert ,根据需要插入某个学生的信息。(7) 选择 6 后,调用输出函

4、数output ,将每个学生的信息全部输出。(8) 选择 7 后,退出学生信息管理系统。(9) 根据所选菜单编号编写相应代码。(a)函数welcome:欢迎用户使用。(b) 函数about: 简要介绍本程序。(c) 函数create: 创建单链表, 采用循环输入的方式输入学生的基本信息。(d)SnoSearch: 根据学号查找,输出该生的基本信息。(e)函数 NameSearch根据姓名查找,输出该生的基本信息。函数CYuYanSearch根据C语言成绩成绩查 找,输出该生的基本信息。(g)函数GaoShuSearch根据高数成绩查找,输出该生 的基本信息。(h) 函数 YingYuSearc

5、h: 根据英语成绩查找,输出该生的基本信息。(i)函数ZongFenSearch:根据总分查找,输出该生的基本信息。 (j)函数 AverageSearch:根据平均分查找,输出该生的基本信息。k)函数QSMSearch查看班级前三名学生信息情况。(l) 函数 BuJiGeSearch: 查看班级不及格学生信息情况。成绩菜单输入选项编号1 C 语言不及格者2高数不及格者3英语不及格者4不及格者5全不及格者6退出图 4 成绩子菜单(m)函数ClassScore:查看班级成绩平均分整体情况。(n) 函数 SnoArrange: 按照学号将学生信息进行排序。(o) 函数ZongFenArrange:

6、 按照总分将学生信息进行排序。(n) 函数 over: 感谢用户使用。2) 画模块图r -rp_, 、/一显示按学欢迎号查界面找显示按姓程序名查按C介绍找语言不及输 入 按成格者绩查查 找成绩找查找按总按高分查数不排序找及格者查 主 找 模修改按平块 学生均分信息查找按英语不删除按前及格学生三名者查 信 息 查 找 找插入按不学生及格按不信 息 查 找 及格者查输出按学找学生号排信息序按全显示按总不及结束分排格者界 面 序 查 找图 5 成绩管理系统模块图3) 画部分模块的流程图开始输入学生信息pnew->score=pnew->score1+pnew->score2+pne

7、w->score3;pnew->avg=pnew->score/3a=pnew->snoN Yp->next=NULL输入学生信息结束pnew->score=pnew->score1+pnew->score2+pnew->score3;pnew->avg=pnew->score/3图6 creat函数流程图开始输入at+t=num+1YNp=p->next a=p->snoNY输出学生信息结束图7 SnoSearch函数流程图开始输入bt=0;flag=0;p=head;t+Y Nt=num+1Yflag=0 k=0

8、NN Y结束flag=1输出学生信息p=p->next图8 NameSearch函数流程图开始s=0;r=0;w=0;t=0m=0;n=0;p=head;N Y s!=nums+ p=head;s=0N Y t<p->score s!=numNY s+t=p->scoret=p->scorep=p->next NY输出学生信息p=head p=p->next结束图9 QSMSearch函数流程图开始p=head输入bNa=1Y Na>1&&a<num n=1Y a=num head=head->next n=2 N Y

9、n=3 i=0j=0 Ni!=a-2 Nj!=a-2 Yp=p->next Yp=p->nexti+j+p->next=NULL p->next=p->next->nextnum=num-1结束图10 del函数流程图3. 程序代码设计1 .main 函数 :(1) 函数原型:void main()(2) 功能 : 分别调用welcome 函数、 about 函数、 create 函数、 search 函数、del 函数、 insert 函数、 output函数和 over 函数。(3) 变量及类型: (int m,n; /switch 选择变量(4) 说明

10、 :main 函数中用到system("cls") ,其作用是清除屏幕上的文字。2 .welcome 函数 :(1) 函数原型:voidwelcome()(2) 功能: 显示欢迎用户使用界面。(3) 说明:getchar()函数用于使屏幕停止,按下Enter键后再执行下面程序。3 .about 函数 :(1) 函数原型:voidabout() (2) 功能: 简要介绍本程序。(3) 说明:getchar()函数用于使屏幕停止,按下Enter键后再执行下面程序。4 .create 函数 :(1) 函数原型:voidcreate()(2) 功能 : 利用单链表、while 循环

11、和 scanf 函数完成对学生信息的输入( 学号、姓名、三门成绩) ,并计算出总分和平均分,再存入单链表中。(3) 变量及类型:int a=0; / 判断学生信息输入是否结束( 学号是否为0)struct student *p,*pnew; / 结构体指针指向结点(4) 说明: 学生的人数不受限制,输入结束符号即可。5.search 函数 :(1) 函数原型:void search()(2) 功能: 通过选项来选择调用不同函数,完成不同的功能。(3) 变量及类型:int m,n; /switch 选择变量6.SnoSearch 函数 :(1) 函数原型:void SnoSearch()(2)

12、功能 : 通过学号来查找该生的基本信息。(3) 变量及类型:int a,t; /a 用来存储学号;t 用来计数,以便跳出循环struct student *p; / 指针 p 用于指向头结点7.NameSearch 函数:(1) 函数原型:void NameSearch() (2) 功能 : 通过姓名来查找该生的基本信息。(3) 变量及类型:int k,t,flag; /k 用于判断;t 用于计数;flag 起标记作用char b20; / 数组 b 用于存放姓名struct student *p; / 指针 p 用于指向头结点8 .CYuYanSearch 函数:(1)函数原型:void C

13、YuYanSearch() (2)功能:通过C语言成绩来查找该生的基本信息。(3) 变量及类型:int t,flag; /t 用于计数;flag 起标记作用float a; /a 用于存放C语言成绩struct student *p; / 指针 p 用于指向头结点9 .GaoShuSearch 函数:(1) 函数原型:void GaoShuSearch() (2) 功能 : 通过高数成绩来查找该生的基本信息。 3) 变量及类型: (int t,flag; /t 用于计数;flag 起标记作用float b; /b 用于存放高数成绩struct student *p; / 指针 p 用于指向头结

14、点10 .YingYuSearch 函数 :(1) 函数原型:void YingYuSearch() (2) 功能 : 通过英语成绩来查找该生的基本信息。 (3) 变量及类型:int t,flag; /t 用于计数;flag 起标记作用float c; /c 用于存放英语成绩struct student *p; /指针 p 用于指向头结点11 .ZongfenSearch 函数:(1) 函数原型:void ZongfenSearch() (2) 功能 : 通过总分来查找该生的基本信息。(3) 变量及类型:int t,flag; /t 用于计数;flag 起标记作用float d; /d 用于存

15、放总分struct student *p; /指针 p 用于指向头结点12.AverageSearch 函数:(1) 函数原型:void AverageSearch() (2) 功能 : 通过平均分来查找该生的基本信息。(3) 变量及类型:int t,flag; /t 用于计数;flag 起标记作用float e; /e 用于存放平均分struct student *p; / 指针 p 用于指向头结点13.QSMSearch 函数:(1) 函数原型:void QSMSearch() (2) 功能 : 显示前三名的基本信息(3) 变量及类型:int s=0,r=0,w=0; /s,r,w 均用做

16、计数float t=0,m=0,n=0; /t,m,n 均用做记录最高分struct student *p; /指针p 用于指向头结点14. BuJiGeSearch 函数:(1) 函数原型:void BuJiGeSearch() (2) 功能 : 通过 switch 选择输出不及格情况。3) 变量及类型: (int n,m,r,s,t,k,h,flag; /n,m为 switch 选择变量;r,s,t,k,h 用做计数 ;flag 起标记作用struct student *p; / 指针 p 用于指向头结点15.ClassScore 函数 :(1) 函数原型:void ClassScore(

17、) (2) 功能 : 查看班级成绩的整体情况。(3) 变量及类型:int i; /i 用于 for 循环float a=0,b=0,c=0,d,e; /a,b,c,d,e 均用于中间变量struct student *p; / 指针 p 用于指向头结点16.arrange 函数 :(1) 函数原型:void arrange() (2) 功能 : 通过选项来选择调用不同函数,完成不同的功能。(3) 变量及类型:int a,m; /a,m均为 switch 选择变量;17.SnoArrange 函数 :(1) 函数原型:void SnoArrange() (2) 功能 : 将学生信息按照学号进行排

18、序。(3) 变量及类型:int a,c,i,j; /a 为 switch 选择变量;c 用于计数;i,j 用于 for 循环struct student *p,*q,*k,*newp,*newhead; / 指针 p,q,k,newp,newhead 均用于创建新链表18.ZongFenArrange 函数 :(1) 函数原型:void ZongFenArrange() (2) 功能 : 将学生信息按照总分进行排序。(3) 变量及类型:int a,c,i,j; /a 为 switch 选择变量;c 用于计数;i,j 用于 for 循环struct student *p,*q,*k,*newp,

19、*newhead; / 指针 p,q,k,newp,newhead 均用于创建新链表19. correct 函数 :(1) 函数原型:void correct()(2) 功能 : 修改某生的信息。(3) 变量及类型:int t,a,b,m,flag; / t 用于计数;a 用于判断;b,m 为 switch 选择变量;flag起标记作用struct student *p; / 指针 p 用于指向头结点20.del 函数 :(1) 函数原型:void del()(2) 功能 : 删除单链表中某生的基本信息。(3) 变量及类型:int a,n,i,j; /a 存放要删除的结点;n 为 switch

20、 选择变量;i,j 用于 for 循环struct student *p; / 指针 p 用于指向头结点21.1 nsert 函数 :(1) 函数原型:void insert()(2) 功能 : 将某生的基本信息插入单链表中。(3) 变量及类型:int a,n,i,j; / a 存放要插入的结点;n 为 switch 选择变量;i,j 用于 for 循环struct student *p,*q; / 指针 p 用于指向头结点; 指针 q 用于指向新生信息的结点22.output 函数 :(1) 函数原型:void output()(2) 功能 : 输出每个学生的基本信息。(3) 变量及类型:i

21、nt s=0; /s 用于计数struct student *p / 指针p 用于指向头结点23.over 函数 :(1) 函数原型:voidover()(2) 功能 : 显示感谢用户使用界面。4.C 程序设计总结1) ) 程序调试情况在编写完程序后,执行时总会出现很多错误,便又重新检查程序,改写程序,再经过不断的调试,最终将程序改写完成。2) 本人在程序中的感想(程序在编写时总是感觉非常难,而且还会出现很多小错误,从而导致出很多麻烦,最终经过耐心检查,才将问题解决。5. 结束语由于本人完成此程序是在家中完成,又无网络可以查询,故只能参考课本,在本人的独立下完成此程序,在此须感谢白燕老师。6.

22、 参考文献1 尹业安 白燕 .C 语言程序设计. 国防科技大学出版社,2008.87. 附录 : 程序清单#include<stdio.h> #include<stdlib.h> #include<string.h> void welcome();void about();void create();void search();void SnoSearch(); void NameSearch(); void CYuYanSearch(); void GaoShuSearch(); void YingYuSearch(); void ZongFenSearc

23、h(); void AverageSearch(); void QSMSearch(); void BuJiGeSearch(); void ClassScore(); void arrange();void SnoArrange(); void ZongFenArrange(); void correct();void del();void insert();void output();void over();struct studentint sno;char name20;float score1;float score2;float score3;float score;double

24、avg;struct student *next;struct student *head;int num=0;void main()int m,n;welcome();about();system("cls"); create();system("cls"); Z: printf("1 查找 n"); printf("2 排序 n");printf("3 学生信息的修改 n"); printf("4 链表的删除 n");printf("5 链表的插入 n"

25、;); printf("6 链表的输出 n"); printf("7退出 n"); scanf("%d",&n); switch(n)case 1:system("cls");search();system("cls");goto Z;case 2:system("cls");arrange();system("cls");goto Z;case 3:system("cls");correct();system("cl

26、s");goto Z;case 4:system("cls");del();system("cls");goto Z;case 5:system("cls");insert();system("cls");goto Z;case 6:system("cls");output();system("cls");goto Z;case 7:system("cls"); F: printf(" 你真的想退出吗n 1 是 2 否 n")

27、;scanf("%d",&m);switch(m)case 1:break;case 2:goto Z;default:system("cls");printf(" 你的输入有误n");goto F;break;default:system("cls");printf(" 你的输入有误n");goto Z;system("cls");over();void welcome()printf("nnn");printf(" 【】【】print

28、f(" | |n");printf(" | 欢迎使用|n");printf(" | |n");printf(" | |n");printf(" | 学 生 成 绩 管 理 系 统 |n");printf(" | |n");printf(" | |n");printf(" | |n");printf(" | 制作人 :* |n");printf(" | 指导老师:* |n");printf(&quo

29、t; | |n");printf(" | |n");printf(" 【】【】getchar();n");n");void about()system("cls");printf("nnn");printf("ttt 关于学生管理系统的说明nnn");printf(" 本程序采用链表和函数编写完成, 主要功能有查找, 链表的删除, 链表的插入和链表的输出.n");printf(" 程序中主要运用链表部分和函数的知识. 程序优点是: 学生人数可以根

30、据实际情况进行更改;n 缺点是: 部分程序过于复杂,程序功能不太齐全;");printf(" 本程序已经经过多次测试,尚未出现问题.nn 若在使用中出现错误,还请谅解!");getchar();void create()int a=0;struct student *p,*pnew;head=pnew=p=(struct student *)malloc(sizeof(struct student);printf(" 请依次输入每位同学的学号, 姓名和 3 门成绩 , 按 0 键结束 n");printf(" 学号 姓名 C 语言 高

31、数 英语 n") ;scanf("%d%s%f%f%f",&pnew->sno,pnew->name,&pnew->score1,&pnew->score2,&pnew->score3);pnew->score=pnew->score1+pnew->score2+pnew->score3; pnew->avg=pnew- >score/3.0;pnew->avg=(double)( (int)(pnew->avg*100)*0.01 ); while(1)

32、num+;p->next=pnew;p=pnew;pnew=(struct student *)malloc(sizeof(struct student);scanf("%d",&pnew->sno);if(a=pnew->sno)break;scanf("%s%f%f%f",pnew->name,&pnew->score1,&pnew->score2,&pnew->score3);pnew->score=pnew->score1+pnew->score2+pne

33、w->score3;pnew->avg=pnew->score/3.0;pnew->avg=(double)( (int)(pnew->avg*100)*0.01 ); p->next =NULL;void search()int m,n;A: printf("1 按学号查找 n");printf("2 按姓名查找 n");printf("3 按C语言分数查找n");printf("4 按高数分数查找 n");printf("5 按英语分数查找 n"); pr

34、intf("6 按总分查找 n");printf("7 按平均分查找 n"); printf("8 总分前三名 n"); printf("9不及格者n"); printf("10 班级成绩情况 n"); printf("11 退出 n");scanf("%d",&n); switch(n)case 1:SnoSearch();goto A;case 2:NameSearch();goto A;case 3:CYuYanSearch();goto A

35、;case 4:GaoShuSearch();goto A;case 5:YingYuSearch();goto A;case 6:ZongFenSearch();goto A;case 7:AverageSearch();goto A;case 8:QSMSearch();goto A;case 9:BuJiGeSearch();goto A;case 10:ClassScore();goto A;case 11:system("cls"); D: printf(" 你真的想退出吗n 1 是 2 否 n");scanf("%d",&

36、amp;m);switch(m)case 1:break;case 2:goto A;default:system("cls");printf(" 你的输入有误n");goto D;break;default:system("cls");printf(" 你的输入有误n");goto A;void SnoSearch() int a,t;struct student *p; system("cls"); printf("请输入学号:");S: scanf("%d&q

37、uot;,&a); t=0;p=head;printf("n学号为d的成绩如下:n",a); printf("学号 姓名C语言 高数英语 总分 平均分 n");while(1)t+;if(t=num+1)system("cls");printf(" 你输入的学号有误n 请重新输入学号:");goto S;if(a=p->sno)printf("%d %s %.2f%.2f %.2f %.2f %.2lfn",p->sno,p->name,p->score1,p-&

38、gt;score2,p- >score3,p->score,p->avg);break; p=p->next;printf("nnn"); void NameSearch() int k,t,flag;char b20;struct student *p; system("cls");printf(" 请输入姓名:");T: scanf("%s",b); t=0;flag=0;p=head; printf("n姓名为 $的成绩如下 :n",b); printf("

39、; 学号 姓名 C 语言 高数 英语 总分 平均分 n");while(1)t+;if(t=num+1)if(flag=0)system("cls");printf(" 你输入的姓名有误n 请重新输入姓名:");goto T;elsebreak;k=strcmp(p->name,b);if(k=0)flag=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfn",p->sno,p->name,p->score1,p->score2,p->score3,p-&g

40、t;score,p->avg);p=p->next;printf("nnn"); void CYuYanSearch() int t,flag;float a;struct student *p; system("cls");printf(" 请输入C语言成绩:");U: scanf("%f",&a); t=0;flag=0;p=head; printf("nC语言成绩为%.2f 的成 绩如下 :n",a);printf(" 学号 姓名 C 语言 高数 英语 总分

41、平均分 n");while(1)t+;if(t=num+1)if(flag=0)system("cls");printf("你输入的C语言成绩有误n请重新输入C语言成绩:");goto U;elsebreak;if(a=p->score1)flag=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfn",p->sno,p->name,p->score1,p->score2,p->score3,p->score,p->avg);p=p->nex

42、t;printf("nnn"); void GaoShuSearch() int t,flag;float b;struct student *p; system("cls");printf(" 请输入高数成绩:");V: scanf("%f",&b); t=0;flag=0;p=head; printf("n高数成绩为%.2f 的成绩如下 :n",b);printf(" 学号 姓名 C 语言 高数 英语 总分 平均分 n");while(1)t+;if(t=num+

43、1)if(flag=0)system("cls");printf(" 你输入的高数成绩有误n 请重新输入高数成绩:");goto V; else break;if(b=p->score2)flag=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfn",p->sno,p->name,p->score1,p->score2,p- >score3,p->score,p->avg);p=p->next;printf("nnn"); voi

44、d YingYuSearch() int t,flag;float c;struct student *p; system("cls");printf(" 请输入英语成绩:");W: scanf("%f",&c); t=0;flag=0;p=head; printf("n英语成绩为%.2f 的成绩如下 :n",c);printf(" 学号 姓名 C 语言 高数 英语 总分 平均分 n");while(1)t+;if(t=num+1)if(flag=0)system("cls&q

45、uot;);printf(" 你输入的英语成绩有误n 请重新输入英语成绩:");goto W;elsebreak;if(c=p->score3)flag=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfn",p->sno,p->name,p->score1,p->score2,p->score3,p->score,p->avg);p=p->next;printf("nnn"); void ZongFenSearch() int t,flag;floa

46、t d;struct student *p; system("cls");printf(" 请输入总分成绩:");X: scanf("%f",&d); t=0;flag=0;p=head; printf("n总分成绩为%.2f 的成 绩如下 :n",d);printf(" 学号 姓名 C 语言 高数 英语 总分 平均分 n");while(1)t+;if(t=num+1)if(flag=0)system("cls");printf(" 你输入的总分成绩有误n

47、 请重新输入总分成绩:");goto X;elsebreak;if(d=p->score)flag=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfn",p->sno,p->name,p->score1,p->score2,p->score3,p->score,p->avg);p=p->next;printf("nnn"); void AverageSearch() int t,flag;double e;struct student *p; system(&

48、quot;cls");printf(" 请输入平均分成绩:");Y: scanf("%lf",&e); t=0;flag=0;p=head; printf("n平均分为%.2f 的成绩如下 :n",e); printf(" 学号 姓名 C 语言 高数 英语 总分 平均分 n");while(1)t+;if(t=num+1)if(flag=0)system("cls");printf(" 你输入的平均分成绩有误n 请重新输入平均分成绩:");goto Y;el

49、se break; if(e=p->avg)flag=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfn",p->sno,p->name,p->score1,p->score2,p->score3,p->score,p->avg);p=p->next;printf("nnn"); void QSMSearch() int s=0,r=0,w=0; float t=0,m=0,n=0; struct student *p; p=head;system("cls&

50、quot;); while(s!=num)s+;if(t<p->score)t=p->score;p=p->next;printf(" 前三名成绩如下:n"); printf(" 学号 姓名 C 语言 高数 英语 总分平均分 n");p=head;s=0;while(s!=num)s+;if(t=p->score)printf("%d %s %.2f%.2f %.2f %.2f %.2lfn",p->sno,p->name,p->score1,p->score2,p->sco

51、re3,p->score,p->avg);p=p->next;p=head;while(r!=num)r+;if( (m<p->score)&&(p->score<t)!=0 )m=p->score;p=p->next;p=head;r=0;while(r!=num)r+;if(m=p->score)printf("%d %s %.2f%.2f %.2f %.2f %.2lfn",p->sno,p->name,p->score1,p->score2,p->score3,

52、p->score,p->avg);p=p->next;p=head;while(w!=num)w+;if( (n<p->score)&&(p->score<m)!=0 )n=p->score;p=p->next;p=head;w=0;while(w!=num)w+;if(n=p->score)printf("%d %s %.2f%.2f %.2f %.2f %.2lfnnnn",p->sno,p->name,p->score1,p->score2,p->score3,p

53、->score,p->avg);p=p->next;void BuJiGeSearch() int n,m,r,s,t,k,h,flag; struct student *p; system("cls");B: printf("1C语言不及格者n"); printf("2 高数不及格者n");printf("3 英语不及格者 n"); printf("4 不及格者 n");printf("5 全不及格者 n"); printf("6 退出 n&qu

54、ot;);r=0;s=0;t=0;k=0;h=0;flag=0;p=head;scanf("%d",&n);switch(n)case 1:system("cls");printf("C 语言不及格者:n");printf(" 学号 姓名 C 语言 高数 英语 总分 平均分 n");while(r!=num)r+;if(p->score1<60)flag=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfnn",p->sno,p->n

55、ame,p->score1,p->score2,p->score3,p->score,p->avg);p=p->next;if(flag=0)printf("C 语言全部及格n");printf("nnn");goto B;case 2:system("cls");printf(" 高数不及格者:n");printf(" 学号 姓名 C 语言 高数 英语 总分 平均分 n");while(s!=num)s+;if(p->score2<60)flag

56、=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfnn",p->sno,p->name,p->score1,p->score2,p->score3,p->score,p->avg);p=p->next;if(flag=0)printf(" 高数全部及格n");printf("nnn");goto B;case 3:system("cls");printf(" 英语不及格者:n");printf(" 学号 姓

57、名 C 语言 高数 英语 总分 平均分 n");while(t!=num)t+;if(p->score3<60)flag=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfnn",p->sno,p->name,p->score1,p->score2,p->score3,p->score,p->avg);p=p->next;if(flag=0)printf(" 英语全部及格n");printf("nnn");goto B;case 4:s

58、ystem("cls");printf(" 不及格者:n");printf(" 学号 姓名 C 语言 高数 英语 总分 平均分 n");while(k!=num)k+;if( (p->score1<60)|(p->score2<60)|(p->score3<60) )flag=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfnn",p->sno,p->name,p->score1,p->score2,p- >score

59、3,p->score,p->avg);p=p->next;if(flag=0)printf(" 全部及格n");printf("nnn");goto B;case 5:system("cls");printf(" 全不及格者:n");printf(" 学号 姓名 C 语言 高数 英语 总分 平均分 n");while(h!=num)h+;if( (p->score1<60)&&(p->score2<60)&&(p->

60、score3<60) )flag=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfnn",p->sno,p->name,p->score1,p->score2,p->score3,p->score,p->avg);p=p->next;if(flag=0)printf("没有全不及格者n");printf("没有全不及格者nnnn");goto B;case 6:system("cls");C: printf(" 你真的想退出吗n 1 是 2 否 n");scanf("%d&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论