版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学习 好资料C 程序 学生管理系统/* Note:Your choice is C IDE */#include "stdio.h"#include "stdlib.h"#include "string.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 u
2、nit * next; unit;unit * build() / 建立链表并返回指针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->
3、 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("=> 你输入的学号与已有同学的学号
4、相同,请重新输入!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=m;printf( "=&g
5、t; 请输入英语成绩 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
6、=p;p-> next =q; head-> date . number+;void deletion(unit* head) / 删除一名学生unit * 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-&
7、gt; next; head-> date . number- ;printf("=>删除s成功! n" ,p->date .name); free(p); break;elsep=p->next; q=q->next; if (p =NULL) printf( "=>你要删除的学生不存在 , 删除失败! n" );int display(unit *head)/ 显示学生信息unit *p=head->next;int m,n=0;char N10;if (p =NULL)printf( "= >
8、;系统无学生! 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=>该系统拥有名学生!nn" ,head->date.number);p =head-
9、> next;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 . numb er,p ->date. sex,p ->date.math,p-> date . eglish,p ->date. clanguge,p ->date. average);p=p->next;break;case 2:printf( "=>请输入查
10、找姓名! 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%st%dt%st%dt%dt%dt%dn" ,p -> date. name,p-> date . numb er,p ->date. sex,p ->date.math,p-> date . eglish,p->date. clan
11、guge,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学号t性别t数学t英语tc语言t 综合 n&quo
12、t; );printf( "t%st%dt%st%dt%dt%dt%dn" ,p->date. name,p->date. numb er,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
13、1;int range(unit * head) / 排序unit * p=head, * q=head-> next;int n,i,m =head-> date . number;printf(*n");更多精品文档按成绩 nn" "););printf( "ttt1. 按学号 t2. printf( "=>请选择操作! n scanf( "%d", &n);fflush(stdin);if (q =NULL) printf( "=> 无学生可排序! n" );retu
14、rn 0;switch (n) case 2: for (i =0;i <m;i +)/ 按总分排序 p=head;q =head-> next; 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 ;case 1:
15、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;elsep=p->next;q =q-> next;break ;printf( return"=排序成功! n" ); 1
16、;void menu()printf(主菜单*n");printf( "ttt1. 新建系统 t2. 添加学生 nttt3. 删除学生 t4. 查看信息nttt5.排列顺序t6.读取信息nttt7.保存信息t8.退出系统n");printf( "=请选择你的操作! n" );int save(unit* head) / 保存FILE *fp;unit *p;p =head;if (fp =fopen( 学生","wb+") =NULL)printf( "=>保存失败! ");return
17、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->
18、next =NULL;head-> date . number=0; / 头结点存放学生人数 q=head;if (fp =fopen(学生" , "rb" ) =NULL) printf( "=> 系统无学生! n" ); return 0;fread( &(q -> date), sizeof (student),1,fp);for (i =0;i <head->date . 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(fp); return head;void main()int m=0,n, i; unit* head;printf(*nn");H*printf( "ttt* 欢迎使用学生成绩管理系统 * n" );
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国民用航空局清算中心2026年度公开招聘应届毕业生5人备考题库及答案详解参考
- 2026年烟台市心理康复医院公开招聘劳务派遣人员15人备考题库有答案详解
- 2026年道县民政局办公养老院招聘编外合同制消防员备考题库及答案详解1套
- 2026浙江金华武义县青少年工招聘2人笔试备考试题及答案解析
- 2026江西九江市彭泽县红光港管理服务中心招聘海关协管员3人笔试备考题库及答案解析
- 2026年广东省外语艺术职业学院高职单招职业适应性考试备考题库带答案解析
- 2026湖南长沙市公安局开福分局招聘普通雇员2人笔试参考题库及答案解析
- 2026广东中山一中教育集团铁城中学教师招聘笔试备考试题及答案解析
- 广西医科大学附属武鸣医院2025年公开招聘高层次人才备考题库及答案详解1套
- 2026贵州黔东南州黄平县中医医院招聘编外人员6人(第一轮)笔试备考试题及答案解析
- 环保数据监测协议2026
- 饼房(西点)厨师长年度工作总结课件
- 2025年统编版语文三年级上册第七、八单元模拟测试卷
- 2026年江苏盐城高中政治学业水平合格考试卷试题(含答案详解)
- 主动脉瓣置换术指南
- 装配式装修管线分离培训课件
- 企业资产购置决策分析与决策表格
- 2025年陕西公务员《申论(C卷)》试题含答案
- 管理体系不符合项整改培训试题及答案
- 消防鉴定考试承诺书(初-中-高级模板)
- 医院住院部建筑投标方案技术标
评论
0/150
提交评论