学生成绩管理系统代码.docx

上传人:牧羊曲112 文档编号:3424971 上传时间:2023-03-13 格式:DOCX 页数:10 大小:38.51KB
返回 下载 相关 举报
学生成绩管理系统代码.docx_第1页
第1页 / 共10页
学生成绩管理系统代码.docx_第2页
第2页 / 共10页
学生成绩管理系统代码.docx_第3页
第3页 / 共10页
学生成绩管理系统代码.docx_第4页
第4页 / 共10页
学生成绩管理系统代码.docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《学生成绩管理系统代码.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统代码.docx(10页珍藏版)》请在三一办公上搜索。

1、学生成绩管理系统代码C程序 学生管理系统 /* Note:Your choice is C IDE */ #include stdio.h #includestdlib.h #includestring.h typedef struct student/定义学生 char name10; int number; char sex2; int math; int eglish; int clanguge; int average; student; typedef struct unit/定义接点 student date; struct unit *next; unit; unit* buil

2、d/建立链表并返回指针 unit *p; if(p=(unit*)malloc(sizeof(unit)=NULL) printf(=初始化失败!); return 0; else p-next=NULL; p-date.number=0;/头结点存放学生人数 printf(初始化成功!n); return p; void add(unit *head)/增加学生 unit *p,*q; int m,n=0; q=head-next; p=(unit*)malloc(sizeof(unit); printf(=请输入新生姓名!n); gets(p-date.name);fflush(stdin

3、); 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(std

4、in); 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+; void deletion(unit *head)/删除一名学生 u

5、nit *p=head-next,*q=head; char N10; 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); in

6、t display(unit *head)/显示学生信息 unit *p=head-next; int m,n=0; char N10; if(p=NULL) printf(=系统无学生!n); return 0; while(n=0) printf(*n); printf(=请选择你的操作!n); printf(=ttt1.显示所有t2.按姓名查找nttt3.按学号查找t4.返回主菜单n); scanf(%d,&m); fflush(stdin); switch(m) case 1:printf(n=该系统拥有%d名学生!nn,head-date.number); p=head-next;

7、printf(t姓名t学号t性别t数学t英语tc语言t综合nn); while(p) printf(t%st%dt%st%dt%dt%dt%dn,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; case 2:printf(=请输入查找姓名!n); gets(N); fflush(stdin); p=head-next; while(p) if(strcmp(p-date.name,N)=0) printf(t姓名t学

8、号t性别t数学t英语tc语言t综合n); printf(t%st%dt%st%dt%dt%dt%dn,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; case 3: printf(=请输入查找学号!n); scanf(%d,&m); fflush(stdin); p=head-next; while(p) if(p-date.nu

9、mber=m) printf(t姓名t学号t性别t数学t英语tc语言t综合n); printf(t%st%dt%st%dt%dt%dt%dn,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; case 4:n=1;break; return 1; int range(unit *head)/排序 unit *p=head,*q=h

10、ead-next; int n,i,m=head-date.number; printf(*n); printf(ttt1.按学号t2.按成绩nn); printf(=请选择操作!n); scanf(%d,&n); fflush(stdin); if(q=NULL) printf(=无学生可排序!n); return 0; switch(n) case 2:for(i=0;inext; while(q-next) if(q-date.average)next-date.average) p-next=q-next; p=p-next; q-next=p-next; p-next=q; else

11、 p=p-next;q=q-next; break; case 1:for(i=0;inext; 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); return 1; void menu printf(n* 主菜单 *n); printf(ttt1.新建系统t2.添加学生nttt3.删除学生t4.查看信息nttt5.排列顺序t6.读取信息nttt7

12、.保存信息t8.退出系统n); printf(=请选择你的操作!n); int save(unit *head)/保存 FILE *fp; unit *p; p=head; if(fp=fopen(d:学生,wb+)=NULL) printf(=保存失败!); return 0; while(p) fwrite(&(p-date),sizeof(student),1,fp); p=p-next; printf(=保存成功!); fclose(fp); return 1; unit* read/读入系统学生信息 int i; unit *p,*q,*head; FILE *fp; if(head

13、=(unit*)malloc(sizeof(unit)=NULL) printf(=开辟空间失败!); exit(1); else head-next=NULL; head-date.number=0;/头结点存放学生人数 q=head; if(fp=fopen(d:学生,rb)=NULL) printf(=系统无学生!n); return 0; fread(&(q-date),sizeof(student),1,fp); for(i=0;idate.number;i+) if(p=(unit*)malloc(sizeof(unit)=NULL) printf(=读值失败!); exit(1)

14、; fread(&(p-date),sizeof(student),1,fp); p-next=q-next; q-next=p; fclose(fp); return head; void main int m=0,n, i; unit *head; printf(*nn); printf(ttt* 欢迎使用学生成绩管理系统 * n); printf(ntttttttt编译员:岳英明nn); printf(=正在读取系统信息.n); if(head=read)=0) printf(=是否新建?n); printf(ttt是tt否n); scanf(%d,&i); fflush(stdin);

15、 if(i=1) head=build; else if(i=2) exit(1); else printf(=信息导入成功!); while(m=0) menu; scanf(%d,&n); fflush(stdin); switch(n) case 1: head=build;break; case 2:add(head);break; case 3:deletion(head);break; case 4:display(head);break; case 5: range(head);break; case 6:head=read;if(head!=0) printf(=读取存盘成功!n);break; case 7:save(head);break; case 8:m=1;break;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号