《面向对象程序设计》课程设计报告:同学通讯录管理程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象程序设计》课程设计报告
目录
1.设计题目 (1)
2.设计目的和内容 (1)
2.1设计目的 (1)
2.2设计内容 (1)
3.基本功能描述 (1)
4.设计思路 (1)
5.软件设计 (2)
5.1设计步骤 (2)
5.2界面设计 (3)
5.3关键功能的实现 (3)
5.3.1添加记录 (3)
5.3.2删除记录 (4)
5.3.3选中记录 (4)
5.3.4确认修改 (4)
5.3.5保存记录 (4)
5.3.6退出 (4)
6.结论与心得体会 (4)
7.参考文献 (4)
8.附录 (5)
8.1调试报告及测试结果 (5)
第I页
8.2关键源代码 (10)
8.2.1 Student类 (10)
8.2.2全局 (10)
8.2.3List Control初始化 (10)
8.2.4添加记录 (11)
8.2.5删除记录 (11)
8.2.6选中记录 (12)
8.2.7修改记录 (12)
8.2.8保存记录 (13)
8.2.9退出程序 (13)
《面向对象程序设计》课程设计报告
1.设计题目
同学通讯录管理程序
2.设计目的和内容
2.1设计目的
1)学习Visual C++的MFC开发程序的步骤。.
2)综合运用所学的类、继承和多态的知识。
3)进一步掌握程序的调试方法。
2.2设计内容
1)利用MFC的向导,创建基于对话框的应用程序,添加按钮、编辑框等控件;
2)设计通讯录的数据结构(如:以数组或者动态链表)和相应的类;
3)完成对通讯录中记录的增加、修改、删除和显示;
4)将通讯录存入文本文件。
3.基本功能描述
可以实现学生信息(姓名、学号、系别、邮箱、电话)的添加、显示、选中修改、删除选中和保存并退出程序的功能。
4.设计思路
1)创建基于对话框的MFC应用程序,添加控件:5个Edit Control、6个Button、1
个List Control;
2)在5个Edit Control分别输入相应信息,点击“添加记录”Button可在List
Control 中显示相应信息,同时清空五个Edit Control以便下一个学生信息的输入;
3)点中List Control选中已有一组学生信息,点击“删除记录”Button可删除该组
信息;
4)点中List Control选中已有一组学生信息,点击“选择该列”Button将该列信息
返回到5个Edit Control。修改完成后点击“确认修改”Button,对List Control 中选中列完成修改;
5)点击“确认保存”将信息保存到文本文档;
6)点击“退出”退出程序。
7)可在D盘查看保存的信息。
第1页
5.软件设计
5.1设计步骤
1) 建立程序,添加变量和函数
打开Microsoft Visual Studio 2010,新建一个基于对话框的MFC应用程序。添加5个Static Text、5个Edit Control、6个Button、1个List Control。在各控件属性中修改Caption,见
表 1。选择项目→类向导,添加成员变量(
表 2)和成员函数(
表 3)。
表 1 Caption
表 2成员变量
表 3成员函数
2) 添加一个Student类,在Ctry2Dlg.cpp中定义Student类的对象数组emily和一个全局变量i。
3) 初始化List Control
在类视图→try2→Ctry2Dlg→OnInitialog()添加初始化的代码
4) 实现添加、删除、修改和保存功能
在类视图→try2→Ctry2Dlg中:
OnClickedButton1add()实现添加记录到List Control功能;
OnClickedButton2delete()实现删除记录功能;
OnClickedButton3modify()实现选中记录返回到相应Edit Control功能;
OnBnClickedOk()实现在OnClickedButton3modify()功能后替换List Control中原有内容确认修改;
OnClickedButton4keep()实现在保存功能;
OnBnClickedCancel()退出程序。
5.2界面设计
界面见图
1
图1界面
5.3关键功能的实现
5.3.1添加记录
利用Edit Control关联的成员变量取其中的值存到对象数组中,再将对象数组中的值显示到List Control,同时清空Edit Control以便下一组学生记录的输入。
i自增1,这样下一个记录便会存储在下一个数组元素中。
5.3.2删除记录
调用m_list.GetSelectionMark选中点击了List Control中的一行;
再调用m_list.DeleteItem删除该行;
调用Student类的delete函数删除数组中的该组信息。
5.3.3选中记录
调用m_list.GetSelectionMark获取点击的那一行;
m_list.GetItemText获取想要的单元格返回到相应的Edit Control。
5.3.4确认修改
结合删除和添加功能即可。
5.3.5保存记录
建立CFile文件类的对象txt,文件路径为d://student.txt;
CFile::modeCreate|CFile::modeWrite为文件操作类型参数设置;
利用GetLength函数字符串长度,再调用Write写入到文本文档;
5.3.6退出
OnBnClickedCancel()退出程序。
6.结论与心得体会
在这个同学通讯录管理程序设计中,通过上网搜索,我学会并使用了很多编写MFC应用程序的函数。在这个过程中,我觉得用msdn进行查询很重要。MFC中有很多函数,功能非常强大,网上有人说“在MFC中只有想不到,没有做不到”。设计过程中虽然遇到了很多次困难,在每次通过查阅资料后解决难题的过程中都有很多意想不到的收获。全力投入后运行成功是无比喜悦的,
C++作为MFC等其他很多程序编写的基础,是非常重要的。这次课程设计过程我发现自己没有好好掌握C++,很多基本的概念没有彻底理解,需要再多看看书,查查资料。
通过这次课程设计,我初步学会了基于对话框的MFC应用程序的设计,我发现原来枯燥的程序编写也有很多快乐,我对编程产生了浓厚兴趣。
7.参考文献
孙鑫.(2006).VC++深入详解北京:电子工业出版社
Visual.C++6.0技术内幕北京:希望电子出版社
侯俊杰.(1998).深入浅出MFC