lab实验 lab1(其他实验请详见博客)
要求:
完善通讯录条目程序
– 加入对”地址”的管理
– 可以输入、输出条目
– 可以修改条目的每一个子项(name, tel, addr)
详细代码:
#include <iostream>
#include <string>
using namespace std;
struct CommEntry {
string name; // 姓名
string tel; // 电话
string address; // 地址
};
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 << "请输入:";
}
void InputCommEntry(CommEntry &ce) { // 输入通讯录条目
cout << "Name:";
cin >> ce.name;
cout << "Tel:";
cin >> ce.tel;
cout << "Address:";
cin >> ce.address;
}
void PutsCommEntry(CommEntry ce) { // 输出通讯录条目
cout << "通讯录条目如下:" << endl;
cout << "Name:" << ce.name << endl;
cout << "Tel:" << ce.tel << endl;
cout << "Address:" << ce.address << endl;
}
void modify_name(string nam, CommEntry &ce) { // 修改姓名
ce.name = nam;
}
void modify_tel(string te, CommEntry &ce) { // 修改电话
ce.tel = te;
}
void modify_address(string addr, CommEntry& ce) { // 修改地址
ce.address = addr;
}
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: InputCommEntry(ceZS); break;
case 2: PutsCommEntry(ceZS); break;
case 3: {
cout << "请输入新的姓名:";
string name;
cin >> name;
modify_name(name, ceZS);
break;
}
case 4: {
cout << "请输入新的电话:";
string tel;
cin >> tel;
modify_tel(tel, ceZS);
break;
}
case 5: {
cout << "请输入新的地址:";
string address;
cin >> address;
modify_address(address, ceZS);
break;
}
case 0: break; // 退出 结束
default: cout << "您输入的命令有误,请重新输入" << endl; break;
}
} while (switch_op);
return 0;
}