版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C程序学生管理系统以下是用&语言编写的学生成绩管理系统的简单代码,可以用vc运行(供参考)#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* build()/建立链表并返回指针unit *p;
2、if(p=(unit*)malloc(sizeof(unit)= = NULL) printf(-= 初始化失败!);return 0;elsep-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();fflush(stdin);printf(-= 请输入学号! n);wh
3、ile(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;elseq=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=
4、m;printf( = 请输入英语成绩n);scanf(%d,&m);fflush(stdin);p-date.eglish=m;printf( = 请输入&语言成绩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)/删除一名学生unit *p=head-next,*q =
5、 head;char N10;printf(-= 请输入你想删除的学生姓名! n);gets(N);fflush(stdin);if(p= = NULL)printf(-= 系统无学生可删除! n);while(p)if(strcmp(,N) =0)q-next=p-next;head-date.number-;printf( = 删除s成功! n,);free(p);break;elsep=p-next;q=q-next;if(p= = NULL)printf(-= 你要删除的学生不存在删除失败! n); int display(unit *hea
6、d)/显示学生信息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.显示所有七2.按姓名查找nttt3.按学号查找七4.返回主菜单n);scanf(%d”,&m);fflush(stdin);switch(m) case 1:printf(n = 该系统拥有 dW学生!nn,head-date.number);p=head-next;printf(-t姓名学号七性别t
7、数学壮英语丘语言燃合nn);while(p)printf(t%st%dt%st%dt%dt%dt%dn,,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(,N) =0)printf(-t姓名学号七性别t数学英语丘语言燃合 n);printf(t%
8、st%dt%st%dt%dt%dt%dn,,p-date.number,p-date.sex,p-date.math,p-date.eglish,p-date.clanguge,p-date.average);break;elsep=p-next;if(p= = NULL)printf(-= 你要查的学生不存在!);break;case 3: printf( = 请输入查找学号! n);scanf(%d”,&m);fflush(stdin);p=head-next;while(p)if(p-date.number=m)printf(-t姓名学号七性别t数学英语丘语言燃合
9、n);printf(t%st%dt%st%dt%dt%dt%dn,,p-date.number,p-date.sex,p-date.math,p-date.eglish,p-date.clanguge,p-date.average);break;elsep=p-next;if(p= = NULL)printf(-= 你要查的学生不存在! n);break;case 4:n = 1;break;return 1; int range(unit *head)/排序unit *p=head,*q = head-next;int n,i,m = head-date.number;
10、printf(*睥);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=p-next;q-next=p-next;p-next=q;elsep=p-next;q=q-next;break;case 1:for(i=0;inext;while(
11、q-next)if(q-date.number)(q-next-date.number)p-next=q-next;p=p-next;p-next=q;elsep=p-next;q=q-next;break;printf(-= 排序成功! n);return 1;void menu()printf(n*主菜单*n);*printf(ttt1.新建系统t2.添加学生nttt3.删除学生t4 .查看信息nttt5.排列顺序展.读取信息nttt7 .保存信Mt8.退出系统n);printf(-= 请选择你的操作! n); int save(unit *head)/保存FILE *fp;unit *p
12、;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 = (unit*)malloc(sizeof(unit) = = NULL) printf(-= 开辟空间失败!);exit(1);elsehead-next
13、=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);fread(&(p-date),sizeof(student),1,fp);p-next=q-next;q-next=p;fclose
14、(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是(1)七七否(2)n);scanf(%d”,&i);fflush(stdin);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: he
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026湖北事业单位联考孝感市大悟县招聘62人备考题库含答案详解(精练)
- 2026浙江杭州市西湖区西庐幼儿园招聘幼儿教师1人备考题库(非事业)附参考答案详解(能力提升)
- 2026年智能蜡烛灯项目可行性研究报告
- 四川天府新区第四幼儿园2026年招聘备考题库含答案详解(基础题)
- 2026海南三亚市教育局下属事业单位面向社会招聘4人备考题库带答案详解(基础题)
- 2026浙江杭州市之江外语实验学校招聘教师1人备考题库(民办)附答案详解(巩固)
- 2026陕西西安音乐学院招聘4人备考题库含答案详解ab卷
- 2026浙江台州市中医院招聘编外人员2人备考题库(一)带答案详解(模拟题)
- “梦想靠岸”招商银行天津分行2026春季校园招聘备考题库附答案详解(完整版)
- 工业和信息化部所属单位招聘54人备考题库含答案详解ab卷
- 区块链原理与实践全套完整教学课件
- 看图猜词游戏规则模板
- DL-T5334-2016电力工程勘测安全规程
- 项目三绘制轴承端盖零件图
- 学校假期社会实践反馈表
- 英语四级词汇表
- 药用高分子材料-高分子材料概述
- 社区春节活动方案
- 加油站安全培训教育记录
- 一次函数压轴题专题突破10:一次函数与矩形(含解析)
- 贝多芬钢琴奏鸣曲2告别-降E大调-Op81a-E-flat-major钢琴谱乐谱
评论
0/150
提交评论