实验二 数组,指针与C++标准库
作者:互联网
task5 :
"info.h"
#include<iostream> #include<string> #include<iomanip> using namespace std; class info { private: string nickname; string contact; string city; int n; public: info(string nickname="null", string contact="null", string city="null", int n=0) :nickname{nickname}, contact{contact}, city{city}, n{n}{} void print(); }; void info::print() { cout<< "Name: " << nickname << endl << "Contact: " << contact << endl << "City: " << city << endl << "NumOfpp: " << n << endl<<endl; }
"task5.cpp"
#include<iostream> #include<string> #include<vector> #include"info.h" using namespace std; int num = 0; vector<info> audience_info_list; void enter(string &bname,const int capacity) { string bcontact; string bcity; int bn; cin >> bcontact >> bcity >> bn; info book(bname,bcontact,bcity,bn); if (bn < capacity - num) { audience_info_list.push_back(book); num += bn; } else if (bn == capacity - num) { cout << "Seat full!" << endl; audience_info_list.push_back(book); num += bn; cout << "Till now , " << num << " audiences have booked tickets.Infomation as follows :" << endl; for (auto it = audience_info_list.begin(); it != audience_info_list.end(); ++it) (*it).print(); } else { char choice; cout << "Sorry!There are only " << capacity - num << " seats left!" << endl << "1. enter u to update book infomation" << endl << "2. enter q to quit" << endl << "Please enter your choice:"; cin >> choice; if (choice == 'u') { cin >> bname; enter(bname, capacity); } else { cout << "Till now , " << num << " audiences have booked tickets.Infomation as follows :" << endl; for (auto it = audience_info_list.begin(); it != audience_info_list.end(); ++it) (*it).print(); } } } int main() { cout << "Enter info:" << endl << endl; cout << "name , contact (tellphone/email) , city , numofpeople" << endl; const int capacity = 5; string bname; while (cin >> bname) enter(bname, capacity); cout << "Till now , " << num << " audiences have booked tickets.Infomation is as follows :" << endl; for (auto it = audience_info_list.begin(); it != audience_info_list.end(); ++it) (*it).print(); }
结果截图:
task6:
"textcoder.hpp"
#include<iostream> #include<string> using namespace std; class Textcoder { private: string text; public: Textcoder(string text0) :text{ text0 } {} string encoder(); string decoder(); }; string Textcoder::encoder() { for (auto& i : text) if (i >= 'a' && i <= 'u') i = i + 5; else switch (i) { case 'v':i = 'a'; break; case 'w':i = 'b'; break; case 'x':i = 'c'; break; case 'y':i = 'd'; break; case 'z':i = 'e'; break; default: break; } return text; } string Textcoder::decoder() { for (auto& i : text) if (i >= 'f' && i <= 'z') i = i - 5; else switch (i) { case 'a':i = 'v'; break; case 'b':i = 'w'; break; case 'c':i = 'x'; break; case 'd':i = 'y'; break; case 'e':i = 'z'; break; default: break; } return text; }
task6.cpp
#include "textcoder.hpp" #include <iostream> #include <string> int main() { using namespace std; 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输入英文文本: "; } }
结果截图:
标签:info,string,int,text,C++,bname,数组,include,指针 来源: https://www.cnblogs.com/Hershel-Hjh/p/15486860.html