实验2 数组、指针与C++标准库
实验5头文件 info.hpp
#include<iostream> #include<cstring> using namespace std; class Info { private: string nickname; string contact; string city; int num; public: Info(string nickname0 = "*", string contact0 = "*", string city0 = "*", int num0 = 0) : nickname(nickname0), contact(contact0), city(city0), num(num0) {} void print() { cout << "称呼: " << nickname << endl; cout << "联系方式: " << contact << endl; cout << "所在城市: " << city << endl; cout << "预定人数: " << num << endl; } };
主函数:
#include"Info.hpp" #include<iostream> #include<vector> int main() { using namespace std; vector<Info> audience_info_list; const int capacity = 100; int temp = 0; string nickname, contact, city; int num; cout << "录入信息:" << endl; cout << "称呼/昵称,联系方式(邮箱/手机号),所在城市,预定人数:" << endl; while (cin >> nickname) { int flag = 0; cin >> contact >> city >> num; Info t{ nickname, contact, city, num }; if (temp + num > capacity) { char x; cout << "对不起,只剩" << capacity - temp << "个位置" << endl; cout << "1.输入u,更新(update)预定信息" << endl; cout << "2.输入q,退出预定" << endl; cout << "您的选择是:" << endl; cin >> x; switch (x) { case 'u': flag = 1; break; case 'q': flag = 2; break; default: flag = 2; cout << "输入错误,已为您退出预定"; break; } } if (flag == 2) break; else if (flag == 0) { temp += num; audience_info_list.push_back(t); } } cout << "截止目前,一共有" << temp << "位听众预定参加。预定观众信息如下:" << endl; for (auto it = audience_info_list.begin(); it != audience_info_list.end(); ++it) it->print(); }
实验六:头文件 textcoder.cpp
#include <iostream> #include<string> using namespace std; class TextCoder { public: TextCoder(string &a):text(a){} string decoder(){ int i ; string s; s = text; for (i = 0; s[i] != '\0'; i++) { if (s[i] >= 102 && s[i] <= 122) s[i] = s[i] - 5; else if (s[i] >= 97 && s[i] < 102) s[i] = 122 - 4 + s[i] - 97; else if (s[i] >= 70 && s[i] <= 90) s[i] = s[i] - 5; else if (s[i] >= 65 && s[i] <= 69) s[i] = 90 - 4 + s[i] - 65; } text = s; return s; } string encoder() { int i; string s; s = text; for (i = 0; s[i] != '\0'; i++) { if (s[i] >= 97 && s[i] <= 117) s[i] = s[i] + 5; else if (s[i] >= 118 && s[i] <= 122) s[i] = 97 + 4 + s[i] -122; else if (s[i] >= 65 && s[i] <= 85) s[i] = s[i] + 5; else if (s[i] >= 86 && s[i] <= 90) s[i] = 65 + 4 + s[i] - 90; } text = s; return s; } private: string text; };
程序运行截图:



浙公网安备 33010602011771号