- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
精选
课程设计报告
通讯录管理系的设计与实现
姓名:钟婷英 班级:计122
学号:1213023039 时间:2014年1月10日
1,问题描述
通讯录是用来记载和查询联系人通讯信息的工具,电子通讯录已经为手机,电子词典等设备中不可缺少的工具软件,请设计一个能够满足这种需求的软件,基本功能模块如下图所示。
主程序
主程序
插入退出移动修改排序删除查找读入保存显示输入
插入
退出
移动
修改
排序
删除
查找
读入
保存
显示
输
入
输入:记录的录入。
显示:通讯录的显示。
查找:按指定方式,输入关键字,查找指定记录。
插入:实现记录的添加或在指定位置插入记录。
保存:将内存中正在被操作的通讯录以文件形式保存到磁盘。
读入:保存的逆操作,讲存在磁盘中的通讯录文件读到内存中。
排序:按指定关键字对通讯录数据进行排序。
修改:提供修改某条记录的功能。
移动:移动记录在通讯录中的存储位子,使其被查找或显示时的位序前移或后移。
退出:结束程序运行。
2,设计要求
设计通讯录数据的逻辑结构和物理结构。
通讯录至少包括下列数据信息:姓名,电话,单位等。
完成图示基本功能。
软件易用,操作简单。
根据自己使用通讯录体会扩充其他功能,如按姓名查找,按号码查找,按序号删除等。
设计足够多的测试用例
数据输入有效性检验:如姓名不能为空,号码中不能有非法字符等。
提供分组管理的相关功能,如:分组显示,加入组,组创建,组查询等。
可视化的界面设计。
3,概要设计
1,使用struct data struct addressList定义结构体类型,struct data结构体中包括年月日的定义,strcut addressList中包括联系人ID账号,名字,性别,名族,生日,手机号码,QQ号码和家庭地址等。
struct date
{
int year;
int month;
int day;
};
struct addressList
{
char ID[10];
char name[10];
char gender[4];
char minzu[2];
date birthday;
char shoujihao[14];
char QQ[11];
char address[40];
};
2,程序设计过程中用到的函数有:
int zhujiemian( );
void tianjia(fstream & );
void xiugai(fstream & );
void shanchu(fstream & );
void chazhao(fstream & );
void liulan(fstream & );
int findRecord(fstream &, const char *);
int getAmount(fstream & );
3,整个程序用的是面向对象的方法,在主函数中调用各种函数,来实现通讯录的功能。在主函数中,使用的是c++语言中的开关语句(switch)用来选择通讯录的各种功能。
开始
开始
1,
添加联系人
2,删除联系人
3,修改联系人
4,查询联系人
5,浏览联系人
6,退出
结束
菜单开始
4,在各个函数的编译过程中使用了system(“cls)命令,进项清屏工作,在利用各种输出命令。,
************************************************※
************************************************
※ 通讯录 ※
************************************************
添加联系人信息
删除联系人信息
修改联系人信息
查询联系人信息
浏览联系人信息
退出
************************************************
请选择:
采用了单链表形式,使得选择更加方便,快速。程序段为:
int zhujiemian( )
{
system("cls");
int selection=0;
cout<<"***********************************************"<<endl;
cout<<" ※ 通讯录 ※"<<endl;
cout<<"***********************************************"<<endl;
文档评论(0)