您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > C/C++资料 > c语言课程设计学生信息管理系统
《C语言程序设计》-1-题目名称:学生信息管理系统算法分析:1用结构体标出信息系统的成员:学生学号,学生姓名,班级,成绩,排名2利用c语言的文件知识将系统的信息存放在c盘下的“zuoye.txt”的文件夹下3定义各个子函数(1)定义输入信息函数,将学生信息按一定格式用scanf函数输入(统计M个学生的信息);(2)定义输出函数,每两个表一页直到最后一个;(3)定义信息查询函数。a,定义按学号查询函数,如果输入的学号等于学生学号则输出要查询的信息;b,定义按姓名查询函数,如果输入的姓名字符串等于其中一个学生的姓名字符串则输出信息;c,定义按班级查找函数,如果输入的数字等于其中学生的班级数,则输出该信息;d,定义按成绩查找函数,如果输入的数字等于其中学生的成绩数,则输出该信息;e,定义查找总函数,输入一个数选择查找方式,1-4分别对应调用abcd四个函数。(4)定义删除信息函数。输入的数字作为要删除的学生学号,输出要删除的学生信息后选择是否删除,删除后将第g+1个的信息赋给第g个,输出删除后的信息表。(5)定义信息修改函数。输入的数字等于要修改的学生学号,输出要修改的学生信息后选择是否修改,用switch,case语句选择要修改的项目,输入n,y决定是否继续直到不继续修改,输出学生信息。(6)定义信息统计函数。输入一个数字作为成绩,比较M个学生成绩是否等于输入的数字,统计相等的个数n输出。(7)定义成绩排序函数。用冒泡排序法将M个学生的成绩按从大到小的顺序排列后输出。4定义主函数。调用读取文件函数,输入数字1-5分别对应调用修改学生信息函数,删除学生信息函数,查找学生信息函数,统计学《C语言程序设计》-2-生信息函数,学生成绩排行信息函数,0表示退出系统。最后调用保存文件函数。结束程序。流程设计:学生信息管理系统程序用结构体说明各个成员定义各个子函数定义信息查询函数switch,case语句选择查询方式定义按学号,姓名,班级,成绩的函数定义修改信息函数选择要修改的信息1-4判断是否继续修改直到不继续,结束定义删除信息函数选择要删除的学号,判断是否删除将第g+1个信息赋给第g个定义统计函数比较成绩数是否等于输入数计数,输出n定义成绩排序函数用冒泡排序法将M个学生的成绩按从大到小排列定义主函数,用switchcase选择要调用的子函数定义输入输出函数《C语言程序设计》-3-代码设计:#includestdio.h#includestdlib.h#includestring.h#defineM2#definePAGE2/*学生信息结构体类型*/typedefstruct{intnum;/*学号*/charname[20];/*姓名*/intbanji;/*班级*/intchengji;/*成绩*/intpaiming;/*排名*/}STUDENTS;intread_file(STUDENTSstudents[])/*文件的读取*/{FILE*fp;/*定义一个文件指针变量*/inti=0;if((fp=fopen(zuoye.txt,r))==NULL)/*文件空判断,fopen打开一个文件*/{printf(\n\n*****库存文件不存在!请创建);return0;}while(feof(fp)!=1)/*文件是否结束*/{fread(&students[i],sizeof(STUDENTS),1,fp);/*读取文件*/保存文件退出系统结束程序《C语言程序设计》-4-if(students[i].num==0)/*学号是否为零*/break;elsei++;}fclose(fp);/*关闭文件*/returni;}voidsave_file(STUDENTSstudents[],intsum)/*保存文件*/{FILE*fp;inti;if((fp=fopen(zuoye.txt,wb))==NULL)/*判断文件是否为空*/{printf(读文件错误!\n);return;}for(i=0;isum;i++)if(fwrite(&students[i],sizeof(STUDENTS),1,fp)!=1)/*向文件写入的数据块不等于1*/printf(写文件错误!\n);fclose(fp);}/*输入模块*/intinput(STUDENTSstudents[]){inti=0;printf(\n\n录入学生信息(最多%d人)\n,M);printf(----------------------------------------------------\n);do《C语言程序设计》-5-{printf(\n第%d人,i+1);printf(\n学生学号:);scanf(%d,&students[i].num);if(students[i].num==0)break;printf(\n学生姓名:);scanf(%s,students[i].name);printf(\n班级:);scanf(%d,&students[i].banji);printf(\n成绩:);scanf(%d,&students[i].chengji);printf(\n排名:);scanf(%d,&students[i].paiming);i++;}while(iM);printf(\n--%d个学生信息输入完毕!--\n,i);printf(\n按任意键返回主菜单!);getchar();returni;}/*输出模块*/voidoutput(STUDENTSstudents[]){inti=0,j=0,page=1;printf(\n\n--学生信息表--第%d页\n\n,page);/*每两个一页*/printf(学生学号----姓名-----班级-----成绩-----排名\n);printf(-------------------------------------------------------\n);do{if(students[i].num!=0){j++;《C语言程序设计》-6-if(j%PAGE!=0){printf(%12d%10s%2d%3d%4d\n,students[i].num,students[i].name,students[i].banji,students[i].chengji,students[i].paiming);printf(------------------------------------------------------\n);}}else{printf(按任意键继续!);getchar();printf(\n\n--学生信息表--第%d页\n\n,++page);printf(学生学号----姓名-----班级-----成绩-----排名\n);printf(------------------------------------------\n);{printf(%12d%10s%2d%3d%4d\n,students[i].num,students[i].name,students[i].banji,students[i].chengji,students[i].paiming);printf(---------------------------------------------\n);}}i++;}while(students[i].numM);printf(按任意键返回主菜单!);getchar();}《C语言程序设计》-7-/*学生信息查询*/voidfind_by_num(STUDENTSstudents[],intsum)/*按学号查找*/{inti,find_num;printf(\n请输入要查找的学生学号:);scanf(%d,&find_num);for(i=0;isum;i++)if(students[i].num==find_num){printf(这是您所查找到的学生信息:\n);printf(学生学号----姓名-----班级-----成绩-----排名\n);printf(------------------------------------------\n);printf(%12d%10s%2d%3d%4d\n,students[i].num,students[i].name,students[i].banji,students[i].chengji,students[i].paiming);printf(---------------------------------------------\n);break;}else{printf(\n未找到要查找的学生信息,按任意键返回!);getchar();}}voidfind_by_name(STUDENTSstudents[],intsum)/*按姓名查找*/{inti;《C语言程序设计》-8-charfind_name[20];printf(\n请输入要查找的学生姓名:);scanf(%s,find_name);for(i=0;isum;i++);if(strcmp(students[i].name,find_name)==0)/*字符串比较相等返回0*/{printf(这是您所查找到属于该学生的信息:);printf(学生学号----姓名-----班级-----成绩-----排名\n);printf(------------------------------------------\n);printf(%12d%10s%2d%3d%4d\n,students[i].num,students[i].name,students[i].banji,students[i].chengji,students[i].paiming);printf(---------------------------------------------\n);}else{printf(\n未找到要查找的学生信息,按任意键返回!);getchar();}}voidfind_by_banji(STUDENTSstudents[],intsum)/*按班级查找*/{inti;intfind_banji;printf(\n请输入要查找的学生班级:);《C语言程序设计》-9-scanf(%d,&find_banji);for(i=0;isum;i++)if(students[i].banji==find_banji){printf(这是您所查找到属于该班级的学生:);printf(学生学号----姓名-----班级-----成绩-----排名\n);printf(------------------------------------------\n);printf(%12d%10s%2d%3d%4d\n,students[i].num,students[i].name,students[i].banji,students[i].chengji,students[i].paiming);printf(---------------------------------------------\n);}else{printf(\n未找到要查找的班级信息,按任意键返回!);getchar();}}voidfind_by_chengji(STUDENTSstudents[],intsum)/*按成级查找*/{inti;intfind_chengji;printf(\n请输入要查找的学生成绩:);scanf(%d,&find_chengji);for(i=0;isum;i++){if(students[i].chengji==find_chengji){printf(这是您所查找到有该成绩的学生:);《C语言程序设计》-10-printf(学生学号----姓名-----班级-----成绩-----排名
本文标题:c语言课程设计学生信息管理系统
链接地址:https://www.777doc.com/doc-7028129 .html