MFC学生信息管理系统详解MFC学生信息管理系统详解.doc
文本预览下载声明
《面向对象程序课程设计》报告
题目:学生信息管理系统
班级:
学号:
姓名:
成绩:
指导教师:
日期: 2012年 6 月 21 日
报告内容
一、程序功能
1) 学生基本信息录入功能(输入的学生信息用磁盘文件保存)
2) 学生信息查询功能
3) 学生信息排序功能
4) 学生信息的删除与修改
学生信息包括:
姓名、性别、学号、出生年月、手机号码、班级、已经获得学分等
二、课题分析
设计一个基于MFC对话框的C++应用程序开发,因此要创建一个主对话框,和一些必要的子对话框。在主对话框中添加列表控件用来显示学生的基本信息,并且列表控件有较强的数据处理函数。因此选择列表控件。对于学生信息的录入,查询,排序,删除与修改都用按钮控件,并为每个按钮添加消息响应函数用来处理学生的信息操作。对于录入功能,可以为它设置一个子对话框来填写学生基本信息。
接下来就是要把学生的基本信息能够保存下来,因此要用到文件的操作,fstream可以满足要求。
综上所述,必须先掌握按钮控件,列表控件,新对话框的构建,编辑控件和消息的响应与处理原理!
以上就是设计思路!
三、设计中的问题与解决方法
问题1:在录入学生信息时,当已经存在此学生能够识别的来。
由于要在子窗口中调用父窗口的数据成员,他们是不同的对话框类,因此操作起来不容易。
解决方法:可以在子窗口中得到父窗口的指针,这样就能得到父窗口的成员。
CMyDlg *dlga=(CMyDlg*)GetParent(); //得到主对话框的指针
问题2:删除与修改操作时怎么得到要删除与修改的学生信息
解决方法:由于列表控件有强大的数处理函数,当点击那一条记录时,会有一个被选中的消息,这样就可以用它来判断要修改和删除的是哪个学生。
问题3:怎么进行排序操作,因为数据是放在列表控件的,并且每一个学生都有较多的信息。
解决方法:用到结构体来存放学生的信息,排序的话可以通过结构体的冒泡排序实现。过程是先从列表控件中得到所有学生的信息存放在结构体数组里,然后进行冒泡排序,最后再放回列表控件中。
四、测试数据组(含数据测试及结果)
导入操作:
录入操作:
删除操作:
选中就可以删除了
修改操作:
先选中学生接着按下修改按钮
排序操作:
按下排序就可以根据学分进行排序
学生信息保存:
学生信息查询:
成功查询结果
五、感想和心得
通过这次的C++课程设计,了解了windows的消息机制。
学会通过MFC的对话框设计学生信息管理系统。其中也包含了许多知识,文件操作,按键的消息响应处理,对话框的创建,对话框的消息传递。排序算法。以及强大的列表控件的使用。
六、参考文献
《Visual C++ 6.0使用教程》
附录:源程序代码(含注释)
初始化列表控件:
学生信息录入:
删除学生信息:
退出本系统操作:
学生信息保存:
学生信息导入:
学生信息查找:
排序实现函数:
成绩排名实现:
显示全部