实验2 数组、指针与C++标准库
task5
#include "Info.hpp" #include <iostream> #include <string> #include "vector" using namespace std; int main(){ vector<Info>audience_info_list; const int capacity=100; string r,s,t; char a; int n,p,m=0; cout<<"录入信息:"<<endl; cout<<"称呼/昵称,联系方式(邮箱/手机号),所在城市,预定参加人数"<<endl; while(cin>>r){ cin>>s; cin>>t; cin>>n; p=capacity-n-m; if(p<0){ cout<<"对不起,只有"<<capacity-m<<"个位置了"<<endl; cout<<"输入u,更新预定信息"<<endl; cout<<"输入q,退出预定"<<endl; cout<<"你的选择是"<<endl; cin>>a; if(a=='u'){ continue; } if(a=='q') break; } audience_info_list.push_back(Info(r,s,t,n)); m+=n; } cout<<"截至目前,一共有"<<m<<"位听众预定参加,预定听众信息如下"<<endl; for(auto it=audience_info_list.begin();it!=audience_info_list.end();++it){ it->print(); } }
#ifndef INFO_HPP #define INFO_HPP #include <iostream> #include <iomanip> #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


task6
#ifndef TEXTCODER_HPP #define TEXTCODER_HPP #include <iostream> #include <iomanip> #include <string> using namespace std; class TextCoder { public: TextCoder(string t):text(t) {} ~TextCoder()=default; string encoder(); string decoder(); private: string text; }; string TextCoder::encoder() { for(int i=0; i<text.length(); i++) { if(text[i]>='a'&&text[i]<='z'||text[i]>='A'&&text[i]<='Z') { if(text[i]>'u'&&text[i]<='z'||text[i]>'U'&&text[i]<='Z') text[i]=text[i]-26+5; else text[i]=text[i]+5; } } return text; } string TextCoder::decoder() { for(int i=0; i<text.length(); i++) { if(text[i]>='a'&&text[i]<='z'||text[i]>='A'&&text[i]<='Z') { if(text[i]>='f'&&text[i]<='z'||text[i]>='F'&&text[i]<='Z') text[i]=text[i]-5; else text[i]=text[i]+21; } } return text; } #endif


浙公网安备 33010602011771号