ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:369.08KB ,
资源ID:27702166      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27702166.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(面向对象程序设计课程设计报告同学通讯录管理程序.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

面向对象程序设计课程设计报告同学通讯录管理程序.docx

1、面向对象程序设计课程设计报告同学通讯录管理程序1. 设计题目同学通讯录管理程序2. 设计目的和内容2.1设计目的1) 学习Visual C+的MFC开发程序的步骤。.2) 综合运用所学的类、继承和多态的知识。3) 进一步掌握程序的调试方法。2.2设计内容1) 利用MFC的向导,创建基于对话框的应用程序,添加按钮、编辑框等控件;2) 设计通讯录的数据结构(如:以数组或者动态链表)和相应的类;3) 完成对通讯录中记录的增加、修改、删除和显示;4) 将通讯录存入文本文件。3. 基本功能描述可以实现学生信息(姓名、学号、系别、邮箱、电话)的添加、显示、选中修改、删除选中和保存并退出程序的功能。4. 设

2、计思路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,对Lis

3、t Control中选中列完成修改;5) 点击“确认保存”将信息保存到文本文档;6) 点击“退出”退出程序。7) 可在D盘查看保存的信息。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控件IDCaption控件IDCaptionIDC_STATIC姓名I

4、DC_BUTTON1添加记录IDC_STATIC学号IDC_BUTTON2删除记录IDC_STATIC系别IDC_BUTTON3选择该列IDC_STATIC邮箱IDC_BUTTON4确认保存IDC_STATIC电话IDCANCEL退出IDOK确认修改表 2成员变量控件类型成员IDC_EDIT1CStringm_nameIDC_EDIT2CStringm_numIDC_EDIT3CStringm_insIDC_EDIT4CStringm_emailIDC_EDIT5CStringm_callIDC_LIST1CListCtrlm_list表 3成员函数函数名称命令ID消息OnBnClickedC

5、ancelIDCANCELBN_CLICKEDOnBnClickedOkIDOKBN_CLICKEDOnClickedButton1addIDC_BUTTON1BN_CLICKEDOnClickedButton2deleteIDC_BUTTON2BN_CLICKEDOnClickedButton3modifyIDC_BUTTON3BN_CLICKEDOnClickedButton3keepIDC_BUTTON4BN_CLICKED2) 添加一个Student类,在Ctry2Dlg.cpp中定义Student类的对象数组emily和一个全局变量i。3) 初始化List Control在类视图tr

6、y2Ctry2DlgOnInitialog()添加初始化的代码4) 实现添加、删除、修改和保存功能在类视图try2Ctry2Dlg中:OnClickedButton1add()实现添加记录到List Control功能;OnClickedButton2delete()实现删除记录功能;OnClickedButton3modify()实现选中记录返回到相应Edit Control功能;OnBnClickedOk()实现在OnClickedButton3modify()功能后替换List Control中原有内容确认修改;OnClickedButton4keep()实现在保存功能;OnBnClic

7、kedCancel()退出程序。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.GetS

8、electionMark获取点击的那一行;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. 结论与心得体会在这个同学通讯录管理程序设计中,通过上网搜索,我学会并使用了很多编写应用程序的函数。在这个过程

9、中,我觉得用进行查询很重要。中有很多函数,功能非常强大,网上有人说“在中只有想不到,没有做不到”。设计过程中虽然遇到了很多次困难,在每次通过查阅资料后解决难题的过程中都有很多意想不到的收获。全力投入后运行成功是无比喜悦的,作为等其他很多程序编写的基础,是非常重要的。这次课程设计过程我发现自己没有好好掌握,很多基本的概念没有彻底理解,需要再多看看书,查查资料。通过这次课程设计,我初步学会了基于对话框的MFC应用程序的设计,我发现原来枯燥的程序编写也有很多快乐,我对编程产生了浓厚兴趣。7. 参考文献孙鑫.(2006).VC+深入详解北京:电子工业出版社Visual.C+6.0技术内幕北京:希望电子

10、出版社侯俊杰.(1998).深入浅出MFC8. 附录8.1调试报告及测试结果 图 2运行初始界面图 3键入信息图 4点击“添加记录”图 5再添加一个学生信息图 6点击第一行后点击“选择该列”取出信息到Edit Control图 7修改信息图 8点击“确认修改”图 9点击emily行后点击“删除记录”图 10点击yukaiyuan行后点击“选择该列”图 11点击“确认保存”图 12 D盘自动生产student.txt8.2关键源代码8.2.1 Student类class Studentpublic: Student(void); Student(void); CString name; CStr

