跪求一个用C++语言编写的程序源代码?要求是制作一个通讯录!

跪求啊,老师任务不可不做然而我平时不努力不会啊,大哥大姐help!我家产共计144全部奉献只求代码一个!... 跪求啊,老师任务不可不做然而我平时不努力不会啊,大哥大姐help!我家产共计144全部奉献只求代码一个! 展开
 我来答
匿名用户
2013-12-22
展开全部
以下是C++语言编写的通讯录源代码!#include<iostream>
using namespace std;
#include<stdio.h>
class person
{ public:
char name[10],sex[4],tel[11],add[20],postnum[10],e_mail[20],QQ[11],kind[10];//kind 类别:朋友,同学...
public:
person()
{}
void input()
{ cout<<"请输入 名字,性别,电话,地址,邮政编码 邮箱 QQ 类别"<<endl;
cin>>name>>sex>>tel>>add>>postnum>>e_mail>>QQ>>kind;}
void save()
{ FILE *out;
out=fopen("e:\\person.txt","a");
fprintf(out,"%s %s %s %s %s %s %s %s\n",name,sex,tel,add,postnum,e_mail,QQ,kind);
cout<<"信息已保存至 e:\\person.txt\n";
fclose(out);
}
void output()
{ cout<<name<<" "<<sex<<" "<<tel<<" "<<add<<" "<<postnum<<" "<<e_mail<<" "<<QQ<<" "<<kind<<endl;
}
};
void main()
{ person people[30];int i,int num=0,p_num=0;//num 输入的people 个数
do
{ cout<<"请输入0-5来选择\n 1 输入 2 查询 3 按姓名排序 4 按姓名,电话进行修改 5按姓名,电话进行删除 0 退出\n";
cin>>i;
switch(i)
{ case 0:{}break;
case 1://对信息进行 输入和保持至文件
{
people[p_num].input();people[p_num].save();num++;p_num++;
}break;
case 2://查询
{ cout<<" 1 根据姓名查询\n 2 电话\n 3 地址\n 4 类别 \n 5 所有\n";
int j;cin>>j;
switch(j)
{ case 1://姓名
{ cout<<"请输入您要查询的姓名: \n";
char q_name[20];cin>>q_name;bool flag=false;
for(int t=0; t<num; t++)
if(strcmp(people[t].name,q_name)==0)
{cout<<"姓名为:"<<q_name<<"的信息如下:\n";people[t].output();flag=true;break;}
if(flag==false)cout<<"没有找到"<<q_name<<"的信息\n";
}break;
case 2://电话
{ cout<<"请输入电话..."<<endl;
char q_tel[11];cin>>q_tel;bool flag=false;
for(int t=0; t<num; t++)
if(strcmp(people[t].tel,q_tel)==0)
{cout<<"电话为:"<<q_tel<<"的信息如下:\n";people[t].output();flag=true;break;}
if(flag==false)cout<<"没有找到"<<q_tel<<"的信息\n";
}break;
case 3://地址
{ cout<<"请输入地址..."<<endl;
char q_add[20];cin>>q_add;bool flag=false;
for(int t=0; t<num; t++)
if(strcmp(people[t].add,q_add)==0)
{cout<<"地址为:"<<q_add<<"的信息如下:\n";people[t].output();flag=true;}
if(flag==false)cout<<"没有找到"<<q_add<<"的信息\n";
}break;
case 4://类别
{ cout<<"请输入类别..."<<endl;
char q_kind[20];cin>>q_kind;bool flag=false;
for(int t=0; t<num; t++)
if(strcmp(people[t].kind,q_kind)==0)
{cout<<"类别为:"<<q_kind<<"的信息如下:\n";people[t].output();flag=true;}
if(flag==false)cout<<"没有找到"<<q_kind<<"的信息\n";
}break;
case 5://所有人
{ cout<<" 所有人的信息如下:\n";
for(int t=0; t<num; t++)
people[t].output();
}break;
default:
cout<<"您的输入有误"<<endl;break;
} }break;
case 3://姓名排序
{ person sort;int t;
for( t=0; t<num; t++)
{for(int s=t+1; s<num; s++)//person类里的数据成员不是堆资源所以不用拷贝构造函数<br> if(strcmp(people[t].name,people[s].name)>0)<br> { <br> sort=people[t];people[t]=people[s];people[s]=sort; <br> }

}
cout<<"按姓名从小到大排序后......"<<endl;
for(int n=0; n<num; n++)
people[n].output();
}break;
case 4://按姓名 电话 修改
{ cout<<" 请输入1-2 1 按姓名修改 2按电话修改\n";
int j;cin>>j;
switch(j)
{ case 1://姓名修改
{ cout<<"请输入您要修改的人的姓名:\n";
char s_name[20];cin>>s_name;
for(int t=0; t<num; t++)
if(strcmp(people[t].name,s_name)==0)
{ person s_people;cout<<"\n请依次输入修改后的信息:名字,性别,电话,地址,邮政编码 邮箱 QQ 类别\n";
s_people.input();
people[t]=s_people;break;
}
cout<<"修改成功.....\n";
}break;
case 2://电话修改
{ cout<<"请输入您要修改的人的电话:\n";
char s_tel[20];cin>>s_tel;
for(int t=0; t<num; t++)
if(strcmp(people[t].tel,s_tel)==0)
{ person s_people_tel;
cout<<"\n请依次输入修改后的信息:名字,性别,电话,地址,邮政编码 邮箱 QQ 类别\n";
s_people_tel.input();
people[t]=s_people_tel;break;
}
cout<<"修改成功.....\n";
}break;
}
}break;
case 5://按姓名 电话 删除
{ cout<<" 请输入1-2 1 按姓名删除 2按电话删除\n";
int j;cin>>j;
switch(j)
{ case 1://姓名删除
{ cout<<"请输入您要删除的人的姓名:\n";
char s_name[20];cin>>s_name;
for(int t=0; t<num; t++)
if(strcmp(people[t].name,s_name)==0)
{ int j=t+1;
for(j;j<num;j++)
{ people[t]=people[j];
t++;
}
break;
}
num--;cout<<s_name<<" 已成功删除....\n";
}break;
case 2://电话删除
{ cout<<"请输入您要删除的人的电话:\n";
char s_tel[20];cin>>s_tel;
for(int t=0; t<num; t++)
if(strcmp(people[t].tel,s_tel)==0)
{ int j=t+1;
for(j;j<num;j++)
{ people[t]=people[j];
t++;
}
break;
}
num--;cout<<"删除成功....\n";

}break;
}
}break;
default:

break;
}
}
while(i!=0);
}
匿名用户
2013-12-22
展开全部
具体要求是什么,你不贴出来啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式