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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构课程设计 2.docx

1、数据结构课程设计 2安徽省巢湖学院计算机与信息工程学院课程设计报告课程名称:数据结构课题名称:通讯录的制作专 业:计算机科学与技术班 级: 学 号: 姓 名: 联系方式:指导教师: 2011年11月21日目 录1、数据结构课程设计任务书 1.1、题目 1.2、要求 2、总体设计 2.1、功能模块设计 2.2、所有功能模块的流程图 3、详细设计 3.1、程序中所采用的数据结构及存储结构的说明 4、调试与测试: 5、源程序清单和执行结果 6、C程序设计总结 7、参考文献 1、数据结构课程设计任务书1.1、题目通讯录的制作1.2、要求【模块要求】第一个模块主函数main()的功能是:根据选单的选项调

2、用各函数,并完成相应的功能。 第二个模块Menu()的功能是:显示英文提示选单。 第三个模块Quit()的功能是:退出选单。 第四个模块Create()的功能是:创建新的通讯录。 第五个模块Add()的功能是:在通讯录的末尾,写入新的信息,并返回选单。 第六个模块Find()的功能是:查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。 第七个模块Alter()的功能是:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。 第八个模块Delete()的功能是:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人

3、的信息,并返回选单。 第九个模块List()的功能是:显示通讯录中的所有记录。;【设计要求】1) 每条信息至包含 :姓名(NAME )、性别(GENDER)、电话(TEL) 、城市(CITY)邮编(EIP)几项。2) 作为一个完整的系统,应具有友好的界面和较强的容错能力;2、总体设计2.1、功能模块设计根据课程设计题目的功能要求,各个功能模块的组成框图如下:2.2、所有功能模块的流程图3、详细设计模块功能说明:如函数功能、入口及出口参数说明,函数调用关系描述等;3.1、程序中所采用的数据结构及存储结构的说明class BASEDATApublic: HRESULT CreateData(voi

4、d); friend class ADDRESSBOOK;private: INT Code; /邮政编码 BOOL bGender; /性别 INT Tel; /电话号码 string sName; /姓名 string sCity; /城市;/BaseData子存储结构:class ADDRESSBOOKpublic: ADDRESSBOOK(VOID); /constructor VOID Menu(VOID); VOID Quit(VOID); HRESULT Create(VOID); HRESULT Add(VOID); vector:size_type Find(VOID); H

5、RESULT Alter(VOID); HRESULT Delete(VOID); VOID List(VOID);private: vector Data; /基本存储结构容器;/AddressBook3.2、算法的设计思想BASEDATA为基本的存储结构,包含最为基本的数据类型。子存储结构通过友元访问基本存储结构的私有成员,调用接口修改该和创建元素。4、调试与测试:F10启动调试,编译器开始编译源码,编译成功,排除语法错误,现逐块执行语句。显示 Data Base has been initialized! 表明数据结构已经创建完毕,自动窗口显示变量为:继续逐块执行,输出菜单选项;逐个功能

6、测试,查看是否有中断出现。4.2、测试结果的分析与讨论:追加功能:查找功能:修改功能:列表功能:删除功能:4.3、测试过程中遇到的主要问题及采取的解决措施:本人逻辑很好,已在写码前构思完整,基本没有测试问题(语法/逻辑)。对于本程序速度会较慢的问题,本人已经使用Release优化,并设置多线程(/MT)将需要的DLL编译至exe文件中,使得不含开发环境的计算机可以执行本程序。5、源程序清单和执行结果/-/项目(ITEM):通讯录 Address Book/时间(TIME):2011/11/21/作者(WIRTER):赵洋(Elan Chao), 方圆/环境(COMPILE ENVIRONMEN

7、T):Microsoft Visual Studio 2010,/ Windows 7 Professional Service Park 1 x64/-#include #include #include #include using namespace std;class BASEDATApublic: HRESULT CreateData(void) string tmp; cout Enter the data you want endl; cout Order: Name, Gender, Tel, City, Code; sName tmp Tel sCity Code; if(t

