版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C程序学生管理系统以下是用c语言编写的学生成绩管理系统的简单代码,可以用 vc运行(供参考)#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 unit
2、 * 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;unit *p, *q;int m,n =0;q=head-> next;p=(unit *)malloc( sizeof (unit
3、);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(
4、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
5、(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+;voi
6、d 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-> next;head-> date . number-;printf("=>删除城功
7、! n” ,p->date . name);free(p);break ;else(p=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("=>系统无学生! n");return 0;while (n =0)(printf( "*m”);printf
8、("=>请选择你的操作!n");printf( "=>ttt1. 显示所有t2.按姓名查找nttt3. 按学号查找 t4.返回主菜单n");scanf( "%d", &m);fflush(stdin);switch (m)(case 1:printf( "n=> 该系统拥有 dg学生!nn" ,head ->date . number);p =head-> next;printf( "t姓名t学号t性别t数学t英语tc语言t综合 nn");while (p)
9、(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("=> 请输入查找姓名! n");gets(N);fflush(stdin);p =head-> next;while
10、 (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 . clanguge,p -> date. average); break ; else(p=p-> n
11、ext;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");printf( "t%st%dt%st%dt%dt%dt%dn" ,p ->
12、; date. name,p-> date . numb er,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)/ 排序按成绩nn");");un
13、it * p=head, * q=head-> next;int n,i,m =head->date . number;printf("*5,);printf( "ttt1.按学号 t2.printf("=>请选择操作! n » scanf( "%d", &n);fflush(stdin);if (q=NULL)n");( printf("=>无学生可排序! return 0;switch (n)(case 2: for (i =0;i <m;i +)/ 按总分排序(p=hea
14、d;q =head-> next; while (q -> next)( if (q -> date. average) <(q -> next -> datep-> next =q-> next;p=p-> next;q-> next =p-> next;p-> next =q; else(p=p-> next;q =q-> next;break;case 1: for (i =0;i <=m;i+)/ 按学号排序 (p=head;q =head-> next;while (q -> nex
15、t)(if(. average)number)(q -> date. number)>(q ->next -> date.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(M*n"主菜单);printf( "ttt1. 新建系统t2.添加学生nt
16、tt3. 删除学生t4.查看信 息nttt5.排列顺序t6.读取信息nttt7.保存信息t8.退出系统n");printf("=请选择你的操作!n"); int save(unit *head)/ 保存(FILE *fp;unit *p;p =head;if (fp =fopen( 学生”,侦b+") =NULL)(printf("=> 保存失败!");return 0;while (p)(fwrite( &(p->date), sizeof (student),1,fp);p =p-> next;print
17、f( "=> 保存成功!");fclose(fp);return 1; unit * read() /读入系统学生信息(int i;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"
18、 ) =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(*5*5*nn");printf( "ttt*欢迎使用学生成绩管理系统* n");p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临床路径与责任界定结合-洞察与解读
- 赢在执行之构建企业执行力体系课件
- 2025年农产品展销会合作协议
- 2025年农产品网络销售合作协议合同
- 2025年农产品供应合同协议
- 2025年CCAA服务认证基础考试练习题及解析答案
- 2024年公路水运工程施工企业安全生产管理人员试题及答案
- 打造双十二盛典
- 仓库火灾应急预案演练方案
- 2025国家电投集团中国电力参考题库附带答案详解
- (正式版)HGT 6313-2024 化工园区智慧化评价导则
- 螺旋测微器读数练习(含答案)-文档
- 通信工程生涯发展展示
- 会计生涯发展报告
- 中国融通集团在线考试题
- 智能制造工程生涯发展报告
- 国家学生体质健康测试标准评分表(大学)
- 国际篮联三对三篮球比赛记录表
- 07FK02防空地下室通风设备安装图集
- 口腔科护理查房
- 罗伊模式个案护理
评论
0/150
提交评论