C语言写的学生成绩管理系统(链表)_第1页
C语言写的学生成绩管理系统(链表)_第2页
C语言写的学生成绩管理系统(链表)_第3页
C语言写的学生成绩管理系统(链表)_第4页
免费预览已结束,剩余4页可下载查看

下载本文档

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

文档简介

1、.#include#include#includestruct studlong num;char name20;float sx;float dx;float ts;float dl;float cx;float zf;float pj;struct studcodestruct stud student;struct studcode *next;void menu();void input(struct studcode *);void output(struct studcode *);void binsearch(struct studcode *);void insert(stru

2、ct studcode *);void delet(struct studcode *);void good(struct studcode *);void fail(struct studcode *);void sort(struct studcode *);void back();void main()char choose;int flag=1;struct studcode *head;head=NULL;printf(请先录入学生成绩信息n);printf(输入学生学号高数、英语读写、英语听说、计算机导论和程序设计的成绩n);input(&head);while (flag).sy

3、stem(cls);menu();printf(请选择 :);getchar();choose=getchar();switch(choose)case 1:output(head);back();break;case 2:binsearch(head);back();break;case 3:insert(&head);output(head);back();break;case 4:delet(&head);output(head);back();break;case 5:good(head);back();break;case 6:fail(head);back();break;case

4、 7:sort(head);output(head);back();break;case 0:flag=0;printf(n* The End! *n);printf(n #感使用,欢迎再次登录,拜拜!#n);.break;default: printf(n Wrong Selection ! (选择错误,请重选 ) n); back();void menu()printf( n学生成绩统计与分析系统 n);printf( n菜 单 nn);printf( n1.显示所有学生的信息 n);printf( n2.查找某学号的学生信息n);printf( n3.插入某学生的信息 n);printf

5、( n4.删除某学号学生的信息n);printf( n5.统计各门课程成绩在90 分以上学生所占百分比n);printf( n6.统计各门课程成绩在60 分以下学生所占百分比n);printf( n7.按总分降序排序,依高低排出名次n);printf( n0.退出 nn);void back()int x;printf(n);doprintf(按 1 返回菜单界面 :);scanf(%d,&x);while(x!=1);void input(struct studcode *headp)struct studcode *p;while(1)p=(struct studcode *)malloc

6、(sizeof(struct studcode);scanf(%ld,&p-student.num);if(p-student.num=0) break;.scanf(%s%f%f%f%f%f,&,&p-student.sx,&p-student.dx,&p-stu dent.ts,&p-student.dl,&p-student.cx);p-student.zf=p-student.sx+p-student.dx+p-student.ts+p-student.dl+p-st udent.cx;p-student.pj=p-student.zf/5;p-next=*

7、headp;*headp=p;void output(struct studcode *head)struct studcode *p;p=head;printf( 学号 tt 高数 t 读写 t 听说 t 导论 t 程序 t 总分 t 平均分 n); while(p!=NULL)n,p-student.num,,p-student.sx,p-student.dx,p-student.ts,p- student.dl,p-student.cx,p-student.zf,p-student.pj);p=p-next;printf(n);void binsearch(s

8、truct studcode *head)struct studcode *p;int k=1;long x;p=head;printf(请输入需要查找的学生的学号:);scanf(%ld,&x);printf(n);while(p!=NULL)if(p-student.num=x)printf(该学生信息如下:n);printf(学号 tt高数 t读写 t听说 t导论 t程序 t总分 t平均分 n);.printf(%-ldt%-4st%-0.2ft%-0.2ft%-0.2ft%-0.2ft%-0.2ft%-0.2ft%-0.2fn,p-student.num,,

9、p-student.sx,p-student.dx,p-student.ts,p-stud ent.dl,p-student.cx,p-student.zf,p-student.pj);k=0;break;p=p-next;if(k) printf(没有此学生的信息n);void insert(struct studcode *headp)struct studcode *p;p=(struct studcode *)malloc(sizeof (struct studcode); printf( 请输入你想插入的学生的信息 n); scanf(%ld%s%f%f%f%f%f,&p-stude

10、nt.num,&,&p-student.sx,&p-student.dx,&p-student.ts,&p-student.dl,&p-student.cx); p-student.zf=p-student.sx+p-student.dx+p-student.ts+p-student.dl+p-student.cx;p-student.pj=p-student.zf/5;p-next=*headp;*headp=p;printf(*插入成功 *n);void delet(struct studcode *headp)struct studcode *p,*last;

11、long x;p=*headp;printf(请输入你要删除的学生的学号:);scanf(%ld,&x);while(p-student.num!=x&p-next!=NULL)last=p;p=p-next;if(p-student.num=x).if(p=*headp)*headp=p-next;elselast-next=p-next;free(p);printf(n*删除成功 *n);else printf(n*删除失败,无该学生信息*n);void good(struct studcode *head)struct studcode *p;int x1,x2,x3,x4,x5,k;f

12、loat y1,y2,y3,y4,y5;x1=x2=x3=x4=x5=k=0;p=head;while(p!=NULL)k+;if(p-student.sx=90) x1+;if(p-student.dx=90) x2+;if(p-student.ts=90) x3+;if(p-student.dl=90) x4+;if(p-student.cx=90) x5+;p=p-next;y1=(float)x1/k;y2=(float)x2/k;y3=(float)x3/k;y4=(float)x4/k;y5=(float)x5/k;printf( 高数 t 读写 t 听说 t 导论 t 程序 n)

13、; printf(%-0.2ft%-0.2ft%-0.2ft%-0.2ft%-0.2fn,y1,y2,y3,y4,y5);void fail(struct studcode *head).struct studcode *p;int x1,x2,x3,x4,x5,k;float y1,y2,y3,y4,y5;x1=x2=x3=x4=x5=k=0;p=head;while(p!=NULL)k+;if(p-student.sxstudent.dxstudent.tsstudent.dlstudent.cxnext;y1=(float)x1/k;y2=(float)x2/k;y3=(float)x3/k;y4=(float)x4/k;y5=(float)x5/k;printf( 高数 t 读写 t 听说 t 导论 t 程序 n); printf(%-0.2ft%-0.2ft%-0.2ft%-0.2ft%-0.2fn,y1,y2,y3,y4,y5);void sort(struct studcode *head)struct stud temp;int i,j,n

温馨提示

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

评论

0/150

提交评论