欢迎来到天天文库
浏览记录
ID:57062881
大小:81.50 KB
页数:17页
时间:2020-07-31
《c语言课程设计学生信息管理系统.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、题目名称:学生信息管理系统算法分析:1用结构体标出信息系统的成员:学生学号,学生,班级,成绩,排名2利用c语言的文件知识将系统的信息存放在c盘下的“zuoye.txt”的文件夹下3定义各个子函数(1)定义输入信息函数,将学生信息按一定格式用scanf函数输入(统计M个学生的信息);(2)定义输出函数,每两个表一页直到最后一个;(3)定义信息查询函数。a,定义按学号查询函数,如果输入的学号等于学生学号则输出要查询的信息;b,定义按查询函数,如果输入的字符串等于其中一个学生的字符串则输出信息;c,定义按班级
2、查找函数,如果输入的数字等于其中学生的班级数,则输出该信息;d,定义按成绩查找函数,如果输入的数字等于其中学生的成绩数,则输出该信息;e,定义查找总函数,输入一个数选择查找方式,1-4分别对应调用abcd四个函数。(4)定义删除信息函数。输入的数字作为要删除的学生学号,输出要删除的学生信息后选择是否删除,删除后将第g+1个的信息赋给第g个,输出删除后的信息表。(5)定义信息修改函数。输入的数字等于要修改的学生学号,输出要修改的学生信息后选择是否修改,用switch,case语句选择要修改的项目,输入n,
3、y决定是否继续直到不继续修改,输出学生信息。(6)定义信息统计函数。输入一个数字作为成绩,比较M个学生成绩是否等于输入的数字,统计相等的个数n输出。(7)定义成绩排序函数。用冒泡排序法将M个学生的成绩按从大到小的顺序排列后输出。4定义主函数。调用读取文件函数,输入数字1-5分别对应调用修改学生信息函数,删除学生信息函数,查找学生信息函数,统计学生信息函数,学生成绩排行信息函数,0表示退出系统。最后调用保存文件函数。结束程序。流程设计:学生信息管理系统程序用结构体说明各个成员定义各个子函数定义成绩排序函数
4、定义统计函数定义删除信息函数定义修改信息函数定义输入输出函数定义信息查询函数用冒泡排序法将M个学生的成绩按从大到小排列比较成绩数是否等于输入数选择要删除的学号,判断是否删除switch,case语句选择查询方式选择要修改的信息1-4定义按学号,姓名,班级,成绩的函数计数,输出n将第g+1个信息赋给第g个判断是否继续修改直到不继续,结束定义主函数,用switchcase选择要调用的子函数保存文件退出系统结束程序代码设计:#include#include#include
5、#defineM2#definePAGE2/*学生信息结构体类型*/typedefstruct{intnum;/*学号*/charname[20];/**/intbanji;/*班级*/intchengji;/*成绩*/intpaiming;/*排名*/}STUDENTS;intread_file(STUDENTSstudents[])/*文件的读取*/{FILE*fp;/*定义一个文件指针变量*/inti=0;if((fp=fopen("zuoye.txt","r"))==NULL
6、)/*文件空判断,fopen打开一个文件*/{printf("*****库存文件不存在!请创建");return0;}while(feof(fp)!=1)/*文件是否结束*/{fread(&students[i],sizeof(STUDENTS),1,fp);/*读取文件*/if(students[i].num==0)/*学号是否为零*/break;elsei++;}fclose(fp);/*关闭文件*/returni;}voidsave_file(STUDENTSstudents[],ints
7、um)/*保存文件*/{FILE*fp;inti;if((fp=fopen("zuoye.txt","wb"))==NULL)/*判断文件是否为空*/{printf("读文件错误!");return;}for(i=0;i8、{inti=0;printf("录入学生信息(最多%d人)",M);printf("----------------------------------------------------");do{printf("第%d人",i+1);printf("学生学号:");scanf("%d",&students[i].num);if(students[i].num==0)break;printf("学生:");sc
8、{inti=0;printf("录入学生信息(最多%d人)",M);printf("----------------------------------------------------");do{printf("第%d人",i+1);printf("学生学号:");scanf("%d",&students[i].num);if(students[i].num==0)break;printf("学生:");sc
此文档下载收益归作者所有