C++小作业——简单通讯录设计-创新互联
界面展示:
七里河网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联建站成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站。1,菜单界面
2,添加联系人
选择按钮1。
3,显示联系人
选择按钮2,会显示当前通讯录里面的所有联系人信息
#includeusing namespace std;
#include//设置大容量
#define MAXSIZE 300
//联系人结构体
struct person {
string name;
string gender;
int age;
string tlenumber;
string address;
};
通讯录结构体
struct comsys {
struct person p_arry[MAXSIZE];
int length;
};
//主函数
int main(void) {
//初始化结构体数组
comsys com;
com.length = 0;
//函数声明
void showMenu();
void addPerson(comsys * p);
void showPerson(comsys * p);
void printInfoN(comsys * p, int n);
void printInfoI(comsys * p, int i);
int locatePerson(comsys * p, string name, string number);
void serchPerson(comsys * p);
void deletePerson(comsys * p);
void modifyPerson(comsys * p);
void clearPerson(comsys * p);
//函数调用
while (true) {
showMenu();
int select = 0;
cin >>select;
switch (select)
{
case 1://添加
addPerson(&com);
system("pause");
system("cls");
break;
case 2://显示
showPerson(&com);
system("pause");
system("cls");
break;
case 3://删除
deletePerson(&com);
system("pause");
system("cls");
break;
case 4://查找
serchPerson(&com);
system("pause");
system("cls");
break;
case 5://修改
modifyPerson(&com);
system("pause");
system("cls");
break;
case 6://清空
clearPerson(&com);
system("pause");
system("cls");
break;
case 0://退出
cout<< "欢迎使用,再见!"<< endl;
return 0;
break;
default:
break;
}
}
system("pause");
return 0;
}
//菜单显示函数
void showMenu() {
cout<< "***********************"<< endl;
cout<< "* 通讯录 * "<< endl;
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 addPerson(comsys *p) {
string name;
string gender;
int age;
string telnumber;
string address;
cout<< "添加姓名:"<< endl;
cin >>name;
p->p_arry[p->length].name = name;
cout<< "添加性别:"<< endl;
cin >>gender;
p->p_arry[p->length].gender = gender;
cout<< "添加年龄:"<< endl;
cin >>age;
p->p_arry[p->length].age = age;
cout<< "添加号码:"<< endl;
cin >>telnumber;
p->p_arry[p->length].tlenumber = telnumber;
cout<< "添加地址:"<< endl;
cin >>address;
p->p_arry[p->length].address = address;
p->length++;
cout<< "添加成功!"<< endl;
}
//显示联系人
void showPerson(comsys* p) {
void printInfoN(comsys * p, int n);
if (p->length == 0)
cout<< "当前没有联系人,请添加(选择1):"<< endl;
else
{
printInfoN(p, p->length);
}
}
//打印连续n个联系人
void printInfoN(comsys* p, int n) {
for (int i = 0; i< n; i++) {
cout<< "*****************************************************"<< endl;
cout<< "\t\tname:"<< p->p_arry[i].name<< endl;
cout<< "\t\tgender:"<< p->p_arry[i].gender<< endl;
cout<< "\t\tage:"<< p->p_arry[i].age<< endl;
cout<< "\t\ttelnumber:"<< p->p_arry[i].tlenumber<< endl;
cout<< "\t\taddress:"<< p->p_arry[i].address<< endl;
cout<< "*****************************************************"<< endl;
}
cout<< "共计:"<< p->length<< endl;
}
//打印某个人的信息
void printInfoI(comsys* p, int i) {
cout<< "*****************************************************"<< endl;
cout<< "\t\tname:"<< p->p_arry[i].name<< endl;
cout<< "\t\tgender:"<< p->p_arry[i].gender<< endl;
cout<< "\t\tage:"<< p->p_arry[i].age<< endl;
cout<< "\t\ttelnumber:"<< p->p_arry[i].tlenumber<< endl;
cout<< "\t\taddress:"<< p->p_arry[i].address<< endl;
cout<< "*****************************************************"<< endl;
}
//查找某个联系人返回通讯录中的位置
int locatePerson(comsys* p,string name,string number) {
if(p->length==0)
return -1;
else {
for (int i = 0; i< p->length; i++)
if ((name == p->p_arry[i].name) && (number == p->p_arry[i].tlenumber))
return i;
return -1;
}
}
//查找联系人
void serchPerson(comsys* p) {
string name, number;
int locatePerson(comsys * p, string name, string number);
void printInfoI(comsys * p, int i);
if (p->length == 0)
cout<< "当前联系人为空,请添加(选择1)"<< endl;
else
{
cout<< "请输入要查找的名字:"<< endl;
cin >>name;
cout<< "请输入要查找的号码:"<< endl;
cin >>number;
int count = locatePerson(p, name, number);
if (count == -1)
cout<< "无对应联系人,请确认后再输入!"<< endl;
else
printInfoI(p, count);
}
}
//删除联系人
void deletePerson(comsys*p) {
int locatePerson(comsys * p, string name, string number);
void printInfoI(comsys * p, int i);
string deletename;
string deletenumber;
if (p->length == 0)
cout<< "当前联系人为空,请添加(选择1)"<< endl;
cout<< "请输入要删除的名字:"<< endl;
cin >>deletename;
cout<< "请输入要删除的号码:"<< endl;
cin >>deletenumber;
int count= locatePerson(p, deletename, deletenumber);
if(count!=-1)
{
printInfoI(p, count);
cout<< "确认删除请按1,取消请按2:"<< endl;
int select1 = 0;
cin >>select1;
switch (select1)
{
case 1:
for (int i = count; i< p->length; i++)
p->p_arry[i]= p->p_arry[i + 1];
p->length--;
cout<< "删除成功!"<< endl;
break;
case 2:
system("pause");
system("cls");
default:
break;
}
}
}
//修改联系人
void modifyPerson(comsys* p) {
if (p->length == 0)
cout<< "当前联系人为空,请添加(选择1)"<< endl;
else {
cout<< "输入您要修改的联系人姓名:"<< endl;
string name;
cin >>name;
cout<< "输入您要修改的联系人电话:"<< endl;
string number;
cin >>number;
int count = locatePerson(p, name, number);
if (count == -1)
cout<< "无对应联系人,请确认后再输入!"<< endl;
else
{
printInfoI(p, count);
cout<< "---------------------------"<< endl;
cout<< "---修改选项---"<< endl;
cout<< "---(1):姓名---"<< endl;
cout<< "---(2):性别---"<< endl;
cout<< "---(3):年龄---"<< endl;
cout<< "---(4):电话---"<< endl;
cout<< "---(5):地址---"<< endl;
cout<< "---(0):取消---"<< endl;
cout<< "---------------------------";
int select2;
string name;
string gender;
int age;
string telnumber;
string address;
cin >>select2;
while (select2) {
switch (select2)
{
case 1:
cout<< "您正在修改姓名,请输入:"<< endl;
cin >>name;
p->p_arry[count].name = name;
cout<< "修改成功!"<< endl;
cout<< "请输入对应选项进行操作!"<< endl;
cin >>select2;
break;
case 2:
cout<< "您正在修改性别,请输入:"<< endl;
cin >>gender;
p->p_arry[count].gender = gender;
cout<< "修改成功!"<< endl;
cout<< "请输入对应选项进行操作!"<< endl;
cin >>select2;
break;
case 3:
cout<< "您正在修改年龄,请输入:"<< endl;
cin >>age;
p->p_arry[count].age = age;
cout<< "修改成功!"<< endl;
cout<< "请输入对应选项进行操作!"<< endl;
cin >>select2;
break;
case 4:
cout<< "您正在修改电话,请输入:"<< endl;
cin >>telnumber;
p->p_arry[count].tlenumber = telnumber;
cout<< "修改成功!"<< endl;
cout<< "请输入对应选项进行操作!"<< endl;
cin >>select2;
break;
case 5:
cout<< "您正在修改地址,请输入:"<< endl;
cin >>address;
p->p_arry[count].address = address;
cout<< "修改成功!"<< endl;
cout<< "请输入对应选项进行操作!"<< endl;
cin >>select2;
break;
case 0:
system("pause");
break;
default:
break;
}
}
}
}
}
//清空通讯录
void clearPerson(comsys* p) {
cout<< "你正在清空联系人,请注意!"<< endl;
cout<< "确认删除请按1"<< endl;
int selectClear;
cin >>selectClear;
if (selectClear == 1)
{
p->length = 0;
cout<< "已清空!"<< endl;
}
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
网站题目:C++小作业——简单通讯录设计-创新互联
本文地址:http://myzitong.com/article/decdje.html