C手机通讯录专业课程设计Word格式.docx
- 文档编号:14320905
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:26
- 大小:186.24KB
C手机通讯录专业课程设计Word格式.docx
《C手机通讯录专业课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《C手机通讯录专业课程设计Word格式.docx(26页珍藏版)》请在冰豆网上搜索。
完成期限:
自2013年12月5日至2013年12月12日共1周
设计依据、要求及主要内容(可另加附页):
设计依据:
c++程序设计
设计要求:
通过这次课程设计,需要对C++的各个环节知识形成一个有结构的整体,可以熟练的对C++知识进行综合应用,同时达到对已学知识的全面复习。
主要内容:
一、通讯录信息包括:
姓名、地址、(支持多个)、电子
二、支持以下功能:
●添加联系人
●按姓名查找并修改或删除联系人
●支持模糊查询
⏹输入姓名中的一个字,显示所有匹配联系人信息
指导教师(签字):
系(教研室)主任(签字):
批准日期:
2013年6月30日
课程设计进度计划表
序号
起止日期
计划完成内容
实际完成情况
检查日期
检查人签名
1
2013-12-5
完成课程设计任务书
2
2013-12-6
初步完成程序设计,调试程序
3
2013-12-7
-2013-12-11
继续修改调试程序以及完善程序设计
4
2013-12-12
课程设计答辩,完成并提交
指导教师批准,并签名:
2013年6月30日
1、设计目的
.通过实验实现对通讯录系统的管理操作;
.进一步掌握和利用C++进行程设计的能力;
.进一步理解和运用结构化程序设计的思想和方法;
.初步掌握开发一个小型实用系统的基本方法;
.学会利用流程图或N-S图表示算法;
.掌握书写程设计开发文档的能力(书写课程设计报告);
2、总体设计
入到合适的位置,插入后保存联系人到文件并提示添加成功。
3、查找
从键盘上输入联系人名字中的字(一个或多个),根据输入的字,将通讯录中所有联系人姓名和该字进行匹配,从而输出所有包含该字的联系人的信息。
4、删除
根据要删除的姓名,和链表中的联系人姓名一一比较,找到后提示是否确定将联系人的信息删除,选择确定则删除联系人信息并提示删除成功,否则放弃删除操作。
删除后保存剩下的联系人到文件。
5、修改
将要修改的姓名和链表中的联系人姓名一一比较,找到要修改的联系人后,显示修改的选项,包括修改姓名,修改地址,修改,修改和修改完毕选项。
修改完毕后对将联系人进行排序,保证链表中的联系人按姓名有序排列,同时保存联系人到文件并提示修改成功。
6、统计
统计联系人的个数。
7、保存
将链表里的联系人保存到文件里。
8、浏览
将保存在文件里的联系人读取出来,带有相应的界面,实现联系人信息的遍历。
、调试分析
调试前先初始化一个链表,链表包含5个联系人记录。
用冒泡排序法将链表按照姓名进行排序,运行程序,观察链表是否排序成功。
根据联系人的姓名进行插入,调试包括将联系人添加到开始位置,中间位置和最后位置,添加后将所有联系人信息输出,运行程序,观察是否调试成功。
输入要查找联系人姓名的一部分,看能不能将所有包含该输入字符串的联系人输出来。
首先遍历所有联系人信息,分别调试删除开始位置,中间位置,最后位置的联系人,观察是否将联系人正确删除。
修改调试包括修改姓名、、地址、的调试以及同时修改多个属性的调试,修改后遍历所有联系人,观察是否修改成功。
如果修改了姓名,还要观察修改后是否进行了相应的排序。
数一下遍历输出的联系人,观察是否和统计出来的相同。
同时还要测试删除、添加后统计出的数是不是正确的。
运行程序后,打开保存联系人的文件夹,观察文件的内容是否正确。
运行程序,观察是不是文件中的联系人正确读出。
运行程序,观察界面是否满意,如果不满意,一直调试到满意为止。
运行程序,从键盘上随便输入数据,观察程序是否出现bug。
当通讯录为空时,对于执行查询操作、修改操作、删除操作、浏览所有联系人操作、以及查看联系人个数操作,系统均提示“通讯录为空!
”。
4、源程序和运行结果
、源程序
头文件():
#include<
string>
usingnamespacestd;
template<
classDataType>
structNode
{
DataTypedata;
Node<
DataType>
*next;
};
classPerson
public:
charname[10];
//姓名
charaddress[15];
//地址
stringphone;
//
stringmail;
Person()
{}
Person(char*nam,char*addr,stringphone,stringmail)
{
strcpy(name,nam);
strcpy(address,addr);
this->
phone=phone;
mail=mail;
}
classTelebook
Telebook();
//无参构造函数
Telebook(DataTypea[],intn);
//有参构造函数
~Telebook(){};
//析构函数
voidmain_menu();
//主菜单界面
voidset_menu();
//修改菜单界面
voiddelete_menu();
voidsort();
//按姓名进行排序
voidset();
//修改记录
voidlenth();
//记录的个数
voidadd();
//增加记录
voidsearch();
//模糊查询
voiddelet();
//删除记录
voidprintdata();
//遍历记录
voidsave();
//保存记录
private:
Node<
*first;
源文件():
fstream>
strstream>
iomanip>
#include"
"
Telebook<
:
Telebook()//无参构造函数
first=newNode<
;
first->
next=NULL;
}
Telebook(DataTypea[],intn)//有参构造函数
Node<
*r,*s;
first=newNode<
r=first;
for(inti=0;
i<
n;
i++)
{
s=newNode<
s->
data=a[i];
r->
next=s;
r=s;
}
r->
next=NULL;
voidTelebook<
:
main_menu()
cout<
<
*********************************************************"
endl;
*欢迎使用通讯录*"
*1.显示主菜单*"
*2.增加联系人*"
*3.删除联系人*"
*4.浏览联系人*"
*5.修改联系人*"
*6.查看联系人的个数*"
*7.查询*"
*0.退出*"
}//主菜单
set_menu()
*************************************"
**"
}
delete_menu()
*您确定要删除该记录吗?
*"
**"
sort()//排序
{
*p=first->
next;
*q=p->
//q为p的下一个节点
*end=NULL;
while(first->
next!
=end)
{
p=first->
q=p->
while(p->
{
if(strcmp((p->
data).name,(q->
data).name)>
0)
{
DataTypetemp;
temp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 手机 通讯录 专业课程 设计