2-实验二-通讯录条目oop版(其他实验请查看博客)
问题:通讯录管理程序。通讯录是由通讯录条目组成的。…
一、子问题描述:
通讯录条目由姓名、电话组成的。可以进行输入、输出、修改姓名、修改电话。(可以进行适当的扩展)
程序主菜单如下:
1.输入通讯录条目
2.输出通讯录条目
3.修改姓名
4.修改电话
0.退出
要求:采用面向对象方式编写此程序。
详细代码:共三个文件,分别是main文件、.h文件、.cpp文件
main文件:
#include "CommEntry.h"
void menu() { // 程序主菜单
cout << endl;
cout << "---------------------" << endl;
cout << "程序主菜单如下:" << endl;
cout << "1.输入通讯录条目" << endl;
cout << "2.输出通讯录条目" << endl;
cout << "3.修改姓名" << endl;
cout << "4.修改电话" << endl;
cout << "5.修改地址" << endl;
cout << "0.退出" << endl;
cout << "---------------------" << endl;
cout << "请输入:";
}
int Inputchoose() {
string op; cin >> op;
if (op[1]) return 999;
return op[0] - '0';
}
int main() {
int switch_op;
CommEntry ceZS;
do {
menu();
switch_op = Inputchoose();
switch (switch_op) {
case 1: ceZS.input(); break;
case 2: ceZS.output(); break;
case 3: {
cout << "请修改姓名:";
string name;
cin >> name;
ceZS.setName(name);
break;
}
case 4: {
cout << "请修改电话:";
string tel;
cin >> tel;
ceZS.setTel(tel);
break;
}
case 5: {
cout << "请修改地址:";
string address;
cin >> address;
ceZS.setAddress(address);
break;
}
case 0: break; // 退出
default: cout << "您输入的命令有误,请重新输入" << endl; break;
}
} while (switch_op);
return 0;
}
.h文件:
#pragma once
#include <iostream>
#include <string>
using namespace std;
class CommEntry {
public:
void input(); // 输入通讯录条目
void output(); // 输出通讯录条目
void setName(string); // 修改姓名
void setTel(string); // 修改电话
void setAddress(string);// 修改地址
string getName(); // 获取姓名
string getTel(); // 获取电话
string getAddress();// 获取地址
private:
string name; // 姓名
string tel; // 电话
string address; // 地址
};
.cpp文件:
#include "CommEntry.h"
void CommEntry::input() { // 输入通讯录条目
cout << "Name:";
cin >> name;
cout << "Tel:";
cin >> tel;
cout << "Address:";
cin >> address;
}
void CommEntry::output() { // 输出通讯录条目
cout << "通讯录条目如下:" << endl;
cout << "Name:" << name << endl;
cout << "Tel:" << tel << endl;
cout << "Address:" << address << endl;
}
void CommEntry::setName(string nam) { // 修改姓名
name = nam;
}
void CommEntry::setTel(string te) { // 修改电话
tel = te;
}
void CommEntry::setAddress(string addr) { // 修改地址
address = addr;
}
string CommEntry::getName() { // 获取姓名
return name;
}
string CommEntry::getTel() { // 获取电话
return tel;
}
string CommEntry::getAddress() { // 获取地址
return address;
}