以下代碼為本人所作,因水平所限及時間倉促,疏忽之處在所難免,
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
#define max 100
struct person
{
string name;
string sex;
string address;
int phonenumber;
int age;
};
struct phonebook
{
person personarr[max];
int personnum;
};
void showmenu()
{
cout << "請輸入您要選擇的功能" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_BLUE);
cout << "1-添加聯系人" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);//設定藍色
cout << "2-顯示所有聯系人" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN);//設定綠色
cout << "3-洗掉聯系人" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);//設定紅色
cout << "4-查找聯系人" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);//設定藍色
cout << "5-修改聯系人" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN);//設定綠色
cout << "6-清空通訊錄" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);//設定紅色
cout << "7-退出通訊錄" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED|FOREGROUND_BLUE);//設定紅色
}
void addperson(phonebook* p)
{
if (p->personnum == max)
{
cout << "聯系人已滿" << endl;
return;
}
else
{
string name;
cout << "請輸入您要添加的聯系人的名字" << endl;
cin >> name;
p->personarr[p->personnum].name = name;
cout << "請輸入您要添加的聯系人的地址" << endl;
string address;
cin >> address;
p->personarr[p->personnum].address = address;
cout << "請輸入您要添加的聯系人的年齡" << endl;
int age;
cin >> age;
p->personarr[p->personnum].age = age;
cout << "請輸入您要添加的聯系人的電話號碼" << endl;
int phonenumber;
cin >> phonenumber;
p->personarr[p->personnum].phonenumber = phonenumber;
cout << "請輸入您要添加的聯系人的性別" << endl;
string sex;
cin >> sex;
p->personarr[p->personnum].sex = sex;
p->personnum++;
}
cout << "輸入完成" << endl;
system("pause");
system("cls");
}
void showphonebook(phonebook* p)
{
if (p->personnum == 0)
{
cout << "聯系人為空" << endl;
system("pause");
system("cls");
}
else
{
for (int i = 0; i < p->personnum; i++)
{
cout << "姓名:" << p->personarr[i].name << "\t";
cout << "年齡:" << p->personarr[i].age << "\t";
cout << "住址:" << p->personarr[i].address << "\t";
cout << "電話:" << p->personarr[i].phonenumber << "\t";
cout << "性別:" << p->personarr[i].sex << "\t";
cout << endl;
}
system("pause");
system("cls");
}
}
int isexit(phonebook*p)
{
if (p->personnum == 0)
{
cout << "通訊錄為空" << endl;
system("pause");
system("cls");
return -1;
}
else
{
string name;
cout << "請輸入要洗掉的名字" << endl;
cin >> name;
for (int i = 0; i < p->personnum; i++)
{
if (name == p->personarr[i].name)
{
return i;
}
}
}
}
void deleteinperson(phonebook* p,int ssd)
{
if (ssd >= 0)
{
for(int i=ssd;i<p->personnum;i++)
{
p->personarr[i] = p->personarr[i + 1];
}
cout << "洗掉成功" << endl;
system("pause");
system("cls");
}
}
void searchinperson(phonebook*p)
{
string name;
cout << "請輸入要查找的聯系人名字:" << endl;
cin >> name;
for (int i = 0; i <= p->personnum; i++)
{
if (p->personarr[i].name == name)
{
cout << "以下為聯系人資訊" << endl;
cout << p->personarr[i].address << '\t'; cout << p->personarr[i].age << '\t'; cout << p->personarr[i].name << '\t'; cout << p->personarr[i].phonenumber << '\t'; cout << p->personarr[i].address << '\t'; cout << p->personarr[i].sex << endl;
}
}
cout << "若未顯示聯系人資訊,則是您未將該聯系人添加到通訊錄" << endl;
system("pause");
system("cls");
}
void exchangeinperson(phonebook*p)
{
string name;
cout << "請輸入要修改的聯系人的名字" << endl;
cin >> name;
for(int i=0;i<=p->personnum;i++)
{
if (name == p->personarr[i].name)
{
int num;
cout << "請輸入你要修改的手機號" << endl;
cin >> num;
p->personarr->phonenumber = num;
cout << "修改完成" << endl;
}
}
system("pause");
system("cls");
}
void blankalldata(phonebook* p)
{
p->personnum = 0;
cout << "清空完成" << endl;
system("pause");
system("cls");
}
int main()
{
phonebook inperson;
inperson.personnum = 0;
int a = 0;
while (true)
{
showmenu();
cin >> a;
switch (a)
{
case 1:addperson(&inperson);
break;
case 2:
showphonebook(&inperson);
break;
case 3:
deleteinperson(&inperson, isexit(&inperson));
break;
case 4:
searchinperson(&inperson);
break;
case 5:
exchangeinperson(&inperson);
break;
case 6:
blankalldata(&inperson);
break;
case 7:cout << "祝您生活愉快,歡迎下次使用," << endl;
system("pause");
return 0;
break;
default:
break;
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/289189.html
標籤:其他
下一篇:不是程式員可能做報表嗎?
