第六章 通讯录管理系统

介绍

制作菜单

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;

}

大体框架

结构体设计

联系人结构体

struct person {
	string name;
	int	sex;
	int age;
	string phone;
	string addr;
};

通讯录结构体

struct AddressBooks {
	struct person personArray[Max];				//人员保存
	int person_size;							//人员数

};

添加联系人

void AddPerson(AddressBooks* abs) {			//添加联系人

	if (abs->person_size == Max) {
		cout << "通讯录已满" << endl;
		return;
	}
	else {
		cout << "姓名" << endl;
		cin >> abs->personArray[abs->person_size].name;

		cout << "性别(1-man,2-women)" << endl;
		int input = 0;

		while (1) {
			cin >> input;
			if (input == 1 || input == 2) {
				abs->personArray[abs->person_size].sex = input;
				break;
			}
			else {
				cout << "输入有误,重新输入" << endl;
			}
		}

		cout << "年龄(0-200)" << endl;
		int age = 0;
		while (1) {
			cin >> age;
			if (age >= 0 && age <200) {
				abs->personArray[abs->person_size].age = age;
				break;
			}
			else {
				cout << "输入有误,重新输入" << endl;
			}

		}

		cout << "电话" << endl;
		cin >> abs->personArray[abs->person_size].phone;

		cout << "地址" << endl;
		cin >> abs->personArray[abs->person_size].addr;

		abs->person_size++;

		cout << "添加成功" << endl;

	}

	system("pause");
	system("cls");

}

显示联系人


void ShowPerson(AddressBooks* abs) {			//显示所有联系人
	if (abs->person_size == 0)			//通讯录为空
		cout << "通讯录为空" << endl;
	else {
		for (int i = 0; i < abs->person_size; i++) {
			cout << "姓名:\t" << abs->personArray[i].name <<"\t";
			cout << "性别:\t" << (abs->personArray[i].sex == 1 ? "男" : "女") << "\t";
			cout << "年龄:\t" << abs->personArray[i].age << "\t";
			cout << "电话:\t" << abs->personArray[i].phone << "\t";
			cout << "地址:\t" << abs->personArray[i].addr << endl;
		}

	}

	system("pause");
	system("cls");

}

删除联系人

int isExist(AddressBooks* abs, string name) {		//检查联系人是否存在并且返回位置编号
	for (int i = 0; i < abs->person_size; i++) {
		if (abs->personArray[i].name == name) {
			return i;
		}
	}

	return -1;
}
void DeletePeron(AddressBooks* abs) {			//删除联系人
	cout << "输入删除人员姓名" << endl;
	string name;
	cin >> name;
	int ret = isExist(abs, name);
	if (ret != -1) {
		for (int i = ret; i < abs->person_size-1; i++) {
			abs->personArray[i] = abs->personArray[i + 1];
		}
		abs->person_size--;
		cout << "删除成功" << endl;
	}
	else {
		cout << "查无此人" << endl;
	}

	system("pause");
	system("cls");
}

查找联系人

void FindPerson(AddressBooks* abs) {

	cout << "输入查询人员姓名" << endl;
	string name;
	cin >> name;
	int ret = isExist(abs, name);

	if (ret != -1) {
		cout << "姓名:\t" << abs->personArray[ret].name << "\t";
		cout << "性别:\t" << (abs->personArray[ret].sex == 1 ? "男" : "女") << "\t";
		cout << "年龄:\t" << abs->personArray[ret].age << "\t";
		cout << "电话:\t" << abs->personArray[ret].phone << "\t";
		cout << "地址:\t" << abs->personArray[ret].addr << endl;
	}
	else {
		cout << "查无此人" << endl;
	}

	system("pause");
	system("cls");
}

修改联系人

