C++实现通讯录管理系统项目,主要分为以下几个步骤:
1. 需求分析
在开发任何项目前,需要先进行需求分析,确定项目的目标和功能。
通讯录管理系统的主要功能包括添加联系人、显示联系人、删除联系人、修改联系人、清空联系人等操作。我们需要先确定这些操作的实现方式和操作流程。
2. 数据结构设计
在确定操作流程后,需要设计合适的数据结构来存储联系人信息。可以使用结构体来存储一个联系人的姓名、电话、地址等信息。
struct Person {
string name;
string phone;
string address;
};
然后定义一个动态数组来保存多个联系人信息:
vector<Person> contactList;
3. 界面设计
通讯录管理系统需要简单的界面来显示和输入联系人信息。可以使用命令行作为界面,使用如下方式输入和显示联系人信息:
请输入要进行的操作序号:
1. 添加联系人
2. 显示联系人
3. 删除联系人
4. 修改联系人
5. 清空联系人
4. 功能实现
4.1 添加联系人
实现方式:从命令行输入联系人信息,将联系人信息保存到动态数组中。
示例代码:
void addContact() {
cout << "请输入联系人姓名:" << endl;
string name;
getline(cin, name);
cout << "请输入联系人电话:" << endl;
string phone;
getline(cin, phone);
cout << "请输入联系人地址:" << endl;
string address;
getline(cin, address);
// 新建联系人对象
Person contact = { name, phone, address };
// 将联系人添加到联系人列表中
contactList.push_back(contact);
cout << "添加联系人成功!" << endl;
}
4.2 显示联系人
实现方式:遍历动态数组中保存的联系人信息,将所有联系人信息输出到命令行。
示例代码:
void showContact() {
for (int i = 0; i < contactList.size(); i++) {
cout << "姓名:" << contactList[i].name << "\t";
cout << "电话:" << contactList[i].phone << "\t";
cout << "地址:" << contactList[i].address << endl;
}
}
5. 完整示例代码
下面是完整的通讯录管理系统示例代码:
#include <iostream>
#include <vector>
using namespace std;
struct Person {
string name;
string phone;
string address;
};
vector<Person> contactList;
void addContact() {
cout << "请输入联系人姓名:" << endl;
string name;
getline(cin, name);
cout << "请输入联系人电话:" << endl;
string phone;
getline(cin, phone);
cout << "请输入联系人地址:" << endl;
string address;
getline(cin, address);
Person contact = { name, phone, address };
contactList.push_back(contact);
cout << "添加联系人成功!" << endl;
}
void showContact() {
for (int i = 0; i < contactList.size(); i++) {
cout << "姓名:" << contactList[i].name << "\t";
cout << "电话:" << contactList[i].phone << "\t";
cout << "地址:" << contactList[i].address << endl;
}
}
void deleteContact() {
cout << "请输入要删除的联系人序号:" << endl;
int index;
cin >> index;
if (index < 1 || index > contactList.size()) {
cout << "输入序号错误,请重新输入!" << endl;
return;
}
contactList.erase(contactList.begin() + index - 1);
cout << "删除联系人成功!" << endl;
}
void modifyContact() {
cout << "请输入要修改的联系人序号:" << endl;
int index;
cin >> index;
if (index < 1 || index > contactList.size()) {
cout << "输入序号错误,请重新输入!" << endl;
return;
}
cout << "请输入新联系人姓名:" << endl;
string name;
getline(cin, name);
cout << "请输入新联系人电话:" << endl;
string phone;
getline(cin, phone);
cout << "请输入新联系人地址:" << endl;
string address;
getline(cin, address);
contactList[index - 1].name = name;
contactList[index - 1].phone = phone;
contactList[index - 1].address = address;
cout << "修改联系人成功!" << endl;
}
void clearContact() {
contactList.clear();
cout << "清空联系人成功!" << endl;
}
int main() {
while (true) {
cout << "请输入要进行的操作序号:" << endl;
cout << "1. 添加联系人" << endl;
cout << "2. 显示联系人" << endl;
cout << "3. 删除联系人" << endl;
cout << "4. 修改联系人" << endl;
cout << "5. 清空联系人" << endl;
int choice;
cin >> choice;
switch (choice) {
case 1:
addContact();
break;
case 2:
showContact();
break;
case 3:
deleteContact();
break;
case 4:
modifyContact();
break;
case 5:
clearContact();
break;
default:
cout << "输入错误,请重新输入!" << endl;
break;
}
}
return 0;
}
示例1:添加联系人
请输入要进行的操作序号:
1. 添加联系人
2. 显示联系人
3. 删除联系人
4. 修改联系人
5. 清空联系人
1
请输入联系人姓名:
张三
请输入联系人电话:
110
请输入联系人地址:
北京市海淀区
添加联系人成功!
示例2:显示联系人
请输入要进行的操作序号:
1. 添加联系人
2. 显示联系人
3. 删除联系人
4. 修改联系人
5. 清空联系人
2
姓名:张三 电话:110 地址:北京市海淀区
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++实现通讯录管理系统项目 - Python技术站