C课程设计简易通讯录.doc
《C课程设计简易通讯录.doc》由会员分享,可在线阅读,更多相关《C课程设计简易通讯录.doc(17页珍藏版)》请在冰豆网上搜索。
![C课程设计简易通讯录.doc](https://file1.bdocx.com/fileroot1/2022-10/7/217b3d08-1c36-4c40-bd21-2ba62c4974da/217b3d08-1c36-4c40-bd21-2ba62c4974da1.gif)
本程序用VS2013编写,所用语言为C++,为多文件程序,可将源代码复制到VS后简单处理,即可运行。
C++课程设计
设计题目:
简易通讯录管理程序
学院名称:
信息科学与技术学院
专业名称:
计算机科学与技术
学生姓名:
学生学号:
任课教师:
设计(论文)成绩
目录
第1章问题描述 1
第2章概要设计 1
第3章详细设计 3
3.1数据写入(添加到)文件的函数算法思想或步骤 3
3.2从文件读取内容到程序的函数算法思想或步骤 3
第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
#include
#include
#include
#include
usingnamespacestd;
constintnum=200;
constintNAM_LEN=10;
constintSEX_LEN=4;
constintMAIL_LEN=20;
constintADD_LEN=18;
constintTEL_LEN=15;
constintGROUP_LEN=10;
classPER//联系人类数组
{
public:
charname[NAM_LEN];
charsex[SEX_LEN];
charaddress[ADD_LEN];
chartel_no[TEL_LEN];
chare_mail[MAIL_LEN];
chargroup[GROUP_LEN];
};
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< while
(1){
TOP:
system("cls");
cout<<"※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"< <<"※15级计科1班薛皓※"< <<"※※"< <<"※简易通迅录※"< <<"※※"< <<"※1.添加联系人.※"< <<"※※"< <<"※2.查询(显示)联系人.※"< <<"※※"< <<"※3.编辑(删除)联系人.※"< <<"※※"< <<"※0.退出※"< <<"※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"< <<"\t\t\t选择:
";
cin>>select1;
switch(select1)
{
case'1':
cout<<"输入添加的资料"< add(per,1);
cout<<"任意键以返回菜单";
addtoFile(per,1);
system("pause");
break;
case'2':
TWO:
m=readfromFile(per);
readfromFile(per);
cout<<"
(1)根据姓名查找联系人"< cout<<"
(2)根据手机号码查找联系人"< cout<<"(3)根据姓氏模糊查询(姓名第一个字)"< cout<<"(4)显示同一组别的联系人"< cout<<"(5)显示同一性别的联系人"< cout<<"(6)显示所有联系人"< cout<<"(0)返回菜单"< charselectsearch;
cin>>selectsearch;
switch(selectsearch)
{
m=readfromFile(per);
case'1':
find1(per,m-1);
system("pause");
break;
case'2':
find2(per,m-1);
system("pause");
break;
case'3':
find3(per,m-1);
system("pause");
break;
case'4':
show1(per,m-1);
system("pause");
break;
case'5':
show2(per,m-1);
system("pause");
break;
case'6':
show3(per,m-1);
system("pause");
break;
case'0':
gotoTOP;
defau