系统功能:
功能实现
1.主界面实现
c++输出语句cout>>“内容”>>endl;
int main()
{
addrssbooks abs;
int select = 0;
while (true)
{
showmenu();//函数封装,将c++输出语句cout>>"内容">>endl封装到showmenu()函数中
cin >> select;
switch (select)
{
case 1:
addPresson(&abs);
break;
case 2:
showPresson(&abs);
break;
case 3:
deletPresson(&abs);
break;
case 4:
selectpresson(&abs);
break;
case 5:
uPdatepresson(&abs);
break;
case 6:
deleteall(&abs);
break;
case 0:
cout << "欢迎下次使用 " << endl;
system("pause");
return 0;
break;
default:
break;
}
}
2.定义结构体
struct Person//联系人结构体
{
string Name;
int Sex;
int Age;
string Phone;
string Add;
};
struct addrssbooks//通讯结构体
{
struct Person presomnArray[max];
int size=0;
};
3.添加联系人模块
void addPresson(addrssbooks* abs)
{
if (abs->size==max)
{
cout << "通讯录满了" << endl;
return;
}
else
{
string name;
cout << "输入姓名:" << endl;
cin >> name;
abs->presomnArray[abs->size].Name = name;
int sex = 0;
cout << "输入性别:" << endl;
cout << "1--男" << endl;
cout << "2--女" << endl;
while (true)
{
cin >> sex;
if (sex==1 || sex==2)
{
abs->presomnArray[abs->size].Sex = sex;
break;
}
cout << "输入有误,请重新输入!" << endl;
}
int age;
cout << "请输入年龄:" << endl;
cin >> age;
abs->presomnArray[abs->size].Age = age;
cout << "请输入电话:" << endl;
string phone;
cin >> phone;
abs->presomnArray[abs->size].Phone = phone;
cout << "请输入家庭地主:" << endl;
string add;
cin >> add;
abs->presomnArray[abs->size].Add = add;
abs->size++;
cout << "添加成功" << endl;
4.显示联系人功能
void showPresson(addrssbooks* abs)
{
if (abs->size==0)
{
cout << "没有联系人" << endl;
}
else
{
for (int i = 0; i < abs->size; i++)
{
cout << "姓名:" << abs->presomnArray[i].Name << "\t";
cout << "性别:" << (abs->presomnArray[i].Sex == 1 ? " 男" : "女")<< "\t";
cout << "年龄:" << abs->presomnArray[i].Age << "\t";
cout << "电话:" << abs->presomnArray[i].Phone << "\t";
cout << "地址:" << abs->presomnArray[i].Add << endl;
}
}
};//通过cout将presomnArray数组的内容全部打印
5.查找联系人功能
先定义一个查找函数
int isExist(addrssbooks* abs, string name)
{
for (int i = 0; i < abs->size; i++)
{
if (abs->presomnArray[i].Name == name) {
return i; //当查找到这个联系人则把这个人在数组中的下标返回
}
}
return -1;//没找到则返回-1
}
通过查找函数完善查找联系人功能
void selectpresson(addrssbooks* abs) {
cout << "查询的姓名" << endl;
string name;
cin >> name;
int ret = isExist(abs, name);
if (ret != -1)//查找函数不等于-1则表示查找到这个人
{
cout << "姓名:" << abs->presomnArray[ret].Name << "\t";
cout << "性别:" << (abs->presomnArray[ret].Sex == 1 ? " 男" : "女") << "\t";
cout << "年龄:" << abs->presomnArray[ret].Age << "\t";
cout << "电话:" << abs->presomnArray[ret].Phone << "\t";
cout << "地址:" << abs->presomnArray[ret].Add << endl;
}
else
{
cout << "查无此人" << endl;
}
}
6.删除联系人功能
void deletPresson(addrssbooks* abs) {
cout << "请输入要删除的姓名" << endl;
string name;
cin >> name;
int ret = isExist(abs, name);
if (ret != -1)
{
for (int i = ret; i < abs->size; i++)
{
abs->presomnArray[i] = abs->presomnArray[i + 1];//将数组后面的值先前递1位,达到删除的作用.
}
abs->size--;
}
else
{
cout << "查无此人" << endl;
}
};
7.修改联系人
void uPdatepresson(addrssbooks* abs)
{
cout << "请输入要修改的姓名" << endl;
string name;
cin >> name;
int ret = isExist(abs, name);
if (ret!=-1)
{
abs->presomnArray[ret].Name = name;
cout << "请输入年龄" << endl;
cout << "1为男" << endl;
cout << "2为女" << endl;
int sex;
cin >> sex;
if (sex==1 || sex==2)
{
abs->presomnArray[ret].Sex = sex;
}
else {
cout << "请正确输入" << endl;
}
cout << "请输入年龄" << endl;
int age;
cin >> age;
abs->presomnArray[ret].Age = age;
cout << "请输入电话" << endl;
string phone;
cin >> phone;
abs->presomnArray[ret].Phone = phone;
}
else {
cout<<"没找到要修改的联系人" << endl;
}
}
8.清空联系人
将数组长度赋值为0
void deleteall(addrssbooks* abs){
abs->size = 0;
cout << "清除成功" << endl;
}
9.退出系统
cout << "欢迎下次使用 " << endl;
system("pause");
return 0;
break;
总结:
通过学习c++通讯录系统,加深了c++中结构体,函数的定义方法,数组等使用发法,此次只是小白记录学习c++的,大佬勿喷,谢谢!
链接:https://wwas.lanzouy.com/iQBaL0pxo7je