通讯录系统(C++)
头文件
addressbook.h
#ifndef ADDRESSBOOK_H_INCLUDED
#define ADDRESSBOOK_H_INCLUDED
#include <iostream>
#include <string>
#include <iomanip>
#include <fstream>
#include <cstdlib>
using namespace std;
class AddressBook
{
public:
AddressBook();//默认构造函数
char inter_face();//首页
void add_person();//添加联系人
void del_person();//删除联系人
void show_all();//显示所有联系人
void Clear();// 清空数据
void alter();//修改信息
void select();//查询联系人
void save_new();//保存新增加的联系人
int Search(AddressBook*AB,string n);//查姓名或电话号码为n通讯录
string name;//姓名
string number;//电话号码
string sort;//类别
string email;//
int num;//通讯录人数
};
#endif // ADDRESSBOOK_H_INCLUDED
主函数
main.cpp
#include "addressbook.h"
using namespace std;
enum power{Clear='0',ADD = '1', DEL = '2', SHOW = '3', Alter = '4', Select = '5', END = '6'};
int main()
{
char choose;
AddressBook abj;
while (choose = abj.inter_face())
{
switch (choose)
{
case Clear:
abj.Clear();////清空通讯录数据
break;
case ADD:
abj.add_person();////添加联系人
break;
case DEL:
abj.del_person();////删除联系人
break;
case SHOW:
abj.show_all();////显示所有联系人
break;
case Alter:
abj.alter();////修改信息
break;
case Select:
abj.select();////查询联系人
break;
case END:
cout <<endl <<"谢谢使用!!!!!" <<endl <<endl;
exit(0);
break;
default:
break;
}
}
return 0;
}
函数
Addressbook.cpp
system的头文件#include "addressbook.h"
AddressBook::AddressBook()
{
name = "\0";
number = "\0";
sort = "\0";
email = "\0";
}
// 清空数据
void AddressBook::Clear() //清空数据
{
del_person();
cout<<endl<<"成功清空通讯录数据!"<<endl<<endl;
}
//首页
char AddressBook::inter_face()
{
system("cls");
cout <<endl;
cout<<"\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★" <<endl
<<"\t\t※ ※" <<endl
<<"\t\t※ 通 迅 录 ※" <<endl
<<"\t\t※ ※" <<endl
<<"\t\t※ 0.清空数据 ※" <<endl
<<"\t\t※ ※" <<endl
<<"\t\t※ 1. 添加新联系人. 4. 修改信息. ※" <<endl
<<"\t\t※ ※" <<endl
<<"\t\t※ 2. 删除联系人. 5. 查询联系人. ※" <<endl
<<"\t\t※ ※" <<endl
<<"\t\t※ 3. 显示所有联系人. 6. 关闭通迅录. ※" <<endl
<<"\t\t※ ※" <<endl
<<"\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★" <<endl <<endl
<<"\t\t\t选择 :" ;
char choose;
cin >>choose;
fflush(stdin);
return choose;
}
//添加联系人
void AddressBook::add_person()
{
const int MAXNUM=100;//通讯录人数允许的最大值
AddressBook*AB;
bool flag=true;//数据是否被修改过的标志
ifstream inData("",ios::in);
AddressBook abj;
cout<<"----姓名或电话号码为字符串,输入“\0”终止录入----"<<endl;
while(1)
{
if(num==(MAXNUM-1))
{
cout<<"通讯录人数已达到最大值!"<<endl;
return;
}
cout <<endl <<"根据下面提示输入新联系人信息" <<endl <<endl
<<"姓名 :" ;
if(!(cin>>abj.name))//输入的不是字符串,重新提示输入
{
cout<<"姓名应为字符串!"<<endl;
cin.clear();//清除状态标志
cin.sync();//清空输入缓冲区
continue;
}
if(Search(AB,abj.name)>0)//查此姓名是否已存在
{
cout<<"此姓名已存在!"<<endl;
continue;
}
if(abj.name=="\0")//输入"\0"结束输入
{
cout<<"录入结束。"<<endl;
return;
}
cin.sync();//清空输入缓冲区
cout<<"电话 :";
if(!(cin>>abj.number))//输入的不是字符串,重新提示输入
{
cout<<"姓名应为字符串!"<<endl;
cin.clear();//清除状态标志
cin.sync();//清空输入缓冲区
continue;
}
if(Search(AB,abj.number)>0)//查此姓名是否已存在
{
cout<<"此姓名已存在!"<<endl;
continue;
}
cin.sync();//清空输入缓冲区
cout<<"类别 :";
getline(cin,abj.sort);//读取一行
if(abj.sort=="")//如读取的为空串,则设sort为null
abj.sort="null";
cin.sync();//清空输入缓冲区
cout<<" :";
getline(ail);//读取一行
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论