C课程设计简易通讯录Word格式文档下载.doc
《C课程设计简易通讯录Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《C课程设计简易通讯录Word格式文档下载.doc(17页珍藏版)》请在冰豆网上搜索。
第4章测试结果及分析 3
参考文献 6
附录:
源代码 7
-1-
第1章问题描述
1、实现通讯录的基本功能:
录入、删除、查找和修改、显示。
2、联系人的基本属性包括姓名、性别、住址、联系电话、电子邮件等。
为了实现对所有联系人的分组管理,还需添加组别属性
3、查找功能的具体要求如下:
(1)能够根据姓名、电话精确查询人员信息;
(2)能够根据姓氏进行模糊查询人员信息;
(3)根据人员类别查询人员信息
4、文件存储通讯录
5、提供操作的选择菜单
第2章概要设计
开发环境
系统:
windows8.1中文版64位
处理器:
IntelCorei5-4200H
内存:
4G
开发软件:
VisualStudio2013
classPER//联系人类数组
{
public:
charname[NAM_LEN];
charsex[SEX_LEN];
charaddress[ADD_LEN];
chartel_no[TEL_LEN];
chare_mail[MAIL_LEN];
chargroup[GROUP_LEN];
};
第3章详细设计
3.1数据写入(添加到)文件的函数算法思想或步骤
(1)声明ofstream类成员函数,打开“message.txt”文件,如果文件有内容则清空,若没有该文件则创建。
(添加新数据到文件,将新数据添加到问价末尾)
(2)在文件打开正常的情况下,依次写入PER类数组数据。
关闭文件,显示“保存成功”。
若没有正常打开,显示“保存失败”。
3.2从文件读取内容到程序的函数算法思想或步骤
(1)声明ifstream类成员函数,打开“message.txt”文件。
(2)在文件打开成功(打开成功,说明文件有内容),读取正常并且没有到文件末尾的情况下,依次把文件内容传递给PER类数组。
(3)关闭文件,返回值i为原文件中保存的联系人个数。
第4章测试结果及分析
添加联系人
文件保存(仅供测试)
按姓名精确查找
按手机号码精确查找
按姓氏(名字第一个字)模糊查询
按组别查看
按性别查看
显示所有联系人
修改某人信息
删除某个联系人信息
参考文献
[1]C++语言程序设计(第4版)[郑莉董渊何江舟].2010年7月第四版
[2]C++程序设计教程(第二版)[钱能].2005年9月第二版
源代码
源程序要按照编写程序的规范来编写,结构清晰。
每个类、类成员函数、普通函数均需要在类名前、函数头前注释说明该类、函数的简要功能,函数中的关键语句需添加注释。
示例如下:
head.h头文件:
//头文件,包含PER类数组,每个项目的数组长度常量,所有元素的声明
#ifndefHEAD
#defineHEAD
#include<
iostream>
fstream>
vector>
string>
iomanip>
usingnamespacestd;
constintnum=200;
constintNAM_LEN=10;
constintSEX_LEN=4;
constintMAIL_LEN=20;
constintADD_LEN=18;
constintTEL_LEN=15;
constintGROUP_LEN=10;
voidadd(PERper[],intn);
//添加新联系人
intdel(PERper[],intn);
//删除联系人
voidfind1(PERper[],intn);
//按姓名查询联系人
voidfind2(PERper[],intn);
//按手机号码查询联系人
voidfind3(PERper[],intn);
//按姓氏(姓名第一个字)查询联系人
intreadfromFile(PERper[]);
//从文件中读取数据
voidchange(PERper[],intn);
//编辑联系人信息
voidaddtoFile(PERper[],intn);
//添加新联系人到文件
voidwritetoFile(PERper[],intn);
//向文件中写入数据
voidshow1(PERper[],intn);
//按组别显示联系人
voidshow2(PERper[],intn);
//按性别显示联系人
voidshow3(PERper[],intn);
//显示所有联系人
#endif
main.cpp文件
#include"
head.h"
//主函数首页
intmain()
{
intk,m;
PERper[num];
//声明PER类数组个数
charselect1;
cout<
<
endl;
while
(1){
TOP:
system("
cls"
);
cout<
"
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"
<
endl
<
※15级计科1班薛皓※"
<
※※"
※简易通迅录※"
※1.添加联系人.※"
※2.查询(显示)联系人.※"
※3.编辑(删除)联系人.※"
※0.退出※"
endl<
\t\t\t选择:
"
;
cin>
>
select1;
switch(select1)
{
case'
1'
:
cout<
输入添加的资料"
add(per,1);
cout<
任意键以返回菜单"
addtoFile(per,1);
system("
pause"
break;
2'
TWO:
m=readfromFile(per);
readfromFile(per);
(1)根据姓名查找联系人"
(2)根据手机号码查找联系人"
(3)根据姓氏模糊查询(姓名第一个字)"
(4)显示同一组别的联系人"
(5)显示同一性别的联系人"
(6)显示所有联系人"
(0)返回菜单"
charselectsearch;
cin>
selectsearch;
switch(selectsearch)
{
m=readfromFile(per);
case'
find1(per,m-1);
system("
break;
find2(per,m-1);
3'
find3(per,m-1);
4'
show1(per,m-1);
5'
show2(per,m-1);
6'
show3(per,m-1);
0'
gotoTOP;
defau