首页 学生成绩管理系统代码(c语言编写)

学生成绩管理系统代码(c语言编写)

举报
开通vip

学生成绩管理系统代码(c语言编写)C程序学生管理系统/*Note:YourchoiceisCIDE*/#include"stdio.h"#include"stdlib.h"#include"string.h"typedefstructstudent//定义学生{charname[10];intnumber;charsex[2];intmath;integlish;intclanguge;intaverage;}student;typedefstructunit//定义接点{studentdate;structunit*next;}unit;unit...

学生成绩管理系统代码(c语言编写)
C程序学生管理系统/*Note:YourchoiceisCIDE*/#include"stdio.h"#include"stdlib.h"#include"string.h"typedefstructstudent//定义学生{charname[10];intnumber;charsex[2];intmath;integlish;intclanguge;intaverage;}student;typedefstructunit//定义接点{studentdate;structunit*next;}unit;unit*build()//建立链表并返回指针{unit*p;if((p=(unit*)malloc(sizeof(unit))){printf("=>初始化失败!");return0;==NULL)}else{p->next=NULL;p->date.number=0;//头结点存放学生人数printf("初始化成功!\n");returnp;}}voidadd(unit*head)//增加学生{unit*p,*q;intm,n=0;q=head->next;p=(unit*)malloc(sizeof(unit));printf("=>请输入新生姓名!\n");gets(p->date.name);fflush(stdin);printf("=>请输入学号!\n");while(n==0){scanf("%d",&m);fflush(stdin);if(q==NULL)n=1;while(q){if(q->date.number==m){printf("=>你输入的学号与已有同学的学号相同,请重新输入!\n");q=head->next;break;}else{q=q->next;if(q==NULL)n=1;}}}p->date.number=m;printf("=>请输入性别!\n");gets(p->date.sex);fflush(stdin);printf("=>请输入数学成绩\n");scanf("%d",&m);fflush(stdin);p->date.math=m;printf("=>请输入英语成绩\n");scanf("%d",&m);fflush(stdin);p->date.eglish=m;printf("=>请输入c语言成绩\n");scanf("%d",&m);fflush(stdin);p->date.clanguge=m;p->date.average=(p->date.math+p->date.eglish+p->date.clanguge);q=head->next;head->next=p;p->next=q;head->date.number++;}voiddeletion(unit*head)//删除一名学生{unit*p=head->next,*q=head;charN[10];printf("=>请输入你想删除的学生姓名!\n");gets(N);fflush(stdin);if(p==NULL)printf("=>系统无学生可删除!\n");while(p){if(strcmp(p->date.name,N)==0){q->next=p->next;head->date.number--;printf("=>删除%s成功!\n",p->date.name);free(p);break;}else{p=p->next;q=q->next;if(p==NULL)printf("=>你要删除的学生不存在,删除失败!\n");}}}intdisplay(unit*head)//显示学生信息{unit*p=head->next;intm,n=0;charN[10];if(p==NULL){printf("=>系统无学生!\n");return0;}while(n==0){printf("******************************************************************************\n");printf("=>请选择你的操作!\n");printf("=>\t\t\t1.显示所有\t2.按姓名查找\n\t\t\t3.按学号查找\t4.返回主菜单\n");scanf("%d",&m);fflush(stdin);switch(m){case1:printf("\n=>该系统拥有%d名学生!\n\n",head->date.number);p=head->next;printf("\t姓名\t学号\t性别\t数学\t英语\tc语言\t综合\n\n");while(p){printf("\t%s\t%d\t%s\t%d\t%d\t%d\t%d\n",p->date.name,p->date.number,p->date.sex,p->date.math,p->date.eglish,p->date.clanguge,p->date.average);p=p->next;}break;case2:printf("=>请输入查找姓名!\n");gets(N);fflush(stdin);p=head->next;while(p){if(strcmp(p->date.name,N)==0){printf("\t姓名\t学号\t性别\t数学\t英语\tc语言\t综合\n");printf("\t%s\t%d\t%s\t%d\t%d\t%d\t%d\n",p->date.name,p->date.number,p->date.sex,p->date.math,p->date.eglish,p->date.clanguge,p->date.average);break;}else{p=p->next;if(p==NULL)printf("=>你要查的学生不存在!");}}break;case3:printf("=>请输入查找学号!\n");scanf("%d",&m);fflush(stdin);=head->next;while(p){if(p->date.number==m){printf("\t姓名\t学号\t性别\t数学\t英语\tc语言\t综合\n");printf("\t%s\t%d\t%s\t%d\t%d\t%d\t%d\n",p->date.name,p->date.number,p->date.sex,p->date.math,p->date.eglish,p->date.clanguge,p->date.average);break;}else{p=p->next;if(p==NULL)printf("=>你要查的学生不存在!\n");}}break;case4:n=1;break;}}return1;}intrange(unit*head)//排序{unit*p=head,*q=head->next;intn,i,m=head->date.number;printf("*******************************************************************************\n");printf("\t\t\t1.按学号\t2.按成绩\n\n");printf("=>请选择操作!\n》");scanf("%d",&n);fflush(stdin);if(q==NULL){printf("=>无学生可排序!\n");return0;}switch(n){case2:for(i=0;inext;while(q->next){if((q->date.average)<(q->next->date.average)){p->next=q->next;p=p->next;q->next=p->next;p->next=q;}else{p=p->next;q=q->next;}}}break;case1:for(i=0;i<=m;i++)//按学号排序{p=head;q=head->next;while(q->next){if((q->date.number)>(q->next->date.number)){p->next=q->next;p=p->next;q->next=p->next;p->next=q;}else{p=p->next;q=q->next;}}}break;}printf("=>排序成功!\n");return1;}voidmenu(){printf("\n*********************************主菜单***************************************\n");printf(息\n\t\t\t5.printf("\t\t\t1.新建系统\t2.添加学生排列顺序\t6.读取信息\n\t\t\t7."=>请选择你的操作!\n");\n\t\t\t3.删除学生\t4.查看信保存信息\t8.退出系统\n");}intsave(unit*head)//保存{FILE*fp;unit*p;p=head;if((fp=fopen({学生","wb+"))==NULL)printf(return"=>保存失败!");0;}while(p){fwrite(&(p->date),sizeof(student),1,fp);=p->next;}printf("=>保存成功!");fclose(fp);return1;}unit*read()//读入系统学生信息{inti;unit*p,*q,*head;FILE*fp;if((head=(unit*)malloc(sizeof(unit)))==NULL){printf("=>开辟空间失败!");exit(1);}else{head->next=NULL;head->date.number=0;//头结点存放学生人数}q=head;if((fp=fopen(学生","rb"))==NULL){printf("=>系统无学生!\n");return0;}fread(&(q->date),sizeof(student),1,fp);for(i=0;idate.number;i++){if((p=(unit*)malloc(sizeof(unit)))==NULL){printf("=>读值失败!");exit(1);}fread(&(p->date),sizeof(student),1,fp);->next=q->next;->next=p;}fclose(fp);returnhead;}voidmain(){intm=0,n,i;unit*head;printf("********************************************************************************\n\n");printf("\t\t\t*欢迎使用学生成绩管理系统*\n"printf("\n\t\t\t\t\t\t\t\t编译员:岳英明\n\n");printf("=>正在读取系统信息......\n");if((head=read())==0){);printf("=>是否新建?\n");printf("\t\t\t是(1)\t\tscanf("%d",&i);fflush(stdin);if(i==1)head=build();elseif(i==2)exit(1);否(2)\n");}elseprintf("=>信息导入成功!");while(m==0){menu();scanf("%d",&n);fflush(stdin);switch(n){case1:head=build();break;case2:add(head);break;case3:deletion(head);break;case4:display(head);break;case5:range(head);break;case6:head=read();if(head!=0)printf(\n");break;case7:save(head);break;case8:m=1;break;"=>读取存盘成功!}}}
本文档为【学生成绩管理系统代码(c语言编写)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
is_279219
暂无简介~
格式:doc
大小:59KB
软件:Word
页数:18
分类:
上传时间:2021-11-19
浏览量:1