设计实现简单的通讯录C++课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

`

《计算机科学与应用系程序类课程设计》

设计报告书

题目:设计并实现简单的通讯录

指导教师:

姓名:

学号:

\

日期: 2013/5/16 计算机科学与应用系 2012-2013学年第二学期

一、需求分析

●功能需求分析:

通讯录主要有一下模块:录入纪录、查询纪录、修改纪录、显示纪录、删除纪录、清空纪录、退出操作,其中姓名可以由字符和数字混合编码,电话号码可由字符和数字组成。

○通讯录界面设计

主要功能是设计通讯录的界面,能够提示用户的实际操作等。我采用的是按照序号来实现相应的操作的,其中:录入纪录(I/i),查询纪录(S/s),修改纪录(M/m),显示纪录(D/d),删除纪录(X/x),清空纪录(Q/q),退出操作(E/e)。

○通讯录添加联系人模块

主要功能是添加联系人模块,添加操作是根据用户的要求实现的。按实际情况,将通讯录的录入选项加多,包括添加联系人的姓名,性别,出生年月,学校,班级,电话号码,邮政编码, QQ号,家庭住址,最后输入完成后,将提示是否继续输入!

○通讯录查询联系人模块

主要功能是查询已添加的联系人。其中包括按名字查找和按班级查找。如果没有这条记录,将提示对不起,你要查找的数据不存在!反之,将分条显示该成员的数据。

○通讯录修改联系人模块

主要是修改联系人的信息,界面提示要输入密码(1)和学生姓名,如果不正确,显示要修改的学生不存在。如果正确,则显示出改联系人的所有信息,并提示根据下面提示修改信息,姓名,性别,出生年月,学校,班级,电话号码,邮政编码, QQ号,家庭住址。

○通讯录删除联系人模块

主要功能是删除不再需要的联系人。其中包括输入你要删除输入电话或电话号码如果没有的话,将提示:要删除的学生不存在!如果找到,则提示删除联系人的所有信息和这个人的信息已经从你的通讯录中删除的信息!

○通讯录显示所有联系人模块

显示所有的联系人的信息,包括姓名、电话、QQ、邮编、地址并提示所有联

系人已经全部显示出来!!

○通讯录关闭通讯录模块

提示谢谢您的使用!

●环境需求分析:

(

操作系统: Windows 7

开发软件:

●方法需求分析

该系统由于数据可能会很大,故采用文件操作,能够打开或修改指定文件及将多个文件组成一个文件。而联系人的信息则通过类的对象来保存,它完全使用类来实现,充分体现面向对象的程序设计特点。

二、系统主要功能

●建立文件

○存储文件可以使用默认文件名或指定文件名。

○可以不保存输入记录,但需要确认是否保存输入记录。

!

○如果已经有文件,只能在其后追加

○新增的记录可以不存入原文件中,也可以用原来的文件覆盖内存的内容。

○可以将指定文件的内容追加到目前内存的链表后面。

●文件的存取和显示

○可以单独存取文件。

○可以随时显示内存中记录的全部内容。

○可以直接存取默认文件或指定文件。

●删除记录

○可以按“姓名”方式删除记录并更新。

○能给出被删除记录的信息。

○如果已经是空表,删除时应该给出提示信息并返回主菜单。

○如果没有要删除的信息,输出“没有找到”的信息。

●查询记录

○可以按“姓名”或“班级“方式查询记录。

○能给出查询记录的信息。

○如果查询的信息不存在,输出“没有找到“的信息。

●整体性能

○应可以随时检索、删除或增加新记录,也可以保存或取消新的记录。○姓名可由字符和数字混合编码。

○电话号码可由字符和数字组成。

三、流程图

总菜单选项

四、数据结构设计

软件中使用的结构体和结构体数组,如:

/

strcpy(st[i].name,name);

strcpy(st[i].sex,sex);

strcpy(st[i].birth,birth);

strcpy(st[i].school,school);

st[i].Class=Class;

strcpy(st[i].tel,tel);

strcpy(st[i].box,box);

strcpy(st[i].qq,qq);

strcpy(st[i].address,address);

};

对用户的信息进行保存,他们都以二进制的形式读写。其中:cout<<"请输入要修改的学生的姓名:\t";

char pName[20];

cin>>pName;

for(i=0;i

·

分别对姓名、地址、邮编、电话号码等进行储存

在子函数中运用了结构体数组

还运用了头文件:

其中还使用大量的子函数,例如:

void input(); ame;

cout<<"\t请输入性别:\t";

cin>>st[i].sex;

cout<<"\t请输入出生年月(如199109):";

·

cin>>st[i].birth;

cout<<"\t请输入学校:\t";

cin>>st[i].school;

cout<<"\t请输入班级(数字):\t";

cin>>st[i].Class;

cout<<"\t请输入电话号码:\t";

相关文档
最新文档