C语言课程设计学生信息管理系统方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2>N-S流程图
三、详细设计说明:
1>头文件
#include
#include
#include
#include
2>数入口说明
main();主函数;
void menu();主菜单界面;
void add();添加新的学生信息;void print(int i);打印学生信息;void scan();查找学生信息;
void res();检索学生信息界面;void res_name();按姓名检索;void res_num();按学号检索;
void del(int i);删除学生信息;void modify(int i);修改学生信息;void fileopen();打开文件;
void filesave();保存文件;
2>调用关系
4.调试与测试:
res()
➢编译工具
1.C/C++程序设计学习与实验系统
2.Tc
3.VC++6.0
均通过调试!
➢主菜单
➢添加新的学生信息
➢浏览所有学生信息
➢检索信息库
➢继续查找下一条
➢修改学生信息
➢删除信息库所有记录
五、调试中所遇到的问题及解决方法
1>问题:程序退出后,再次打开,上次输入的数据无法保存。
解决:调用fileopen()与filesave()保存文件数据,方便第二次打开程序时仍能调用上次输入的数据。
2>问题:跳出的界面与选择分支中的对应项不符合。
解决:改getchar()为getch(),头文件中加”conio.h”.因为getchar()从输入输出流中一次只能读取一个字符,而且需要以回车来确认输入。本文件中多次用到getchar(),键盘缓冲区的’\n’会被下次调用getchar()时接收。而getch()则不会,从键盘上读入一个数据,不给回显,不需要回车确认,按下键就实现了函数。
3>问题:误输入X,导致退出。
解决:加标志变量flag=1,用while(flag)循环switch语句,当正确输入时,flag=1,跳出循环。
4>问题:检索时只能查到第一个学生信息。
解决:定义数组log(100)记录符合的结构体数组。循环打印。
5>问题:不能刷新界面。
解决:调用system(“cls”)清屏函数。
6>问题:删除某项信息,返回主函数时不能暂停。
解决:调用system(“PAUSE”)暂停函数。
六、程序源码
七、心得体会
通过这次C程序课程设计,我感受到了编程是一项非常烦琐周密的活动,它不但需要一个人周密的思考问题的能力,处理问题的能力,还需要有足够的耐心和严谨治学的作风,来不得半点马虎,一点小的错误就可能导致整个程序不能运行。我初步学会了课程设计的基本方法,学会了怎样去借鉴别人的方法
和经验,知道如何去查找资料和整合处理这些资料的能力,使我收益最大的是享受到了一种成功的喜悦。
因为C语言底子比较差,我选择的是相对容易的学生信息管理系统。先开始,比较快速的把大体程序代码写出来了,然后是进行编译,这个环节是一个非常痛苦和艰难的,常常会因为一小点的错误而在编译失败与再次修改的漫漫循环之路中,但失败的越多,对人的考验就越多,在编译运行成功之后的享受成功的喜悦也就越多,另外在调试程序的过程中不断的思考和运用已经学到的知识,这对于自己是有很大的提高的。
由于所学的知识不多,自己的编程经验不足,仍存在一些问题,如不能实现模糊查找等功能。按现有的知识水平有些东西暂时还无法解决,还有待于在以后的学习中不断提高和改进!