info.hpp:
#ifndef INFO_HPP #define INFO_HPP #include<iostream> #include<string> using namespace std; class Info{ public: Info(string a,string b,string c,int d) : nickname(a),contact(b),city(c),n(d){} void print(){ cout << "称呼: " << nickname << endl; cout << "联系方式:" << contact << endl; cout << "所在城市:" << city << endl; cout << "预定人数:" << n << endl; } private: string nickname; string contact; string city; int n; }; #endif
task5.cpp:
#include"info.hpp" #include<iostream> #include<string> #include<vector> int main() { vector<Info> audience_info_list; const int capacity = 100; string _nickname,_contact,_city; int count = 0,num; char a; cout << "录入信息:" << endl; cout << endl; cout << "称呼/昵称, 联系方式(邮箱/手机号), 所在城市, 预定参加人数" << endl; while( cin >> _nickname){ cin >> _contact; cin >> _city; cin >> num; if( num + count > capacity) { cout << "对不起,只剩" << capacity - count << "个位置。" << endl; cout << "1. 输入u,更新(update)预定信息" << endl; cout << "2. 输入q,退出预定" << endl; cout << "你的选择:"; cin >> a; if(a == 'q'){ break; }else{ cout << "请重新输入:" << endl; continue; } } count += num; audience_info_list.push_back(Info(_nickname,_contact,_city,num)); } cout << "目前一共有" << count << "位听众预定参加,预定听众信息如下:" << endl; for ( int i = 0;i < audience_info_list.size();i++){ audience_info_list[i].print(); } }
运行结果:
textcoder.hpp:
#ifndef TEXTCODER_HPP #define TEXTCODER_HPP #include<iostream> #include<string> using namespace std; class TextCoder{ public: TextCoder(string x):text(x){} string encoder(){ string str = text; for(int i = 0;i < text.length();i++){ if(text[i] >= 'a' && text[i] <= 'z'){ str[i] = (text[i] + 5 - 'a') % 26 + 'a'; }else if(text[i] >= 'A' && text[i] <= 'Z'){ str[i] = (text[i] + 5 - 'A') % 26 + 'A'; } } return str; } string decoder(){ string str = text; for(int i = 0;i < text.length();i++){ if(text[i] >= 'a' && text[i] <= 'z'){ str[i] = (text[i] - 5 - 'a' + 26) % 26 + 'a'; }else if(text[i] >= 'A' && text[i] <= 'Z'){ str[i] = (text[i] - 5 - 'A' + 26) % 26 + 'A'; } } return str; } private: string text; }; #endif
task6.cpp:
#include "TextCoder.hpp" #include<iostream> #include<string> int main() { string text, encoded_text, decoded_text; cout << "输入英文文本: "; while (getline(cin, text)) { encoded_text = TextCoder(text).encoder(); // 这里使用的是临时无名对象 cout << "加密后英文文本:\t" << encoded_text << endl; decoded_text = TextCoder(encoded_text).decoder(); // 这里使用的是临时无名对象 cout << "解密后英文文本:\t" << decoded_text << endl; cout << "\n输入英文文本: "; } }
运行结果: