程序设计语言(VC++)课程设计(学生成绩管理系统_第1页
程序设计语言(VC++)课程设计(学生成绩管理系统_第2页
程序设计语言(VC++)课程设计(学生成绩管理系统_第3页
程序设计语言(VC++)课程设计(学生成绩管理系统_第4页
程序设计语言(VC++)课程设计(学生成绩管理系统_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、题目:学生成绩管理系统基本要求要求用Visual C+语言来实现一个简单的学生成绩管理系统,该系统完成之后,基本上要能够无错运行,能达到学生成绩管理系统的基本要求。各个功能分别使用函数来完成,主函数和各个函数分别存放在不同的.CPP文件中,要求使用头文件。准备系统模拟的数据,不得少于10条。成绩管理程序至少应具备以下功能:输入:学生的基本信息,包括学号.姓名.性别.籍贯. Visual C+成绩.英语成绩.物理成绩等;计算:每个学生的总成绩.平均成绩.所有学生单科的平均成绩,找出总成绩和单科成绩最高的学生并输出;查询:可以按学号.姓名. Visual C+成绩查询4)排序:可以按学号.姓名.

2、Visual C+成绩. 英语成绩.物理成绩.总成绩.平均成绩等进行排序并输出;删除:删除某条记录;帮助和关于;退出:退出整个系统的运行。可以增加更多的菜单项,比如设置颜色.字体风格等。程序如下:#include#includestruct node int num; char name10; char sex10; char jiguan10; float Cscore; float Escore; float Pscore; float sum; float average; node *next;node *create()node *head;node *p,*pend;int a;c

3、har b10;char c10;char f10;float d1,d2,d3;coutabcfd1d2d3;head=0;int i=0;while(inum=a;strcpy(p-name,b);strcpy(p-sex,c);strcpy(p-jiguan,f);p-Cscore=d1;p-Escore=d2;p-Pscore=d3;p-sum=(d1+d2+d3);p-average=(d1+d2+d3)/3;if(head=0)head=p;pend=p;else pend-next=p;pend=p;i+;coutabcfd1d2d3;if(head) pend-next=0;r

4、eturn head;void print(node *head)node *p;float m,n,k;p=head;while(p)m+=p-Cscore;n+=p-Escore;k+=p-Pscore;p=p-next;m/=3;n/=3;k/=3;node *p1,*p2,*p3,*p4,*p5;p1=p2=p3=p4=p5=head;while(p2) if(p2-sump1-sum) p1=p2;if(p2-Cscorep3-Cscore) p3=p2;if(p2-Escorep4-Escore) p4=p2;if(p2-Pscorep5-Pscore) p5=p2;p2=p2-n

5、ext; cout总成绩最高的学生:;coutnumtnametsextjiguantCscoretEscoretPscoreendl;coutC+成绩最高的学生:;coutnumtnametsextjiguantCscoretEscoretPscoreendl;cout英语成绩最高的学生:;coutnumtnametsextjiguantCscoretEscoretPscoreendl;cout物理成绩最高的学生:;coutnumtnametsextjiguantCscoretEscoretPscorenum=data)m=1;while(p-next&p-num!=0)p=p-next;i

6、f(p-num=data) m=1;if(m=1) coutnumtnametsextjiguantCscoretEscoretPscoreendl;else cout查询失败name,n)=0) m=1;while(p-next&(p-name,n)!=0)p=p-next;if(strcmp(p-name,n)=0) m=1; if(m=1) coutnumtnametsextjiguantCscoretEscoretPscoreendl;else cout查询失败next!=0) p1=p; p2=p-next;while(p2!=0)if(p2-numnum)p1=p2;p2=p2-n

7、ext;if(p!=p1) int r;char x10;float s,t,i,j,h; r=p-num;strcpy(x,p-name);s=p-Cscore;t=p-Escore; i=p-Pscore; j=p-sum; h=p-average; p-num=p1-num; strcpy(p-name,p1-name); p-Cscore=p1-Cscore; p-Escore=p1-Escore; p-Pscore=p1-Pscore; p-sum=p1-sum; p-average=p1-average; p1-num=r; strcpy(p1-name,x); p1-Cscore

8、=s; p1-Escore=t; p1-Pscore=i; p1-sum=j; p1-average=h;p=p-next; return head;node *sort2(node *head) node *p=head,*p1,*p2; while(p-next!=0) p1=p; p2=p-next;while(p2!=0) if(strcmp(p2-name,p1-name)next;if(p!=p1) int r;char x10;float s,t,i,j,h; r=p-num; strcpy(x,p-name); s=p-Cscore; t=p-Escore; i=p-Pscor

9、e; j=p-sum; h=p-average; p-num=p1-num; strcpy(p-name,p1-name); p-Cscore=p1-Cscore; p-Escore=p1-Escore; p-Pscore=p1-Pscore; p-sum=p1-sum; p-average=p1-average; p1-num=r; strcpy(p1-name,x); p1-Cscore=s; p1-Escore=t; p1-Pscore=i; p1-sum=j; p1-average=h;p=p-next; return head;node *sort3(node *head) node

10、 *p=head,*p1,*p2; while(p-next!=0) p1=p; p2=p-next;while(p2!=0) if(p2-CscoreCscore) p1=p2; p2=p2-next;if(p!=p1) int r;char x10;float s,t,i,j,h; r=p-num; strcpy(x,p-name); s=p-Cscore; t=p-Escore; i=p-Pscore; j=p-sum; h=p-average; p-num=p1-num; strcpy(p-name,p1-name); p-Cscore=p1-Cscore; p-Escore=p1-E

11、score; p-Pscore=p1-Pscore; p-sum=p1-sum; p-average=p1-average; p1-num=r; strcpy(p1-name,x); p1-Cscore=s; p1-Escore=t; p1-Pscore=i; p1-sum=j; p1-average=h;p=p-next; return head; p=head;node *sort4(node *head) node *p=head,*p1,*p2; while(p-next!=0) p1=p; p2=p-next;while(p2!=0) if(p2-EscoreEscore) p1=p

12、2; p2=p2-next;if(p!=p1) int r;char x10;float s,t,i,j,h; r=p-num; strcpy(x,p-name); s=p-Cscore; t=p-Escore; i=p-Pscore; j=p-sum; h=p-average; p-num=p1-num; strcpy(p-name,p1-name); p-Cscore=p1-Cscore; p-Escore=p1-Escore; p-Pscore=p1-Pscore; p-sum=p1-sum; p-average=p1-average; p1-num=r; strcpy(p1-name,

13、x); p1-Cscore=s; p1-Escore=t; p1-Pscore=i; p1-sum=j; p1-average=h;p=p-next; return head;node *sort5(node *head) node *p=head,*p1,*p2; while(p-next!=0) p1=p; p2=p-next;while(p2!=0) if(p2-PscorePscore) p1=p2; p2=p2-next;if(p!=p1) int r;char x10;float s,t,i,j,h; r=p-num; strcpy(x,p-name); s=p-Cscore; t

14、=p-Escore; i=p-Pscore; j=p-sum; h=p-average; p-num=p1-num; strcpy(p-name,p1-name); p-Cscore=p1-Cscore; p-Escore=p1-Escore; p-Pscore=p1-Pscore; p-sum=p1-sum; p-average=p1-average; p1-num=r; strcpy(p1-name,x); p1-Cscore=s; p1-Escore=t; p1-Pscore=i; p1-sum=j; p1-average=h;p=p-next; return head;node *so

15、rt6(node *head) node *p=head,*p1,*p2; while(p-next!=0) p1=p; p2=p-next;while(p2!=0) if(p2-sumsum) p1=p2; p2=p2-next;if(p!=p1) int r;char x10;float s,t,i,j,h; r=p-num; strcpy(x,p-name); s=p-Cscore; t=p-Escore; i=p-Pscore; j=p-sum; h=p-average; p-num=p1-num; strcpy(p-name,p1-name); p-Cscore=p1-Cscore;

16、 p-Escore=p1-Escore; p-Pscore=p1-Pscore; p-sum=p1-sum; p-average=p1-average; p1-num=r; strcpy(p1-name,x); p1-Cscore=s; p1-Escore=t; p1-Pscore=i; p1-sum=j; p1-average=h;p=p-next; return head;node *sort7(node *head) node *p=head,*p1,*p2; while(p-next!=0) p1=p; p2=p-next;while(p2!=0) if(p2-averageavera

17、ge) p1=p2; p2=p2-next;if(p!=p1) int r;char x10;float s,t,i,j,h; r=p-num; strcpy(x,p-name); s=p-Cscore; t=p-Escore; i=p-Pscore; j=p-sum; h=p-average; p-num=p1-num; strcpy(p-name,p1-name); p-Cscore=p1-Cscore; p-Escore=p1-Escore; p-Pscore=p1-Pscore; p-sum=p1-sum; p-average=p1-average; p1-num=r; strcpy(

18、p1-name,x); p1-Cscore=s; p1-Escore=t; p1-Pscore=i; p1-sum=j; p1-average=h;p=p-next; return head;void out(node *head) node *p=head; while(p)coutnumtnametsextjiguantCscoretEscoretPscorenext;node *delete_d(node *head ,int g) node *p1,*p2; if (head-num=g) p2=head; head=head-next; delete p2; cout成功删除记录nu

19、m!=g&p2-next!=0) p1=p2;p2=p2-next;if(p2-num=g) p1-next=p2-next; delete p2; cout成功删除记录endl; else cout没有找到要删除的记录endl; return head;void main() cout学生成绩管理统系endl;cout菜单:endl;cout1:输入t2:计算t3:查询t4:排序t5:删除t6:帮助和关于t7:退出endl;int m;coutm;node *head;int k,data,g,f;char n10;switch (m)case 1: cout输入:endl; head=cre

温馨提示

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

评论

0/150

提交评论