void ModifyPerson(AddressBooks* abs) {

	cout << "输入修改人员姓名" << endl;
	string name;
	cin >> name;
	int ret = isExist(abs, name);
	
	if (ret != -1) {
		cout << "姓名" << endl;
		cin >> abs->personArray[ret].name;

		cout << "性别(1-man,2-women)" << endl;
		int input = 0;

		while (1) {
			cin >> input;
			if (input == 1 || input == 2) {
				abs->personArray[ret].sex = input;
				break;
			}
			else {
				cout << "输入有误,重新输入" << endl;
			}
		}

		cout << "年龄(0-200)" << endl;
		int age = 0;
		while (1) {
			cin >> age;
			if (age >= 0 && age < 200) {
				abs->personArray[ret].age = age;
				break;
			}
			else {
				cout << "输入有误,重新输入" << endl;
			}

		}

		cout << "电话" << endl;
		cin >> abs->personArray[ret].phone;

		cout << "地址" << endl;
		cin >> abs->personArray[ret].addr;


		cout << "修改成功" << endl;
	}
	else {
		cout << "查无此人" << endl;
	}

	system("pause");
	system("cls");
}

清空通讯录

void CleanPerson(AddressBooks* abs) {			//清空通讯录
	abs->person_size = 0;
	cout << "通讯录已清空" << endl;
	system("pause");
	system("cls");
}

所有实现代码

#include <iostream>
using namespace std;

#define Max 1000




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;

}

struct person {
	string name;
	int	sex;
	int age;
	string phone;
	string addr;
};


struct AddressBooks {
	struct person personArray[Max];				//人员保存
	int person_size;							//人员数

};



void AddPerson(AddressBooks* abs) {			//添加联系人

	if (abs->person_size == Max) {
		cout << "通讯录已满" << endl;
		return;
	}
	else {
		cout << "姓名" << endl;
		cin >> abs->personArray[abs->person_size].name;

		cout << "性别(1-man,2-women)" << endl;
		int input = 0;

		while (1) {
			cin >> input;
			if (input == 1 || input == 2) {
				abs->personArray[abs->person_size].sex = input;
				break;
			}
			else {
				cout << "输入有误,重新输入" << endl;
			}
		}

		cout << "年龄(0-200)" << endl;
		int age = 0;
		while (1) {
			cin >> age;
			if (age >= 0 && age <200) {
				abs->personArray[abs->person_size].age = age;
				break;
			}
			else {
				cout << "输入有误,重新输入" << endl;
			}

		}

		cout << "电话" << endl;
		cin >> abs->personArray[abs->person_size].phone;

		cout << "地址" << endl;
		cin >> abs->personArray[abs->person_size].addr;

		abs->person_size++;

		cout << "添加成功" << endl;

	}

	system("pause");
	system("cls");

}


void ShowPerson(AddressBooks* abs) {			//显示所有联系人
	if (abs->person_size == 0)			//通讯录为空
		cout << "通讯录为空" << endl;
	else {
		for (int i = 0; i < abs->person_size; i++) {
			cout << "姓名:\t" << abs->personArray[i].name <<"\t";
			cout << "性别:\t" << (abs->personArray[i].sex == 1 ? "男" : "女") << "\t";
			cout << "年龄:\t" << abs->personArray[i].age << "\t";
			cout << "电话:\t" << abs->personArray[i].phone << "\t";
			cout << "地址:\t" << abs->personArray[i].addr << endl;
		}

	}

	system("pause");
	system("cls");

}


int isExist(AddressBooks* abs, string name) {		//检查联系人是否存在并且返回位置编号
	for (int i = 0; i < abs->person_size; i++) {
		if (abs->personArray[i].name == name) {
			return i;
		}
	}

	return -1;
}




void DeletePeron(AddressBooks* abs) {			//删除联系人
	cout << "输入删除人员姓名" << endl;
	string name;
	cin >> name;
	int ret = isExist(abs, name);
	if (ret != -1) {
		for (int i = ret; i < abs->person_size-1; i++) {
			abs->personArray[i] = abs->personArray[i + 1];
		}
		abs->person_size--;
		cout << "删除成功" << endl;
	}
	else {
		cout << "查无此人" << endl;
	}

	system("pause");
	system("cls");
}


void FindPerson(AddressBooks* abs) {			//查询联系人

	cout << "输入查询人员姓名" << endl;
	string name;
	cin >> name;
	int ret = isExist(abs, name);

	if (ret != -1) {
		cout << "姓名:\t" << abs->personArray[ret].name << "\t";
		cout << "性别:\t" << (abs->personArray[ret].sex == 1 ? "男" : "女") << "\t";
		cout << "年龄:\t" << abs->personArray[ret].age << "\t";
		cout << "电话:\t" << abs->personArray[ret].phone << "\t";
		cout << "地址:\t" << abs->personArray[ret].addr << endl;
	}
	else {
		cout << "查无此人" << endl;
	}

	system("pause");
	system("cls");
}



