c语言课程设计学生信息系统管理系统

上传人:公**** 文档编号:544060582 上传时间:2022-12-05 格式:DOC 页数:16 大小:80.50KB
返回 下载 相关 举报
c语言课程设计学生信息系统管理系统_第1页
第1页 / 共16页
c语言课程设计学生信息系统管理系统_第2页
第2页 / 共16页
c语言课程设计学生信息系统管理系统_第3页
第3页 / 共16页
c语言课程设计学生信息系统管理系统_第4页
第4页 / 共16页
c语言课程设计学生信息系统管理系统_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《c语言课程设计学生信息系统管理系统》由会员分享,可在线阅读,更多相关《c语言课程设计学生信息系统管理系统(16页珍藏版)》请在金锄头文库上搜索。

1、word题目名称: 学生信息管理系统 算法分析:1用结构体标出信息系统的成员:学生学号,学生,班级,成绩,排名2 利用c语言的文件知识将系统的信息存放在c盘下的“”的文件夹下3 定义各个子函数(1)定义输入信息函数,将学生信息按一定格式用scanf函数输入(统计M个学生的信息);(2)定义输出函数,每两个表一页直到最后一个;(3)定义信息查询函数。a,定义按学号查询函数,如果输入的学号等于学生学号则输出要查询的信息;b,定义按查询函数,如果输入的字符串等于其中一个学生的字符串则输出信息;c,定义按班级查找函数,如果输入的数字等于其中学生的班级数,则输出该信息;d,定义按成绩查找函数,如果输入的

2、数字等于其中学生的成绩数,则输出该信息;e,定义查找总函数,输入一个数选择查找方式,1-4分别对应调用abcd四个函数。(4)定义删除信息函数。输入的数字作为要删除的学生学号,输出要删除的学生信息后选择是否删除,删除后将第g+1个的信息赋给第g个,输出删除后的信息表。(5)定义信息修改函数。输入的数字等于要修改的学生学号,输出要修改的学生信息后选择是否修改,用switch,case语句选择要修改的项目,输入n,y决定是否继续直到不继续修改,输出学生信息。(6)定义信息统计函数。输入一个数字作为成绩,比较M个学生成绩是否等于输入的数字,统计相等的个数n输出。(7)定义成绩排序函数。用冒泡排序法将

3、M个学生的成绩按从大到小的顺序排列后输出。4 定义主函数。调用读取文件函数,输入数字1-5分别对应调用修改学生信息函数,删除学生信息函数,查找学生信息函数,统计学生信息函数,学生成绩排行信息函数,0表示退出系统。最后调用保存文件函数。结束程序。流程设计:学生信息管理系统程序用结构体说明各个成员定义各个子函数定义成绩排序函数定义统计函数定义删除信息函数定义修改信息函数定义输入输出函数定义信息查询函数用冒泡排序法将M个学生的成绩按从大到小排列比较成绩数是否等于输入数选择要删除的学号,判断是否删除switch,case语句选择查询方式选择要修改的信息1-4定义按学号,某某,班级,成绩的函数计数,输出

4、n将第g+1个信息赋给第g个判断是否继续修改直到不继续,结束定义主函数,用switch case选择要调用的子函数保存文件退出系统结束程序代码设计:#include#include#include#define M 2#define PAGE 2 /*学生信息结构体类型*/ typedef struct int num; /*学号*/ char name20; /*/ int banji; /*班级*/ int chengji; /*成绩*/ int paiming; /*排名*/ STUDENTS; int read_file(STUDENTS students)/*文件的读取*/ FILE

5、 *fp;/*定义一个文件指针变量*/ int i=0; if(fp=fopen(zuoye.txt,r)=NULL)/*文件空判断,fopen打开一个文件*/ printf(nn*库存文件不存在!请创建); return 0; while(feof(fp)!=1)/*文件是否结束*/ fread(&studentsi,sizeof(STUDENTS),1,fp);/*读取文件*/ if(studentsi.num=0)/*学号是否为零*/ break; else i+; fclose(fp);/*关闭文件*/ return i; void save_file(STUDENTS student

6、s,int sum)/*保存文件*/ FILE *fp; int i; if(fp=fopen(zuoye.txt,wb)=NULL)/*判断文件是否为空*/ printf(读文件错误!n); return; for(i=0;isum;i+) if(fwrite(&studentsi,sizeof(STUDENTS),1,fp)!=1)/*向文件写入的数据块不等于1*/ printf(写文件错误!n); fclose(fp); /*输入模块*/ int input(STUDENTS students) int i=0; printf(nn 录入学生信息 (最多%d人)n,M); printf(

7、-n); do printf(n 第%d人,i+1); printf(n 学生学号:); scanf(%d,&studentsi.num); if(studentsi.num=0) break; printf(n 学生:); scanf(%s,studentsi.name); printf(n 班级:); scanf(%d,&studentsi.banji); printf(n 成绩:); scanf(%d,&studentsi.chengji); printf(n 排名:); scanf(%d,&studentsi.paiming); i+; while(iM); printf(n -%d个

8、学生信息输入完毕!-n,i); printf(n 按任意键返回主菜单!); getchar(); return i; /*输出模块*/ void output(STUDENTS students) int i=0,j=0,page=1;printf(nn -学生信息表- 第%d页nn,page);/*每两个一页*/ printf(学生学号-班级- 成绩-排名n); printf(-n); do if(studentsi.num!=0) j+; if(j%PAGE!=0) printf(%12d %10s %2d %3d %4d n,studentsi.num,studentsi.name, s

9、tudentsi.banji, studentsi.chengji,studentsi.paiming); printf(-n); else printf(按任意键继续!); getchar(); printf(nn -学生信息表- 第%d页nn,+page); printf(学生学号-班级- 成绩-排名n); printf(-n); printf(%12d %10s %2d %3d %4d n,studentsi.num,studentsi.name, studentsi.banji, studentsi.chengji,studentsi.paiming); printf(-n); i+;

10、 while(studentsi.numM); printf(按任意键返回主菜单!); getchar( ); /*学生信息查询*/ void find_by_num(STUDENTS students,int sum) /*按学号查找*/ int i,find_num; printf(n 请输入要查找的学生学号:); scanf(%d,&find_num); for(i=0;isum;i+) if(studentsi.num=find_num) printf(这是您所查找到的学生信息:n); printf(学生学号-班级- 成绩-排名n); printf(-n); printf(%12d %10s %2d %3d %4d n,studentsi.num,studentsi.name,

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

当前位置:首页 > 办公文档 > 工作计划

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