T1:

info.hpp

 1 #include<iostream>
 2 #include<string>
 3 #include<iomanip>
 4 using namespace std;
 5 class info {
 6 public:
 7     info(string nm, string tel, string ct, int n) :nickname(nm), contact(tel), city(ct), n(n) {}
 8     void print() const;
 9 private:
10     string nickname;
11     string contact;
12     string city;
13     int n;
14 };
15 void info::print() const{
16     cout << "称呼:" << left << setw(25) << nickname << endl;
17     cout << "联系方式:" << left << setw(25) << contact << endl;
18     cout << "所在城市:" << left << setw(25) << city << endl;
19     cout << "预定人数:" << left << setw(25) << n << endl;
20 
21 }

info.cpp

 1 #include"info.hpp"
 2 #include<iostream>
 3 #include<vector>
 4 int main(void) {
 5     vector<info>audience_info_list;
 6     const int capacity = 100;
 7     cout << "录入信息:" << endl;
 8     cout << "称呼,联系方式(邮箱/手机号),所在城市,预定参加人数  " << endl;
 9     string nm, tel, ct;
10     int n;
11     int rem=capacity;
12     int reserve = 0;
13     while (cin >> nm) {
14         cin >> tel;
15         cin >> ct;
16         cin >> n;
17         if (rem - n >= 0) {
18             reserve += n;
19             audience_info_list.push_back(info(nm, tel, ct, n));
20             rem -= n;
21         }
22         else {
23             cout << "对不起,只剩" << rem << "个位置" << endl;
24             cout << "1、输入u,更新(update)预定信息" << endl;
25             cout << "2、输入q,退出预订" << endl;
26             cout << "请输入选择:" << endl;
27             string ch;
28             cin >> ch;
29             if (ch == "u") {
30                 cout << "请重新输入信息" << endl;
31             }
32             else
33                 break;
34         }
35 
36     }
37     cout << "\n现在一共有" << reserve << "名听众预定参加,信息如下:" << endl;
38     vector<info>::const_iterator i; 
39       for (i = audience_info_list.begin(); i != audience_info_list.end(); i++)
40            (*i).print();
41 
42 }

 

 T2:

TextCoder.hpp

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 class TextCoder {
 5 public:
 6     TextCoder(string t):text(t){}
 7     string encoder();
 8     string decoder();
 9 private:
10     string text;
11 };
12 string TextCoder::encoder() {
13     int n = 0;
14     while (text[n] != NULL) {
15         if (text[n] >= 'a' && text[n] <= 'z') {
16             if (text[n] > 'u')
17                 text[n] = 'a' + (text[n] - 'v');
18             else
19                 text[n] += 5;
20             }
21         else if (text[n] >= 'A' && text[n] <= 'Z') {
22             if (text[n] > 'U')
23                 text[n] = 'A' + (text[n] - 'V');
24             else
25                 text[n] += 5;
26         }
27         n++;
28     }
29     return text;
30 }
31 string TextCoder::decoder() {
32     int n=0;
33     while (text[n] != NULL) {
34         if (text[n] >= 'a' && text[n] <= 'z') {
35             if (text[n] < 'f')
36                 text[n] = 'z' - ('e' - text[n]);
37             else
38                 text[n] -= 5;
39         }
40         else if (text[n] >= 'A' && text[n] <= 'Z') {
41             if (text[n] < 'F')
42                 text[n] = 'Z' - ('E' - text[n]);
43             else
44                 text[n] -= 5;
45         }
46         n++;
47     }
48     return text;
49 }

TextCoder.cpp

 1 #include"TextCoder.hpp"
 2 #include<iostream>
 3 #include<string>
 4 using namespace std;
 5 int main() {
 6     string text, encoded_text, decoded_text;
 7     cout << "输入英文文本:";
 8     while ( getline(cin,text) ){
 9         encoded_text = TextCoder(text).encoder();
10         cout << "加密后英文文本:\t" << encoded_text << endl;
11         decoded_text = TextCoder(encoded_text).decoder(); 
12         cout << "解密后英文文本:\t" << decoded_text << endl;
13         cout << "\n输入英文文本: ";
14     }
15 }