学生成绩管理系统源程序

上传人:re****.1 文档编号:431924880 上传时间:2023-03-03 格式:DOC 页数:26 大小:172.01KB
返回 下载 相关 举报
学生成绩管理系统源程序_第1页
第1页 / 共26页
学生成绩管理系统源程序_第2页
第2页 / 共26页
学生成绩管理系统源程序_第3页
第3页 / 共26页
学生成绩管理系统源程序_第4页
第4页 / 共26页
学生成绩管理系统源程序_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《学生成绩管理系统源程序》由会员分享,可在线阅读,更多相关《学生成绩管理系统源程序(26页珍藏版)》请在金锄头文库上搜索。

1、#include #include #include #define PF printf#include time.h #define LEN sizeof(struct St1)/定义结构体/typedef struct St1 char IDNumber16;/*学号*/ char FamilyName16; /*姓*/ char GivenName16; /*名*/ int sex; /*性别(0代表女,1代表男)*/ int BirthYear; /*出生年*/ int BirthMonth; /*出生月*/ int BirthDay; /*出生日*/ float score0,sco

2、re1,score2,score3; /*成绩*/ float sum; /*总分*/ float average; /*平均分*/ struct St1 *next; StudentNode;int time()struct tm* ptm;long ts;int y,m,d,h,n,s;ts = time(NULL); ptm = localtime(&ts); y = ptm- tm_year+1900; /年 m = ptm- tm_mon+1; /月d = ptm- tm_mday; /日h = ptm- tm_hour; /时n = ptm- tm_min; /分s = ptm-

3、tm_sec; /秒return(y); StudentNode *head=NULL; /全局指针 int n,i=0,c=0,d=0,j=0; /全局变量 j在函数中作数组下标或循环变量 c为总分数组中元素个数 d为平均分数组元素个数float English=0.0,Math=0.0,C=0.0,Mazhe=0.0,Sum100,Avr100; /全局变量/自定义函数/void show_menu(); /显示菜单void menu(); /执行菜单void creat_stu(); /建立链表 void input_stu(); /输入学生信息void print_stu(); /显示

4、链表中所有记录信息void search_NO(); /以学号方式查询信息void search_name(); /以姓方式查询信息void arrage_stu(); /学生成绩排名void del_stu(); /删除学生信息void revise_stu(); /修改学生信息void save(); /保存信息void jisuan(); /计算所有学生的以及各科总分和均分 void search_clas(); /按班级查询显示学生信息 void insert_stu(); /插入学生记录到表中void sort(float x,int n); /对学生按总分进行从高到底排序void

5、search_allscore(); /按学生总成绩查询,用来输出排名信息void jieduan(); /用来输出按平均分阶段输出信息,其中用了按平均分输出信息的程序。void Loadf(); /从文件中读出所有学生记录void main() printf(*); printf(n);printf( 欢迎来到学生管理系统 !); printf(n); printf(n); printf( 制作人:陈志52101610); creat_stu(); menu();/*创建链表*void creat_stu() FILE *fp; long size; StudentNode *p1,*p2;

6、 head=(StudentNode *)malloc(sizeof(StudentNode); head-next=NULL; if(fp=fopen(fname.txt,r)=NULL) printf(这是新表n); return; fseek(fp,0L,2); size=ftell(fp); if(!size) printf(这是空表n); return; /开始创建链表 rewind(fp); /移动到文件首 p2=head-next; /找到当前位置 while(!feof(fp) p1=(StudentNode *)malloc(sizeof(StudentNode); fsca

7、nf(fp,%s %s %s %d %d %d %d %f %f %f %f %f %fn,p1-IDNumber,p1-FamilyName,p1-GivenName, &p1-sex,&p1-BirthYear,&p1-BirthMonth,&p1-BirthDay,&p1-score0,&p1-score1,&p1-score2,&p1-score3,&p1-sum, &p1-average); p1-next=NULL; /创建节点完 if(head-next=NULL) head-next=p1; else p2-next=p1; p2=p1; n+; p2-next=NULL; f

8、close(fp);/*执行菜单*void menu() int c; show_menu(); while(1) scanf(%d,&c); switch(c) getchar();case 1:input_stu();break;case 2:del_stu(); break;case 3:print_stu();break;case 4:search_name(); break;case 5:save();break;case 6:Loadf();break;case 7:jisuan(); break;case 8:search_clas(); break;case 9:insert_

9、stu() ; break;case 10:search_NO(); break;case 11:arrage_stu();break;case 12:revise_stu(); break;case 13:jieduan();break;case 0:exit(0); /执行菜单选项 show_menu(); /*显示菜单*void show_menu() PF(n); PF(n*菜单*n); PF(tt* 1.输 入 学 生 信 息 *n); PF(tt* 2.删 除 学 生 信 息 *n); PF(tt* 3.显示链表中所有记录信息 *n); PF(tt* 4.按照学生的姓查找记录 *n

10、); PF(tt* 5.将链表中记录保存到文件中 *n); PF(tt* 6.从文件中读入记录 *n); PF(tt* 7.计算所有学生以及各科总分和均分 *n); PF(tt* 8.按班级查询显示学生信息 *n); PF(tt* 9.插入记录到表中 *n); PF(tt* 10.按学号查询学生信息 *n); PF(tt* 11.学生成绩排名 *n); PF(tt* 12.修改学生信息 *n); PF(tt* 13.按平均分阶段输出学生信息 *n); PF(tt* 0. 退 出 *n); PF(*n); PF(n请选择n);/*输入学生信息*void input_stu() /输入学生信息float a,b; /a,b分别用来存放该生的各科总成绩和平均成绩int y,j;y=time(); n=0; StudentNode *p1=NULL,*p2=NULL; p1=( StudentNode *)malloc(sizeof(StudentNode);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号