程序设计技术课程设计
通讯录管理系统
设计要求:设计一个通讯录管理系统,可以实现相关信息的添加,查询,修改,删除功能。
信息添加包括名字,性别,年龄,电话号码,地址等信息。
工具:dec_c++
代码如下:
#include <iostream>
#include<string>
#define MAX 100
using namespace std;
struct person
{
string name;//姓名
string sex;//性别
int age;//年龄
string phone;//电话号码
string addr;//地址
};
struct addressbooks
{
struct person people[MAX];
int size=0;
};
//添加联系人
void addperson(addressbooks *p)
{
//判断通讯录是否满了没有
if(p->size==MAX)
{
cout<<"通讯录已满,无法添加联系人"<<endl;
return;
}
else
{
//添加联系人
string name;
cout<<"请输入姓名:"<<endl;
cin>>name;
p->people[p->size].name=name;
string sex;
cout<<"请输入性别(男/女):"<<endl;
cin>>sex;
p->people[p->size].sex=sex;
int age;
cout<<"请输入年龄:"<<endl;
cin>>age;
p->people[p->size].age=age;
string phone;
cout<<"请输入电话号码:"<<endl;
cin>>phone;
p->people[p->size].phone=phone;
string addr;
cout<<"请输入地址:"<<endl;
cin>>addr;
p->people[p->size].addr=addr;
p->size++;
cout<<"信息添加成功"<<endl;
system("pause");//请按任意键继续
system("cls");//清屏操作
}
}
//显示联系人
void showperson(addressbooks *p)
{
//判断通讯录中人数是否为0
if(p->size==0)
cout<<"当前记录为空"<<endl;
else
{
for(int i=0;i<p->size;i++)
{
cout<<"姓名: "<<p->people[i].name<<"\t";
cout<<"性别: "<<p->people[i].sex<<"\t";
cout<<"年龄: "<<p->people[i].age<<"\t";
cout<<"电话号码: "<<p->people[i].phone<<"\t";
cout<<"地址: "<<p->people[i].addr<<"\t";
cout<<""<<endl;
}
}
system("pause");
system("cls");
}
//封装一个函数判断此人是否存在
int exist(addressbooks *p,string name)
{
for(int i=0;i<p->size;i++)
{
if(p->people[i].name==name)
return i;
}
return -1;
}
//删除联系人
void deleteperson(addressbooks *p)
{
string name;
cout<<"请输入你要删除的联系人:"<<"";
cin>>name;
int ret=exist(p,name);
if(ret!=-1)
{
//查到此人了
for(int i=ret;i<p->size;i++)
p->people[i]=p->people[i+1];
p->size--;
cout<<"删除成功"<<endl;
}
else
cout<<"----没有找到此人----"<<endl;
system("pause");
system("cls");
}
//查找联系人
void findperson(addressbooks *p)
{
string name;
cout<<"请输入你要查找的联系人:"<<"";
cin>>name;
int ret=exist(p,name);
if(ret!=-1)
{
cout<<"姓名: "<<p->people[ret].name<<"\t";
cout<<"性别: "<<p->people[ret].sex<<"\t";
cout<<"年龄: "<<p->people[ret].age<<"\t";
cout<<"电话号码: "<<p->people[ret].phone<<"\t";
cout<<"地址: "<<p->people[ret].addr<<"\t";
cout<<""<<endl;
}
else
cout<<"无法找到该联系人"<<endl;
system("pause");
system("cls");
}
//修改联系人
void changepeople(addressbooks *p)
{
string name;
cout<<"请输入你要修改的联系人:"<<"";
cin>>name;
int ret=exist(p,name);
if(ret!=-1)
{
string sex;
int age;
string phone;
string addr;
cout<<"请输入姓名 性别 年龄 电话 地址等信息"<<endl;
cin>>name>>sex>>age>>phone>>addr;
p->people[ret].name=name;
p->people[ret].age=age;
p->people[ret].phone=phone;
p->people[ret].sex=sex;
p->people[ret].addr=addr;
}
else
cout<<"没有该联系人,无法修改"<<endl;
system("pause");
system("cls");
}
//清空通讯录
void clearpeople(addressbooks *p)
{
p->size=0;
cout<<"清空通讯录成功"<<endl;
system("pause");
system("cls");
}
//菜单
void showmenu()
{
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;
}
//主函数
int main()
{
addressbooks abs;
int select=0;
while(true)
{
showmenu();
cout<<"请输入你的选择(0-6):";
cin>>select;
switch(select)
{
case 1://1.添加联系人
addperson(&abs);
break;
case 2://2.显示联系人
showperson(&abs);
break;
case 3://3.删除联系人
deleteperson(&abs);
break;
case 4://4.查找联系人
findperson(&abs);
break;
case 5://5.修改联系人
changepeople(&abs);
break;
case 6://清空联系人
clearpeople(&abs);
break;
case 0:
{
cout<<"------欢迎下次使用-----"<<endl;
system("pause");
system("cls");
break;
return 0;}
default:
break;
}
}
return 0;
}
运行效果: