C语言课程设计报告——学生信息管理系统.docx





《C语言课程设计报告——学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告——学生信息管理系统.docx(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言课程设计报告学生信息管理系统 C语言程序设计 课程设计报告 设计题目:学生信息管理系统 专业电子信息工程 班级 学生 指导教师 年学期 一、总体设计 模块划分 总体分为4大板块,分别为: 1、输入信息模块:输入信息并将信息保存到文件当中: 2、浏览信息模块:显示需要全部的学生信息: 3、编辑信息模块:输入密码,修改或删除学生信息: 4、修改密码模块:修改系统密码; 5、系统初始化模块:删除保存的数据和修改后的密码,初始化系统。 .数据结构 #define N 100 /* 所能容纳的数据数量*/ struct student int number; char name10; char g
2、ender6; int birthday; char major18; char Class10; char address30; char dormitory10; stuN; . 函数原型声明 1、int menu1(); 主菜单输出函数 2、int menu2(); 浏览选项子菜单输出函数 3、int menu3(); 编辑选项子菜单输出函数 4、void input(); 信息输入函数 5、void scan(); 浏览学生信息子函数 6、void display(); 信息显示函数 7、void save(int n); 将输入的信息保存为文件 8、void edit(); 编辑学生
3、信息子函数 9、void search(int s); 查找函数 10、void revise_info(); 信息修改函数 11、void code(); 密码管理函数 12、void del(); 信息删除函数 13、void recover(); 初始化程序 二、功能实现 1.main( )(流程图) 2.各功能模块详细流程图 (1)、输入信息模块 输入人数输入信息保存信息至文件 (2)、浏览信息模块 、全部显示:从文件中读取信息至结构体输出信息 、按姓名查找:输入姓名从文件中读取信息至结构体查找姓名 输出信息 、按学号查找:输入学号从文件中读取信息至结构体查找学号 输出信息 (3)、编
4、辑信息模块 、修改信息:输入学号从文件中读取信息至结构体查找学号 选择修改项目修改信息保存信息至文件 、删除信息:输入学号从文件中读取信息至结构体查找学号 确认删除删除信息保存剩余信息至文件(4)、修改密码模块 从文件中读取旧密码输入旧密码输入新密码保存至文件修改成功 (5)、系统初始化模块 删除原文件建立空白文件 三、测试及调试(测试方案、存在的问题及解决方法) 1、主菜单与子菜单无法建立联系,即输入相应的选项后不能运行相应的子函数。 分析与解决:函数的结构出现了一些问题,最终在老师的帮助下得以解决。 2、保存数据时无法调用文件(“软件提示:cannot open Debug/学生管理系统.
5、exe for writing”)。 分析与解决:原以为是程序某个地方有错误,于是检查了好长时间的程序,还向QQ群好友进行了求助。最终在网上查到的答案的提醒下,删除了“学生管理系统.exe”程序并重新进行了编译,问题因此得以解决。 3、用feof()函数判断文件中信息是否读取完毕时导致输出的信息总是比实际信 息多一组 分析与解决:在网上搜素该函数的具体用法后,才发现这是这个函数的弊端所在,读到文件中信息的最后,还要多执行一次循环。最终,我采用了先读出文件中信息的组数,然后在得到的组数的基础上减1的方法从头输出信息。 4、编写密码管理子函数时,每次启动程序时密码都会初始化 分析与解决:采用了文件
6、的方法,将密码保存在文件中。 5、显示信息时出现乱码 分析与解决:该错误是由于给字符数组赋值时使用了“&”的同时使用了数组名进行赋值,二者发生了冲突导致。在王栋老师的指导下,删除了赋值符号“&”,问题得以解决。 6、运行程序的时候,只有本次存进去的信息才能实现查找功能 分析与解决:该错误是由于每次运行程序的时候没有将以前存在文件中的信息读取到内存当中导致。 四、总结 1、对C语言知识掌握程度得到了很大的提高,对C语言的编程实践有了比较深 刻的认识。 2、在遇到程序调试不通过时,学会通过缩小范围的分析来锁定问题所在。 3、通过这次实验,熟悉了从自然语言转换成伪代码再转换为流程图的过程。 4、在程
7、序中设定合适的全局变量,可以简化程序的编写难度。 5、运用函数可以减少编写时的代码量,也使程序条理清晰。 6、通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语 言有了一定的体验。随着实验的成功与报告的完成,有点微微的成就感使人难忘。伴随着学习的深入,我发现高深的东西还有很多很多,等待着我自己去挖掘。对C语言的学习,我会加倍努力。 附件:源程序代码 /*学生管理系统*/ #include #include /* 控制台输入输出库函数*/ #include #include int menu1(); /* 主菜单输出函数*/ int menu2(); /* 浏览选项子菜单输出函数
8、*/ int menu3(); /* 编辑选项子菜单输出函数*/ void input(); /* 信息输入函数*/ void scan(); /* 浏览学生信息子函数*/ void display(); /* 信息显示函数*/ void save(int n); /* 将输入的信息保存为文件*/ void edit(); /* 编辑学生信息子函数*/ void search(int s); /* 查找函数*/ void revise_info(); /* 信息修改函数*/ void code(); /* 密码管理函数*/ void del(); /* 信息删除函数*/ void recove
9、r(); /* 初始化程序*/ #define N 100 /* 所能容纳的数据数量*/ struct student /* 学生信息结构体*/ int number; char name10; char gender6; / 性别 int birthday; char major18; char Class10; char address30; char dormitory10; / 宿舍 stuN; int i,n; int a,b,c; /* 传递选项的全局变量*/ int code0=123456; /* 初始密码*/ long longBytes; /* 读取文件长度的变量*/ FI
10、LE *fp; /* 创建与保存数据的文件student联系的指针变量*/ FILE *co; /*主函数 */ void main() system(color 2e); /* 设置文本背景颜色*/ co=fopen(code,ab+); /* 判断是否有code文件,如果不存在则建立*/ fseek(co,0,SEEK_SET); fseek(co,0,SEEK_END); longBytes=ftell(co); /* 获取文件code的长度,以判断文件中是否有数据*/ if(longBytes=0) fprintf(co,%d,code0); fclose(co); fp=fopen(
11、student,ab+); /* 判断是否有student文件,如果不存在则建立*/ fclose(fp); while(1) a=menu1(); /* 引入主菜单*/ switch(a) case 1:input();break; /* 调用信息输入子函数*/ case 2:scan();break; /* 调用浏览信息子函数*/ case 3:edit();break; /* 调用编辑信息子函数*/ case 4:code();break; /* 调用密码管理子函数*/ case 5:recover();break; case 0:exit(1);break; /* 退出程序*/ def
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 学生 信息管理 系统

限制150内