资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

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://www.cdkjz.cn/article/decdje.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220