11、ing num; CString ins; CString email; CString call; void Delete();8.2.2全局Student emily15;int i=0;8.2.3List Control初始化BOOL Ctry2Dlg:OnInitDialog() / TODO: 在此添加控件通知处理程序代码 DWORD dwStyle = m_list.GetExtendedStyle(); m_list.SetExtendedStyle(dwStyle|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); m_list.InsertColu

12、mn(0,_T( 姓名); m_list.InsertColumn(1, _T(学号); m_list.InsertColumn(2,_T( 院系); m_list.InsertColumn(3,_T( 邮箱); m_list.InsertColumn(4,_T( 电话); m_list.SetColumnWidth(0, 80); m_list.SetColumnWidth(1, 80); m_list.SetColumnWidth(2, 120); m_list.SetColumnWidth(3, 120); m_list.SetColumnWidth(4, 120); return TR

13、UE; 8.2.4添加记录void Ctry2Dlg:OnClickedButton1add() / TODO: 在此添加控件通知处理程序代码? UpdateData(); emilyi.name=m_name; emilyi.num=m_num; emilyi.ins=m_ins; emilyi.email=m_email; emilyi.call=m_call; int nCurItem = m_list.InsertItem(0,emilyi.name); m_list.SetItemText(nCurItem, 1,emilyi.num); m_list.SetItemText(nCu

14、rItem, 2, emilyi.ins); m_list.SetItemText(nCurItem, 3,emilyi.email); m_list.SetItemText(nCurItem, 4, emilyi.call); m_name=; m_num=; m_ins=; m_email=; m_call=; UpdateData(FALSE); i=i+1;8.2.5删除记录void Ctry2Dlg:OnClickedButton2delete() / TODO: i=m_list.GetSelectionMark (); m_list.DeleteItem(i); emilyi.D

15、elete();8.2.6选中记录void Ctry2Dlg:OnClickedButton3modify() / TODO: 在此添加控件通知处理程序代码 i=m_list.GetSelectionMark (); /获取点击的那一行 emilyi.name= m_list.GetItemText(i,0);/获得已被选择的行 SetDlgItemText(IDC_EDIT1,emilyi.name); emilyi.num=m_list.GetItemText(i,1); SetDlgItemText(IDC_EDIT2,emilyi.num); emilyi.ins=m_list.Get

16、ItemText(i,2); SetDlgItemText(IDC_EDIT3,emilyi.ins); emilyi.email=m_list.GetItemText(i,3); SetDlgItemText(IDC_EDIT4,emilyi.email); emilyi.call=m_list.GetItemText(i,4); SetDlgItemText(IDC_EDIT5,emilyi.call);8.2.7修改记录void Ctry2Dlg:OnBnClickedOk() / TODO: 在此添加控件通知处理程序代码? i=m_list.GetSelectionMark (); m

17、_list.DeleteItem(i); emilyi.Delete(); UpdateData(); emilyi.name=m_name; emilyi.num=m_num; emilyi.ins=m_ins; emilyi.email=m_email; emilyi.call=m_call; int nCurItem = m_list.InsertItem(i,emilyi.name); m_list.SetItemText(nCurItem, 1,emilyi.num); m_list.SetItemText(nCurItem, 2, emilyi.ins); m_list.SetIt

18、emText(nCurItem, 3,emilyi.email); m_list.SetItemText(nCurItem, 4, emilyi.call); m_name=; m_num=; m_ins=; m_email=; m_call=; UpdateData(FALSE);8.2.8保存记录/ TODO: 在此添加控件通知处理程序代码 CFile txt; int j; txt.Open( _T(d:/student.txt) ,CFile:modeCreate|CFile:modeWrite); for(int i=0;i15;i+) j=emilyi.name.GetLength

19、(); txt.Write(emilyi.name,2*j); j=emilyi.num.GetLength(); txt.Write(emilyi.num,2*j); j=emilyi.ins.GetLength(); txt.Write(emilyi.ins,2*j); j=emilyi.email.GetLength(); txt.Write(emilyi.email,2*j); j=emilyi.call.GetLength(); txt.Write(emilyi.call,2*j); txt.Close();8.2.9退出程序void Ctry2Dlg:OnBnClickedCancel() / TODO: 在此添加控件通知处理程序代码 CDialogEx:OnCancel();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1