8、mp = man) bGender = 1; else bGender = 0; cout sName , tmp , Tel , sCity , Code ; endl; return S_OK; friend class ADDRESSBOOK;private: INT Code; BOOL bGender; INT Tel; string sName; string sCity;/BaseDataclass ADDRESSBOOKpublic: ADDRESSBOOK(VOID) /constructor cout Data Base has been initialized! endl

9、; VOID Menu(VOID); VOID Quit(VOID); HRESULT Create(VOID); HRESULT Add(VOID); vector:size_type Find(VOID); HRESULT Alter(VOID); HRESULT Delete(VOID); VOID List(VOID);private: vector Data;/AddressBookVOID ADDRESSBOOK:Menu(VOID) cout Enter the keys: endl; cout - endl; cout CREATE(2); endl; cout ADD(3);

10、 endl; cout FIND(4); endl; cout ALTER(5); endl; cout DELETE(6); endl; cout LIST(7); endl; cout QUIT(8); endl; cout - endl;VOID ADDRESSBOOK:Quit(VOID) exit(0);HRESULT ADDRESSBOOK:Create(VOID) cout Warning: Clear all the data! endl; Data.clear(); cout Information: Create new data(2)! endl; return S_OK

11、;HRESULT ADDRESSBOOK:Add(VOID) BASEDATA Tmp; if(SUCCEEDED(Tmp.CreateData() Data.push_back(Tmp); return S_OK; else return E_FAIL;vector:size_type ADDRESSBOOK:Find(VOID) string tmp; cout Please Enter the name: tmp; for(vector:size_type i = 0; i != Data.size(); +i) if(tmp = Datai.sName) cout Datai.sNam

12、e , Datai.Tel , Datai.Code , Datai.sCity ,; if(Datai.bGender = 1) cout man endl; else cout womam endl; return i; cout Warning: Dont exist! endl; return Data.size();HRESULT ADDRESSBOOK:Alter(VOID) vector:size_type iter = Find(); if(iter = Data.size() return E_FAIL; else BASEDATA tmp; tmp.CreateData()

13、; Dataiter = tmp; return S_OK; HRESULT ADDRESSBOOK:Delete(VOID) vector:size_type iter = Find(); if(iter = Data.size() return E_FAIL; else Dataiter.bGender = 1; Dataiter.Code = 0; Dataiter.sCity = default; Dataiter.sName = default; Dataiter.Tel = 0; cout Delete! endl; return S_OK;VOID ADDRESSBOOK:Lis

14、t(VOID) if(Data.size() = 0) cout No Data! endl; else for(vector:size_type i = 0; i != Data.size(); +i) cout i :; cout Datai.sName , Datai.Tel , Datai.Code , Datai.sCity ,; if(Datai.bGender = 1) cout man endl; else cout womam tmp; switch( tmp ) case 1: test.Menu(); break; /one case 2: test.Create();

15、break; /two case 3: test.Add(); break; /three case 4: test.Find(); break; /four case 5: test.Alter(); break; /five case 6: test.Delete(); break; /six case 7: test.List(); break; /seven case 8: test.Quit(); break; /eight VOID Operation(VOID) for(;) KeyDown(); cout - endl; cout Operation completed!n N

16、ow, go to the manu: endl; cout - endl; cout Enter the keys: endl; /-/DESC:Main/-INT main(INT argc, CHAR *argv) test.Menu(); Operation(); system(pause); return 0; 6、C程序设计总结时代的发展使得程序更加多用途化,而良好的编译代码习惯将有助于程序开发的进度。编写代码只是程序设计的一小部分,关键在于前期的思维。良好的数据结构使得程序效率极大提高和适应多种数据类型,缜密的思考方式有助于减少程序本身的bug,而熟悉debug调试和断点以及监视,将协助开发人员快速找到错误所在。对于程序在不同windows平台的运行,理解程序和各种DLL之间的关系至关重要。7、参考文献1 USKenneth A.Reek, Pointers on C, 北京:人民邮电出版社2 USStanley B.Lippman, Jose Lajoie,Barbara E.Moo, C+ Primer, 北京:人民邮电出版社3 GOOGLE SEARCH

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

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