数据结构课程设计()_第1页
数据结构课程设计()_第2页
数据结构课程设计()_第3页
数据结构课程设计()_第4页
数据结构课程设计()_第5页
已阅读5页,还剩6页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1/1数据结构课程设计安徽省巢湖学院计算机与信息工程学院

课程设计报告

课程名称:《数据结构》

课题名称:通讯录的制作

专业:计算机科学与技术

班级:

学号:姓名:

联系方式:指导老师:

2023年11月21日

名目

1、数据结构课程设计任务书1

1.1、题目1

1.2、要求1

2、总体设计1

2.1、功能模块设计1

2.2、全部功能模块的流程图2

3、具体设计2

3.1、程序中所采纳的数据结构及存储结构的说明2

4、调试与测试:3

5、源程序清单和执行结果5

6、C程序设计总结5

7、

1、数据结构课程设计任务书

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、程序中所采纳的数据结构及存储结构的说明

INTCode;//邮政编码

BOOLbGender;//性别

INTTel;//电话号码

stringsName;//姓名

stringsCity;//城市

};//BaseData

子存储结构:

classADDRESSBOOK

{

public:

ADDRESSBOOK(VOID);//constructor

VOIDMenu(VOID);

VOIDQuit(VOID);

HRESULTCreate(VOID);

HRESULTAdd(VOID);

vector::size_typeFind(VOID);

HRESULTAlter(VOID);

HRESULTDelete(VOID);

VOIDList(VOID);

private:

vectorData;//基本存储结构容器

};//AddressBook

3.2、算法的设计思想

BASEDATA为基本的存储结构,包含最为基本的数据类型。子存储结构通过友元访问基本存储结构的私有成员,调用接口修改该和创建元素。

4、调试与测试:

F10启动调试,编译器开头编译源码,编译胜利,排解语法错误,现逐块执行语句。

显示DataBasehasbeeninitialized!表明数据结构已经创建完毕,自动窗口显示变量为:

连续逐块执行,输出菜单选项;

逐个功能测试,查看是否有中断消失。

4.2、测试结果的分析与争论:

追加功能:

查找功能:

修改功能:

列表功能:

删除功能:

4.3、测试过程中遇到的主要问题及实行的解决措施:

本人规律很好,已在写码前构思完整,基本没有测试问题(语法/规律)。对于本程序速度会较慢的问题,本人已经使用Release优化,并设置多线程(/MT)将需要的DLL编译至exe文件中,使得不含开发环境的计算机可以执行本程序。

5、源程序清单和执行结果

//

//项目(ITEM):通讯录AddressBook

//时间(TIME):2023/11/21

//(WIRTER):赵洋(ElanChao),方圆

//环境(COMPILEENVIRONMENT):MicrosoftVisualStudio2023,

//Windows7ProfessionalServicePark1x64

//

#include

#include

#include

#include

usingnamespacestd;

classBASEDATA

{

public:

HRESULTCreateData(void)

{

stringtmp;

coutEnterthedatayouwant"Order:Name,Gender,Tel,City,Code;">sName>>tmp>>Tel>>sCity>>Code;

if(tmp=="man")

bGender=1;

else

bGender=0;

coutDataBasehasbeeninitialized!"::size_typeFind(VOID);

HRESULTAlter(VOID);

HRESULTDelete(VOID);

VOIDList(VOID);

private:

vectorData;

};//AddressBook

VOIDADDRESSBOOK::Menu(VOID)

{

coutEnterthekeys:"CREATE(2);"ADD(3);"FIND(4);"DELETE(6);"LIST(7);"QUIT(8);"Warning:Clearallthedata!"Information:Createnewdata(2)!"::size_typeADDRESSBOOK::Find(VOID)

{

stringtmp;

coutPleaseEnterthename:">tmp;

for(vector::size_typei=0;

i!=Data.size;++i)

{

if(tmp==Data[i].sName)

{

coutWarning:Don'texist!"::size_typeiter=Find;

if(iter==Data.size)

returnE_FAIL;

else

{

BASEDATAtmp;

tmp.CreateData;

Data[iter]=tmp;

returnS_OK;

}

}

HRESULTADDRESSBOOK::Delete(VOID)

{

vector::size_typeiter=Find;

if(iter==Data.size)

returnE_FAIL;

else

{

Data[iter].bGender=1;

Data[iter].Code=0;

Data[iter].sCity="default";

Data[iter].sName="default";

Data[iter].Tel=0;

}

coutDelete!"NoData!"::size_typei=0;i!=Data.size;++i)

{

cout>tmp;

switch(tmp)

{

case1:test.Menu;break;//one

case2:test.Create;break;//two

case3:test.Add;break;//three

case4:test.Find;break;//four

case5:test.Alter;break;//five

case6:test.Delete;break;//six

case7:test.List;break;//seven

case8:test.Quit;break;//eight

}

}

VOIDOperation(VOID)

{

for(;;)

{

KeyDown;

coutOperationcompleted!\nNow,gotothemanu:"Enterthekeys:"<<endl;

}

}

//

//DESC:Main

//

INTmain(INTargc,CHAR**argv)

{

test.Menu;

Operation;

system("pause");

r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论