数据结构课程设计 2Word下载.docx
- 文档编号:22674781
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:16
- 大小:234.70KB
数据结构课程设计 2Word下载.docx
《数据结构课程设计 2Word下载.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计 2Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
1.1、题目
1.2、要求
【模块要求】
第一个模块——主函数main()的功能是:
根据选单的选项调用各函数,并完成相应的功能。
第二个模块——Menu()的功能是:
显示英文提示选单。
第三个模块——Quit()的功能是:
退出选单。
第四个模块——Create()的功能是:
创建新的通讯录。
第五个模块——Add()的功能是:
在通讯录的末尾,写入新的信息,并返回选单。
第六个模块——Find()的功能是:
查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。
第七个模块——Alter()的功能是:
修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。
第八个模块——Delete()的功能是:
删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。
第九个模块——List()的功能是:
显示通讯录中的所有记录。
;
【设计要求】
1)每条信息至包含:
姓名(NAME)、性别(GENDER)、电话(TEL)、城市(CITY)邮编(EIP)几项。
2)作为一个完整的系统,应具有友好的界面和较强的容错能力;
2、总体设计
2.1、功能模块设计
根据课程设计题目的功能要求,各个功能模块的组成框图如下:
2.2、所有功能模块的流程图
3、详细设计
模块功能说明:
如函数功能、入口及出口参数说明,函数调用关系描述等;
3.1、程序中所采用的数据结构及存储结构的说明
classBASEDATA
{
public:
HRESULTCreateData(void);
friendclassADDRESSBOOK;
private:
INTCode;
//邮政编码
BOOLbGender;
//性别
INTTel;
//电话号码
stringsName;
//姓名
stringsCity;
//城市
};
//BaseData
子存储结构:
classADDRESSBOOK
ADDRESSBOOK(VOID);
//constructor
VOIDMenu(VOID);
VOIDQuit(VOID);
HRESULTCreate(VOID);
HRESULTAdd(VOID);
vector<
BASEDATA>
:
size_typeFind(VOID);
HRESULTAlter(VOID);
HRESULTDelete(VOID);
VOIDList(VOID);
Data;
//基本存储结构容器
//AddressBook
3.2、算法的设计思想
BASEDATA为基本的存储结构,包含最为基本的数据类型。
子存储结构通过友元访问基本存储结构的私有成员,调用接口修改该和创建元素。
F10启动调试,编译器开始编译源码,编译成功,排除语法错误,现逐块执行语句。
显示<
>
DataBasehasbeeninitialized!
表明数据结构已经创建完毕,自动窗口显示变量为:
继续逐块执行,输出菜单选项;
逐个功能测试,查看是否有中断出现。
4.2、测试结果的分析与讨论:
追加功能:
查找功能:
修改功能:
列表功能:
删除功能:
4.3、测试过程中遇到的主要问题及采取的解决措施:
本人逻辑很好,已在写码前构思完整,基本没有测试问题(语法/逻辑)。
对于本程序速度会较慢的问题,本人已经使用Release优化,并设置多线程(/MT)将需要的DLL编译至exe文件中,使得不含开发环境的计算机可以执行本程序。
5、源程序清单和执行结果
//--------------------------------------------------------
//项目(ITEM):
通讯录AddressBook
//时间(TIME):
2011/11/21
//作者(WIRTER):
赵洋(ElanChao),方圆
//环境(COMPILEENVIRONMENT):
MicrosoftVisualStudio2010,
//Windows7ProfessionalServicePark1x64
#include<
iostream>
string>
vector>
Windows.h>
usingnamespacestd;
HRESULTCreateData(void)
{
stringtmp;
cout<
<
"
Enterthedatayouwant"
<
endl;
Order:
Name,Gender,Tel,City,Code;
"
cin>
sName>
tmp>
Tel>
sCity>
Code;
if(tmp=="
man"
)
bGender=1;
else
bGender=0;
sName<
"
tmp<
Tel<
<
sCity<
Code<
returnS_OK;
}
ADDRESSBOOK(VOID)//constructor
{cout<
}
VOIDADDRESSBOOK:
Menu(VOID)
cout<
Enterthekeys:
-------------------------------------------"
->
CREATE
(2);
ADD(3);
FIND(4);
ALTER(5);
DELETE(6);
LIST(7);
QUIT(8);
}
Quit(VOID)
exit(0);
HRESULTADDRESSBOOK:
Create(VOID)
Warning:
Clearallthedata!
Data.clear();
Information:
Createnewdata
(2)!
returnS_OK;
Add(VOID)
BASEDATATmp;
if(SUCCEEDED(Tmp.CreateData()))
Data.push_back(Tmp);
else
returnE_FAIL;
vector<
size_typeADDRESSBOOK:
Find(VOID)
stringtmp;
PleaseEnterthename:
cin>
tmp;
for(vector<
size_typei=0;
i!
=Data.size();
++i)
if(tmp==Data[i].sName)
{
cout<
Data[i].sName<
Data[i].Tel
<
Data[i].Code<
Data[i].sCity<
if(Data[i].bGender==1)
cout<
else
womam"
returni;
}
Don'
texist!
returnData.size();
Alter(VOID)
size_typeiter=Find();
if(iter==Data.size())
BASEDATAtmp;
tmp.CreateData();
Data[iter]=tmp;
Delete(VOID)
Data[iter].bGender=1;
Data[iter].Code=0;
Data[iter].sCity="
default"
Data[iter].sName="
Data[iter].Tel=0;
Delete!
List(VOID)
if(Data.size()==0)
Warning->
NoData!
for(vector<
i!
i<
//DESC:
GlobalVariable
ADDRESSBOOKtest;
VOIDKeyDown(VOID)
INTtmp;
switch(tmp)
case1:
test.Menu();
break;
//one
case2:
test.Create();
//two
case3:
test.Add();
break;
//three
case4:
test.Find();
//four
case5:
test.Alter();
//five
case6:
test.Delete();
//six
case7:
test.List();
//seven
case8:
test.Quit();
//eight
VOIDOperation(VOID)
for(;
{
KeyDown();
Operationcompleted!
\n<
Now,gotothemanu:
//---------------------------------------------------------
Main
INTmain(INTargc,CHAR**argv)
Operation();
system("
pause"
);
return0;
}
6、C程序设计总结
时代的发展使得程序更加多用途化,而良好的编译代码习惯将有助于程序开发的进度。
编写代码只是程序设计的一小部分,关键在于前期的思维。
良好的数据结构使得程序效率极大提高和适应多种数据类型,缜密的思考方式有助于减少程序本身的bug,而熟悉debug调试和断点以及监视,将协助开发人员快速找到错误所在。
对于程序在不同windows平台的运行,理解程序和各种DLL之间的关系至关重要。
7、参考文献
[1][US]KennethA.Reek,PointersonC,北京:
人民邮电出版社
[2][US]StanleyB.Lippman,José
eLajoie,BarbaraE.Moo,C++Primer,北京:
[3]GOOGLESEARCH
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构课程设计 数据结构 课程设计