资源预览内容
第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
第9页 / 共21页
第10页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
计算机程序设计(C 语言)课程设计报告题目:学生信息管理系统学院:基础科学学院专业:统计学班级:120802姓名:冯帆指导教师:顾煜新设计日期:2013.7.11题目:学生信息管理系统 一、选题背景:学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。特别是近几年来,国家政策的调整,我国高等院校大规模的扩招,给高等院校的教学管理、学生管理、后勤管理等方面都带来不少的冲击。其包含的数据量大,涉及的人员面广,而且需要及时更新,故较为复杂,难以单纯地依靠人工管理,而且传统的人工管理方式既不易于规范化,管理效率也不高,目前我国各类高等院校中还有相当一部分学生档案管理还停留在纸介质的基础上,尤其是中、小学对学生档案的管理更是落后,这样的管理机制已经不能适应时代发展的要求,其管理方法将浪费许多人力和物力。随着科学技术的不断提高,计算机科学与技术日渐成熟,计算机应用的普及已进入人类社会生活的各个领域,并发挥着越来越重要的作用。这种传统的手工管理模式必然被以计算机为物质基础的信息管理方法所取代。二、设计思想:设计总体功能应有 6 大模块:1. 信息录入模块 : 用来录入学生信息2. 信息修改模块 : 用来修改学生信息3. 信息查找模块 : 用来查找学生信息4. 信息删除模块 : 用来删除学生信息5. 信息清空模块 : 用来清空学生信息6. 信息显示模块 : 用来显示学生信息三、主要解决问题的方法及技术关键1、 主要问题及解决方法1.通过 switch语句直接处理多分支选择结构(开关选择结构)switch (表达式)case 常量表达式1 : 语句组1case常量表达式 2:语句组2. case常量表达式n: 语句组ndefault: 语句组n+12.结构体类型其成员均为字符数组3.字符数组4.在 c语言中,对普通文件的操作,都是通过文件指针来进行的5.feof(fp)是判断文件尾的函数本程序中从文件中读取数据,使用的是while(!feof(fp)语句,其含义是读取文件中的内容指导文件尾6.fwrite()函数本程序是按数据块读写文件,也是一次读写一组数据返回值:如果操作成功,返回实际的所写的数据;如果文件结束或操作中有错,则返回07.函数名: fflush功 能: 清除文件缓冲区,文件以写方式打开时将缓冲区内容写入文件头文件:原型:int fflush(FILE *stream)fflush(stdin)刷新标准输入缓冲区,把输入缓冲区里的东西丢弃非标准8.对学生信息的删除时用到了字符串比较函数2、 技术关键1.打开文件,对数据的保存,清空数据2.对文件的读写四、程序流程图各模块程序流程图设计开始输入语句选择语句 switch(b)1.录入学生信息6.全部学生信 息2.修改学生信 息5.删除学生信 息查找学生信 息8.退出系 统判断 b 值主函数7.清空全 部信 息3.按姓名查询 4.按学号查询选择 11.录入学生信息函数输出提示,输入人数按提示输入学生信息调用函数save()判断人数是否在范围在不在i+显示全部信息选择 8打开 d 盘中的studentinfo 文件在内存中用结构体数组存放信息,用 for 循环一个个打印到屏幕将 studentinfo 中的信息写入到内存菜单按任意键返回修改学生信息选择 2提示输入要修改的学生姓名打开文件并读取到内存,用 for 循环一个个的找出符合条件的学生找到后提示要修改什么内容用 switch 选择菜单退出模块修改电话修改成功如果没有找到显示没有此人并推出修改学号修改地址修改姓名修改 qq修改性别输入姓名判断 a是 y 就保存N 就不保存修改删除信息选择 7打开文件并写入内存菜单用循环一个个查找读到内存中的结构体如果找到询问是否确定删除 输入一个字符 aaaAa保存操作后的信息后退出没有找到就显示没有此人退出输入的是 y 就删除判断 a 值N 就取消删除查询学生信息按姓名查询 按学号查询退出是否继续查找用 strcmp 比较判断有否此项有输出信息 没有提示没有此人是否退出 五、程序清单:#include #include #include #include void exchange();void type(); /*输入函数*/void save(); /*保存函数 */void clear();void find_by_name();/*通过姓名查找*/void find_by_numble();/*通过学号*/void dele();/*删除函数*/int openfile();/*打开文件*/void open_and_see();/*打开并查看文件*/struct studentchar num20;/*学号*/char name20;/*姓名*/char sex10;/*性别*/char age5;/*年龄*/char birthday15;/*/char QQ12;/*QQ*/char telephone15;/*电话*/char address100;/*地址*/stu100;int n=0;/全局变量void main()int b,flag=0;system(color 1f);/*修改控制台的颜色信息,改为白字蓝底的模式*/while(1)/*菜单*/printf(nttt 欢迎进入学生信息管理系统! n);printf(n-);printf(-);printf(nttt 1.录入学生信息。);printf(nttt 2.修改学生的信息。);printf(nttt 3.按姓名查看学生信息);printf(nttt 4.按学号查看学生信息);printf(nttt 5.删除学生信息);printf(nttt 6.打开这个文件);printf(nttt 7.清空所有信息);printf(nttt 8.退出);printf(nn-);printf(-n);printf(nnttt 请选择你要做的操作:);scanf (%d,printf(nn);switch(b)case 1: type();break;/*录入学生信息函数。*/case 2: exchange();break;case 3: find_by_name();break;case 4: find_by_numble();break;case 5: dele();break;case 6: open_and_see();break;case 7: clear();break;case 8: flag=1;break;default: printf(nnttt 输入错误,请重新输入!n);if(flag) break;/*学生信息录入模块*/void type()int i;printf(ttt 请输入学生人数:);scanf(%d,for(i=0;i0)stu99=stui;stui=stuj;stuj=stu99;printf(n-nn);printf( 学号 姓名 性别 年龄 生日 QQ 号 电话 地址nn);printf(-n);for(i=0;in;i+)printf( %-9s%-9s%-6s%-6s%-14s%-12s%-14s%sn,stui.num,stui.name,stui.sex,stui.age,stui.birthday,stui.QQ,stui.telephone,stui.address);if(n=0)printf(ntttt 没有这人!);printf(nnttt 按任意键退出:);getch();printf(nn);/*清空所有信息模块*/void clear()char a;FILE *fp;printf(nttt 确定删除?删除后无法恢复!nnttt 按 enter 键确认删除nntttt );fflush(stdin);scanf(%c,if(a=n)if(fp=fopen(d:studentinfo.txt,w+)=NULL)printf(nnttt 打开文件失败,不能删除);return;elseprintf(ntttt 成功删除! nntttt 按任意键返回 );fflush(stdin);getch();printf(nn);elseprintf(nntt 你没有进行清空操作!按任意键返回菜单);fflush(stdin);getch();printf(nn);return;fclose(fp);/*学生信息修改模块*/void exchange()int i,m=0,j,a;char name20,chose;FILE *fp;n=openfile();if(n=-1)return;/打开失败则返回菜单 elseprintf(nttt 输入要修改学生名字 :);scanf(%s,name);printf(n-nn);printf( 学号 姓名 性别 年龄 生日 QQ 号 电话 地址nn);printf(-n);for(i=0;in;i+)if(strcmp(stui.name,name)=0)j=i;/如果找到这个人就记住这个人的位置m+;printf( %-9s%
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号