C++编程实例——一个通讯录的诞生
作者:互联网
实现功能:1,可以创建通讯录名单
2,可以删除通讯录中的成员
3,可以对指定成员进行查找
4,可以显示整个通讯录内容
5,可以修改通讯录成员信息
#include<iostream>
#include<string>
using namespace std;
void Showmeue()
{
cout << "**************************" << endl;
cout << "******** 1.创建 ***********" << endl;
cout << "******** 2.显示 ***********" << endl;
cout << "******** 3.删除 ***********" << endl;
cout << "******** 4.清空 ***********" << endl;
cout << "******** 5.查找 ***********" << endl;
cout << "******** 6.修改 ***********" << endl;
cout << "******** 0.退出 ***********" << endl;
}
struct Person
{
string name;
int age;
string address;
string tell;
};
#define MAX 1000
struct Personarray
{
struct Person personarray[MAX];
int size;
};
void Add(Personarray *ps)
{
//判断是否超过通讯录最大值
if (ps->size == MAX)
{
cout << "通讯录已满,不能再添加" << endl;
return;
}
else
{
string name;
int age;
string address;
string tell;
cout << "请输入姓名" << endl;
cin >> name;
cout << "请输入年龄" << endl;
cin >> age;
cout << "请输入家庭住址" << endl;
cin >> address;
cout << "请输入电话" << endl;
cin >> tell;
ps->personarray[ps->size].name = name;
ps->personarray[ps->size].age = age;
ps->personarray[ps->size].address = address;
ps->personarray[ps->size].tell = tell;
cout << "创建成功" << endl;
ps->size++;
}
system("pause");
system("cls");
}
void Show(Personarray *ps)
{
if (ps->size == 0)
{
cout << "当前无联系人,请创建" << endl;
}
else
{
for (int i = 0; i < ps->size; i++)
{
cout << "姓名 " << ps->personarray[i].name << "\t";
cout << "年龄 " << ps->personarray[i].age << "\t";
cout << "地址 " << ps->personarray[i].address << "\t";
cout << "电话 " << ps->personarray[i].tell<< endl;
}
}
system("pause");
system("cls");
}
int isExist(Personarray* ps, string name)
{
for (int i = 0; i < ps->size; i++)
{
if (ps->personarray[i].name == name)
{
return i;
}
}
return -1;
}
void Deletperson(Personarray* ps)
{
cout << "请输入需要删除的人名" << endl;
string name;
cin >> name;
int number = isExist(ps, name);
if(number==-1)
cout << "该联系人不存在" << endl;
else
{
cout << "该联系人存在" << endl;
for (int i = number; i < ps->size; i++)
{
ps->personarray[i] = ps->personarray[i + 1];
}
ps->size--;
cout << "删除成功" << endl;
}
system("pause");
system("cls");
}
void Findperson(Personarray* ps)
{
cout << "请输入需要查找的人名" << endl;
string name;
cin >> name;
int number = isExist(ps, name);
if (number == -1)
cout << "该联系人不存在" << endl;
else
{
cout << "该联系人存在" << endl;
cout << "姓名 " << ps->personarray[number].name << "\t";
cout << "年龄 " << ps->personarray[number].age << "\t";
cout << "地址 " << ps->personarray[number].address << "\t";
cout << "电话 " << ps->personarray[number].tell << endl;
}
system("pause");
system("cls");
}
void Modifyperson(Personarray* ps)
{
cout << "请输入需要修改的人名" << endl;
string name;
cin >> name;
int number = isExist(ps, name);
if (number == -1)
cout << "该联系人不存在" << endl;
else
{
cout << "请输入需要修改的内容,如 地址,电话,年龄" << endl;
string choice;
cin >> choice;
if (choice == "地址")
{
cout << "请输入需要将地址修改的内容" << endl;
string address;
cin >> address;
ps->personarray[number].address = address;
}
if (choice == "电话")
{
cout << "请输入需要将电话修改的内容" << endl;
string tell;
cin >> tell;
ps->personarray[number].tell = tell;
}
if (choice == "年龄")
{
cout << "请输入需要将年龄修改的内容" << endl;
int old;
cin >> old;
ps->personarray[number].age = old;
}
cout << "修改成功" << endl;
}
system("pause");
system("cls");
}
void Clearperson(Personarray* ps)
{
ps->size = 0;
cout << "通讯录已清空" << endl;
system("pause");
system("cls");
}
int main()
{
Personarray ps;
ps.size = 0;
while (true)//设置仅输入0,系统退出
{
Showmeue();
int key = 0;
cout << "请输入您的选择" << endl;
cin >> key;
switch (key)
{
case 1://创建
Add(&ps);
break;
case 2://显示
Show(&ps);
break;
case 3://删除
Deletperson(&ps);
break;
case 4://清空
Clearperson(&ps);
break;
case 5:
Findperson(&ps);
break;
case 6:
Modifyperson(&ps);
break;
case 0://退出
cout << "欢迎下次使用" << endl;
system("pause");
return 0;
break;
}
}
system("pause");
return 0;
}
标签:ps,cout,编程,number,C++,通讯录,personarray,size,name 来源: https://blog.csdn.net/weixin_54212606/article/details/121441700