void CleanPerson(AddressBooks* abs) {			//清空通讯录
	abs->person_size = 0;
	cout << "通讯录已清空" << endl;
	system("pause");
	system("cls");
}




void ModifyPerson(AddressBooks* abs) {			//修改联系人

	cout << "输入修改人员姓名" << endl;
	string name;
	cin >> name;
	int ret = isExist(abs, name);
	
	if (ret != -1) {
		cout << "姓名" << endl;
		cin >> abs->personArray[ret].name;

		cout << "性别(1-man,2-women)" << endl;
		int input = 0;

		while (1) {
			cin >> input;
			if (input == 1 || input == 2) {
				abs->personArray[ret].sex = input;
				break;
			}
			else {
				cout << "输入有误,重新输入" << endl;
			}
		}

		cout << "年龄(0-200)" << endl;
		int age = 0;
		while (1) {
			cin >> age;
			if (age >= 0 && age < 200) {
				abs->personArray[ret].age = age;
				break;
			}
			else {
				cout << "输入有误,重新输入" << endl;
			}

		}

		cout << "电话" << endl;
		cin >> abs->personArray[ret].phone;

		cout << "地址" << endl;
		cin >> abs->personArray[ret].addr;


		cout << "修改成功" << endl;
	}
	else {
		cout << "查无此人" << endl;
	}

	system("pause");
	system("cls");
}



int main() {

	int select = 0;
	
	AddressBooks abs;			//创建通讯录
	abs.person_size = 0;		//初始化人员数





	while(1) {
		showMenu();				//菜单展示

		cin >> select;			

		switch (select) {
		case 1:					//添加联系人

			AddPerson(&abs);
			break;				  
		case 2:					//显示联系人  
			ShowPerson(&abs);
			break;				  
		case 3:					//删除联系人 
			DeletePeron(&abs);
			break;				  
		case 4:					//查找联系人
			FindPerson(&abs);
			break;			
		case 5:					//修改联系人
			ModifyPerson(&abs);
			break;			
		case 6:					//清空联系人
			CleanPerson(&abs);
			break;			
		case 0:					//退出通讯录
			cout << "欢迎下次使用" << endl;
			system("pause");
			return 0;
			break;
			
		default:
			system("cls");
			break;
		}

	}

	return 0;
}

### 如何使用 Git 命令行提交代码 为了通过命令行向仓库提交更改,需遵循一系列特定的操作流程。这些操作不仅限于添加文件到暂存区、执行实际的提交动作以及撰写有意义的日志信息。 #### 准备工作 在准备阶段,先要确保本地修改已经完成并测试无误。此时可以查看当前状态来确认哪些文件被改动过: ```bash git status ``` 这一步骤有助于了解即将提交的内容概览[^2]。 #### 添加变更至暂存区 一旦确定好想要提交的具体变动之后,则可通过`git add`指令将它们加入到待提交列表之中。如果打算一次性全部纳入考虑范围内的最新版本的话,那么可以直接采用`.`通配符简化过程: ```bash git add . ``` 此命令会把所有未跟踪的新建文件连同已存在但发生改变过的项目一并收入囊中等待下一步处理。 #### 执行提交操作 当一切就绪后就可以正式实施提交行为啦!这时要用到的就是大名鼎鼎的`git commit`啦~记得附上清晰明了的信息描述以便日后追溯查询哦! 按照惯例,在编写日志的时候应该采祈使句的形式表达意图——即告诉别人“做某事”。例如,“修复 bug”,而不是“我修复了一个错误”。 ```bash git commit -m "fix typo in README.md" ``` 上述例子中的 `-m` 参数后面紧跟的是本次更新的核心要点说明;而双引号内则是具体阐述所作更动目的的文字叙述部分[^4]。 #### 查看历史记录 最后还可以利用 `git log` 来回顾过往所有的提交情况,包括作者姓名、日期时间戳记及备注详情等等有用资料呢! ```bash git log ``` 以上就是完整的基于命令行工具实现源码管理的基本步骤介绍啦[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值