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++小作业——简单通讯录设计-创新互联
当前地址:https://www.cdcxhl.com/article24/decdje.html

成都网站建设公司_创新互联,为您提供外贸建站静态网站定制开发品牌网站设计虚拟主机建站公司

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都定制网站建设