c++-简单通讯录管理系统--课程设计-报告.doc 立即下载
2025-01-04
约1.2万字
约16页
0
94KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

c++-简单通讯录管理系统--课程设计-报告.doc

c++-简单通讯录管理系统--课程设计-报告.doc

预览

免费试读已结束,剩余 11 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

PAGE\*MERGEFORMAT16





目录

















程序功能分析******************

主要数据结构*******************

主要特色**********************

源代码*************************

测试数据组******************

心得和感想********************


程序功能分析
实现以下功能:
1)通讯录编辑(输入、储存、添加、删除、显示);
2)按不同的项进行查找;
3)对已存在的通讯录按不同的项排序;
4)将通讯录写入文件;
5)从文件读入通讯录。

主要数据结构
classNode
{
charName[10];//姓名
intOfficePhone;//办公室电话
	intHomePhone;//住宅电话
charMobilePhone[15];//手机号码
charEMail[20];//email地址
Node*Next;//下一结点指针
public:
Node(char*pname=NULL,intophone=0,inthphone=0,char*pmphone=NULL,char*pemail=NULL);
voidShow();//显示结点数据
voidSetName(char*name);//修改姓名
voidSetOfficePhone(into);//修改办公室电话
voidSetHomePhone(inth);//修改住宅电话
voidSetMobilePhone(char*m);//修改手机号码
voidSetEMail(char*e);//修改email地址
friendclassAddrList;//将AddrList类说明为友元类
friendvoidaddfromtxtfile(AddrList&);//将addfromtxtfile说明为友元函数
friendvoidwritetotxtfile(AddrList&);//将writetotxtfile说明为友元函数
};
classAddrList
{
Node*HeadPtr;//链表首指针
Node*TailPtr;//链表尾指针
intTag;//排序状态标志,当Tag=1时,按姓名排序当Tag=2时,按办公室电话排序
public://成员函数
	AddrList(Node*head=NULL,Node*tail=NULL,inttag=1)//构造函数,产生空链表,将tag的值置为1
voidAddTail(Node*p)//将p指向的结点加入到链表尾部
voidAddSort(Node*p)//将p指向的结点按Tag指定的顺序插入到链表中
Node*LookUp(char*name)//按姓名查找结点,返回该结点指针
voiddel(char*name)//删除指定姓名的结点
voidSort(inttag)//按tag指定的关键字重新排序
voidShowAll()//显示全部结点,每10个显示一屏
voidSetTag(intt)//置Tag值
intGetTag()//取tag值
Node*GetHeadPtr()//取首指针
~AddrList()//释放链表空间
voidCreateList(char*filename)//从二进制文件中读入数据,//构造链表
voidWriteToFile(char*filename)//将链表中数据//写入指定的二进制文件
};
主要特色
本程序主要特色有两个方面:
使用了链表和类共同完成通讯录各个功能的操作。
由于动态链表建立,可以自由使用。
源代码
#include<fstream.h>
#include<iostream.h>
#include<iomanip.h>
#include<string.h>
#include<stdlib.h>

classNode
{
charName[10];//姓名
intOfficePhone;//办公室电话
	intHomePhone;//住宅电话
charMobilePhone[15];//手机号码
charEMail[20];//email地址
Node*Next;//下一结点指针
public:
Node(char*pname=NULL,intophone=0,inthphone=0,
char*pmphone=NULL,char*pemail=NULL)
	{
if(pname)strcpy(Name,pname);
elsestrcpy(Name,"");
OfficePhone=ophone;
HomePhone=hphone;
if(pmphone)strcp
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

c++-简单通讯录管理系统--课程设计-报告

文档大小:94KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用