学生成绩管理系统代码c语言编写_第1页
学生成绩管理系统代码c语言编写_第2页
学生成绩管理系统代码c语言编写_第3页
学生成绩管理系统代码c语言编写_第4页
学生成绩管理系统代码c语言编写_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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 unit * next; unit;unit * build() / 建立链表并返回指

2、针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)

3、;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 ;elseq =q- next;if (q =NULL) n=1;p- date . number=m;printf( = 请输入性别! n );gets(p - date . sex);fflush(stdin);printf

4、( = 请输入数学成绩 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; h

5、ead- 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- next; head- date . number- ;printf(=删除s成功! n ,p-date .name); free(p

6、); 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( = 系统无学生! n ); return 0;while (n =0)printf(*n);printf( =请选择你的操作! n );printf( =ttt1. 显示所有 t2. 按姓名查找 nttt3. 按学号查找 t4. 返回主菜单 n );scanf( %

7、d, &m);fflush(stdin);switch (m)case 1:printf( n=该系统拥有名学生!nn ,head-date.number); p =head- 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;ca

8、se 2: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%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- nex

9、t;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-date. name,p-date. numb er,p -date. sex,p -date.math,p- date . eglish,p -date.

10、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;printf(*n);按成绩 nn ););printf( ttt1. 按学号 t2. printf( =请选择操作! n scanf( %d, &n);fflush(stdin);i

11、f (q =NULL) printf( = 无学生可排序! n );return 0; switch (n)case 2: for (i =0;i next; 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 p=p- next;q =q- next;break ;case 1: for (i =0;i next; while (q - next) if (q - date . number)(q

12、- 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;void menu()printf(主菜单*n);printf( ttt1. 新建系统 t2. 添加学生 nttt3. 删除学生 t4. 查看信息nttt5.排列顺序t6.读取信息nttt7.保存信息t8.退出系统n);printf( =请选择你的操作! n );int save(unit* head) / 保存FIL

13、E *fp;unit *p;p =head;if (fp =fopen( 学生,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( =开辟

14、空间失败! );exit(1); elsehead- 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 date . number;i +) if (p =(unit * )malloc( sizeof (unit) =NULL) printf( =读值失败! );exit(1);fread( &(p - d

15、ate), 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(H*nn);printf( ttt* 欢迎使用学生成绩管理系统 * n );printf( ntttttttt 编译员:岳英明 nn );printf(= 正在读取系统信息 n );if (head =read() =0)printf( =是否新建? n );printf( ttt 是(1) tt 否(2) n); scanf( %d,&i); fflush(stdin);if (i =1) head =build(); else if (i =2) exit(1);elseprintf( =信息导入成功! );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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论