关于通讯录的c语言程序模板,通讯录 - c代码库 - 云代码

[c]代码库//类实现

#include

#include

#include

#include

#include

#include

using namespace std;

//创建联系人类

class Tongxunlu

{

public:

string id;//编号

string name; //姓名

string sex; //性别

string call; //联系方式

string address; //通讯地址

string email;//邮箱地址

}

txl[50];

//创建管理类

class Guanli

{

public:

Tongxunlu txl[50];

public:

//联系人

void Tongxunluadd(); //添加联系人信息

void Tongxunlusearch(); //查询联系人信息

//管理

void searchsid(); //按编号查询信息

void searchname(); //按名字查询信息

void searchaddress(); //按通讯地址查询信息

void searchemail(); //按邮箱地址查询信息

void write(int n); //向文件中写入数据

int read(); //从文件中读数据

void alter(); //修改信息

void del(); //删除信息

void total(); //统计信息

void display(); //显示信息

};

//函数实现

// 向文件中写入数据具体代码

/*

void Guanli::write(int i)

{

std::fstream Tongxunlucourse;

Tongxunlucourse.open("Tongxunlu.txt",ios::app| ios::binary);

if(!Tongxunlucourse)

{

cout<

abort();

}

Tongxunlucourse<< txl[i];

Tongxunlucourse.close();

}

//从文件中读数据具体代码

int Guanli::read()

{

fstream Tongxunlucourse;

Tongxunlucourse.open("Tongxunlu.txt",ios::in|ios::binary);

if(!Tongxunlucourse)

{

cout<

abort();

}

int count=0,i=0;

while(Tongxunlucourse.peek()!= EOF)

{

Tongxunlucourse.read(reinterpret_cast(&txl[i]),sizeof(txl[i]));

cout<

i++;

count++;

}

Tongxunlucourse.close();

return count;

*/

int Guanli::read()

{

int top1 = 0;

system("cls");

ifstream inflie("Tongxunlu.txt", ios::in);

if (!inflie)

{

cout << "打开失败!" << endl;

//return;

}

int i = 0;

while (inflie >> txl[i].id >> txl[i].name >> txl[i].sex >> txl[i].call >> txl[i].address >> txl[i].email )

{

i++;

top1 = i;

}

return top1;

inflie.close();

}

void Guanli::write( int top1 )

{

ofstream outflie("Tongxunlu.txt", ios::out);

if (!outflie)

{

cout << "打开失败!" << endl;

return;

}

int i;

for (i = 0; i < top1; i++)

{

outflie << txl[i].id << "\t" << txl[i].name << "\t" << txl[i].sex << "\t" << txl[i].call << "\t" << txl[i].address << "\t" << txl[i].email << endl;

}

cout << "保存成功!" << endl;

outflie.close();

}

//联系人添加信息

void Guanli::Tongxunluadd()

{

int n=read();

int i=n+1;

char sign=0;

cout<

while(sign!='N')

{

loop:

cout<

cin>>txl[i].id;

cout<< endl;

int c=0;

while(c

{

c++;

if(txl[i].id==txl[c].id)

{

cout<

goto loop;

}

}

cout<

cin>>txl[i].name;

cout<

cout<

cin>>txl[i].sex;

cout<

cout<

cin>>txl[i].address;

cout<

cout<

cin>>txl[i].call;

cout<

cout<

cin>>txl[i].email;

cout<

cout<

cin>>sign; //输入判断

write(++i);

i++; //write(n+1);

}

}

//查询可联系人信息

void Guanli::Tongxunlusearch()

{

int n=read();

cout<

cout<

int c;

Guanli g;

cout<

cin>>c;

switch(c)

{

case 1:

g.searchsid();

break;

case 2:

g.searchname();

break;

case 3:

g.searchaddress();

break;

case 4:

g.searchemail();

break;

default:

cout<

}

g.write(n);

}

//按联系人编号查询

void Guanli::searchsid()

{

int n=read();

string s;

int i=0;

cout<

cout<

cin>>s;

while(txl[i].id!=s&&i

if(i==n)

{

cout<

}

else

{

cout<

cout<

cout<

cout<

cout<

cout<

cout<

}

}

//按联系人姓名查询

void Guanli::searchname()

{

int n=read();

string a;

cout<

cin>>a;

for(int i=0;i

if(txl[i].name==a)

{

cout<

cout<

cout<

cout<

cout<

cout<

cout<

}

}

//按通讯地址查询

void Guanli::searchaddress()

{

int n=read();

string b;

cout<

cin>>b;

for(int i=0;i

if(txl[i].address==b)

{

cout<

cout<

cout<

cout<

cout<

cout<

cout<

}

}

//按邮箱地址查询

void Guanli::searchemail()

{

int n=read();

string c;

cout<

cin>>c;

for(int i=0;i

if(txl[i].email==c)

{

cout<

cout<

cout<

cout<

cout<

cout<

cout<

}

}

//修改联系人信息

void Guanli::alter()

{

int n=read();

string s;

int i=0;

cout<

cout<

cin>>s;

while(txl[i].id!=s&&i

{

i++; //查找判断

}

if(i==n)

{

cout<

}

else

{

cout<

cout<

<

<

cout<

cout<

cin>>txl[i].name;

cout<

cout<

cin>>txl[i].sex;

cout<

cout<

cin>>txl[i].address;

cout<

cout<

cin>>txl[i].call;

cout<

cout<

cin>>txl[i].email;

cout<

char c;

cout<

cin>>c;

if(c='y')

cout<

write(n);

}

}

//删除联系人信息

void Guanli::del()

{

int n=read();

string s;

int i=0,j;

cout<

cout<

cin>>s;

while(txl[i].id!=s&&i

{

i++; //查找判断

}

if(i==n)

{

cout<

}

else

{

for(j=i;j

{

txl[j].id=txl[j+1].id;

}

cout<

}

cout<

cout<

cout<

cout<

cout<

cout<

cout<

write(n-1);

}

//统计信息

void Guanli::total()

{

{

int n=read();

string c;

cout<

cin>>c;

for(int i=0;i

if(txl[i].name==c)

{

cout<

cout<

cout<

cout<

cout<

cout<

cout<

}

}

}

//显示联系人信息

void Guanli::display()

{

int n=read();

cout<

if(!txl)

cout<

else

{

for(int i=0;i

cout<

<

}

}

int main()

{

char choice;

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cin>>choice;

Guanli g;

if(choice=='0')

{

cout<

exit(0);

}

else if(choice=='1')

{

g.Tongxunluadd();

system("pause"); system("cls");

main();

}

else if(choice=='2')

{

g.Tongxunlusearch();

system("pause"); system("cls");

main();

}

else if(choice=='3')

{

g.display();

system("pause");system("cls");

main();

}

else if(choice=='4')

{

g.alter();

system("pause"); system("cls");

main();

}

else if(choice=='5')

{

g.del();

system("pause"); system("cls");

main();

}

else if(choice=='6')

{

g.total();

system("pause"); system("cls");

main();

}

else if(choice=='7')

{

g.display();

system("pause");system("cls");

main();

}

else

{

cout<

main();

}

return 0;

}

694748ed64b9390909c0d88230893790.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值