第一次用博客,谢谢大家指点。
#include<iostream>
#include<string>
using namespace std;
#define M 1000
struct Person
{
string m_name;
int m_age;
int m_sex;
string m_addr;
string m_number;
};
struct Xinxi_all
{
struct Person Person_known[M];
int size;
};
void Add_Person(Xinxi_all *p ) //添加信息
{
static int size; //static变量的使用;
p->size=size;
string name;
cout<<"输入姓名:\n"<<endl;
cin>>name;
p->Person_known[p->size].m_name=name;
/
int age;
cout<<"输入年龄:\n"<<endl;
cin>>age;
p->Person_known[p->size].m_age=age;
//
int sex;
cout<<"输入性别:\n"<<endl;
cout<<"1,代表男;0,代表女\n"<<endl;
while(true)
{
cin>>sex; //输入不对要接着输入;
if(sex==1||sex==0)
{
p->Person_known[p->size].m_sex=sex;
break ; //跳出最近的while;
}
else
{
cout<<"输入不对:\n"<<endl;
}
}
///
string addr;
cout<<"输入地址:\n"<<endl;
cin>>addr;
p->Person_known[p->size].m_addr=addr;
/
string number ;
cout<<"输入电话:\n"<<endl;
cin>>number;
p->Person_known[p->size].m_number=number;
//
size++;
p->size++;
cout<<"输出完成:\n"<<endl;
//system("pause");
system("cls");
}
void Apare_Person(Xinxi_all *p )
{
int i;
if(p->size==0)
{
cout<<"信息为空:\n"<<endl;
}
else
{
for(i=0;i<p->size;i++)
{
cout<<"姓名:"<<p->Person_known[i].m_name<<endl;
cout<<"年龄:"<<p->Person_known[i].m_age<<endl;
cout<<"性别:"<<p->Person_known[i].m_sex<<endl;
cout<<"地址:"<<p->Person_known[i].m_addr<<endl;
cout<<"电话:"<<p->Person_known[i].m_number<<endl;
}
}
system("pause");
system("cls");
}
void menu()
{
cout<<"************************"<<endl;
cout<<"********1,添加联系人****"<<endl;
cout<<"********2,显示联系人****"<<endl;
cout<<"********3,删除联系人****"<<endl;
cout<<"********4,查找联系人****"<<endl;
cout<<"********5,修改联系人****"<<endl;
cout<<"********6,清空联系人****"<<endl;
cout<<"********0,退出联系人****"<<endl;
cout<<"************************"<<endl;
}
void Delet_Person(Xinxi_all *p )
{
int j;
int i;
string delet_name;
if(p->size==0)
{
cout<<"没有信息,无法删除"<<endl;
}
else
{
cout<<"删除的人的姓名"<<endl;
cin>>delet_name;
for(j=0;j<p->size;j++)
{
if(delet_name==p->Person_known[j].m_name)
{
for(i=j;i<p->size;i++)
{
p->Person_known[i].m_name=p->Person_known[i+1].m_name;
p->Person_known[i].m_age=p->Person_known[i+1].m_age;
p->Person_known[i].m_sex=p->Person_known[i+1].m_sex;
p->Person_known[i].m_addr=p->Person_known[i+1].m_addr;
p->Person_known[i].m_number=p->Person_known[i+1].m_number;
}
}
}
p->size--;
}
system("pause");
system("cls");
}
void Find_Person(Xinxi_all *p )
{
int i;
string find_name;
if(p->size==0)
{
cout<<"空的,请添加联系人"<<endl;
}
else
{
cout<<"输入要查找的名字:"<<endl;
cin>>find_name;
for(i=0;i<p->size;i++)
{
if(find_name==p->Person_known[i].m_name)
{
cout<<p->Person_known[i].m_name<<endl;
cout<<p->Person_known[i].m_age<<endl;
cout<<p->Person_known[i].m_sex<<endl;
cout<<p->Person_known[i].m_addr<<endl;
cout<<p->Person_known[i].m_number<<endl;
}
}
}
system("pause");
system("cls");
}
void Change_Person(Xinxi_all *p )
{
int i;
string change_name;
string will_XIN_Xi;
string name_Hou;
int age_Hou;
int sex_Hou;
string addr_Hou;
if(p->size==0)
{
cout<<"信息为空,无法做到更改"<<endl;
}
else
{
cout<<"输入要更改的姓名"<<endl;
cin>>change_name;
for(i=0;i<p->size;i++)
{
if(change_name==p->Person_known[i].m_name)
{
cout<<"输入更改的信息题目:"<<endl;
cin>>will_XIN_Xi;
if(will_XIN_Xi=="姓名")
{
cout<<"更改的名字:"<<endl;
cin>>name_Hou;
p->Person_known[i].m_name=name_Hou;
}
else if(will_XIN_Xi=="年龄")
{
cout<<"更改的年龄:"<<endl;
cin>>age_Hou;
p->Person_known[i].m_age=age_Hou;
}
else if(will_XIN_Xi=="性别")
{
cout<<"更改的性别:"<<endl;
cin>>sex_Hou;
p->Person_known[i].m_sex=sex_Hou;
}
else if(will_XIN_Xi=="地址")
{
cout<<"更改的地址:"<<endl;
cin>>addr_Hou;
p->Person_known[i].m_addr=addr_Hou;
}
else if(will_XIN_Xi=="号码")
{
cout<<"更改的号码:"<<endl;
cin>>addr_Hou;
p->Person_known[i].m_number=addr_Hou;
}
}
}
}
system("pause");
system("cls");
}
void Block_Person(Xinxi_all *p )
{
int i;
int j;
if(p->size==0)
{
cout<<"信息是空的,不用清空"<<endl;
}
else
{
for(i=p->size;i>0;i--)
{
j=i-1;
p->Person_known[j].m_name=p->Person_known[i].m_name;
p->Person_known[j].m_age=p->Person_known[i].m_age;
p->Person_known[j].m_sex=p->Person_known[i].m_sex;
p->Person_known[j].m_addr=p->Person_known[i].m_addr;
p->Person_known[j].m_number=p->Person_known[i].m_number;
}
}
cout<<"数据已经清空"<<endl;
system("pause");
system("cls");
}
int main()
{
int value;
Xinxi_all xin_xi;
while(true)
{
menu();
cin>>value;
switch(value)
{
case 1:Add_Person(&xin_xi);
break;
case 2:Apare_Person(&xin_xi) ;
break;
case 3: Delet_Person(&xin_xi);
break;
case 4: Find_Person(&xin_xi);
break;
case 5:Change_Person(&xin_xi);
break;
case 6: Block_Person(&xin_xi);
break;
case 0:
cout<<"欢迎使用!"<<endl;
return 0;
;
break;
default: ;
break;
}
}
system("pause");
return 0;
}