实验二
task5
Info.hpp
1 #ifndef INFO_HPP 2 #define INFO_HPP 3 #include<iostream> 4 #include<string> 5 using namespace std; 6 7 class Info{ 8 public: 9 Info(string a,string b,string c,int d); 10 int get_n() {return n;} 11 void print() const; 12 private: 13 string nickname; 14 string contact; 15 string city; 16 int n; 17 }; 18 19 Info::Info(string a,string b,string c,int d){ 20 nickname=a; 21 contact=b; 22 city=c; 23 n=d; 24 } 25 26 void Info::print() const{ 27 cout<<"称呼: "<<nickname<<endl; 28 cout<<"联系方式: "<<contact<<endl; 29 cout<<"所在城市: "<<city<<endl; 30 cout<<"预订人数: "<<n<<endl; 31 } 32 33 #endif
task.cpp
#include"Info.hpp" #include<iostream> #include<string> #include<vector> int main(){ vector<Info> audience_info_list; const int capacity=100; static int sum=0; cout<<"录入信息:"<<endl; cout<<"昵称 ,联系方式 ,所在城市 ,预订人数 \n"; while(getchar()!='#'){ string a,b,c; int d; cin>>a>>b>>c>>d; Info A(a,b,c,d); int tem=sum+A.get_n(); if(tem<capacity){ sum+=A.get_n(); audience_info_list.push_back(A); } else{ int la=capacity-sum; cout<<"对不起,只剩"<<la<<"个位置."<<endl; cout<<"1.输入u,更新预订信息"<<endl; cout<<"2.输入q,退出预订"<<endl; cout<<"你的选择:"; char ch; cin>>ch; if(ch=='u') continue; else if(ch=='q') break; } } cout<<"截至目前,一共有"<<sum<<"位听众预订参加。预订听众信息如下:"<<endl; vector<Info>::iterator it; for(it=audience_info_list.begin();it!=audience_info_list.end();++it) (*it).print(); return 0; }


task6
textcoder.hpp
#ifndef TEXTCODER_HPP #define TEXTCODER_HPP #include<iostream> #include<string> using namespace std; class TextCoder{ public: TextCoder(string t):text(t){}; string encoder(); string decoder(); private: string text; }; string TextCoder::encoder(){ for(auto it=text.begin();it!=text.end();++it){ if(((*it)>='a'&&(*it)<='u')||((*it)>='A'&&(*it)<='U')) (*it)+=5; else (*it)-=21; } return text; } string TextCoder::decoder(){ for(auto it=text.begin();it!=text.end();++it){ if(((*it)>='f'&&(*it)<='z')||((*it)>='F'&&(*it)<='Z')) (*it)-=5; else (*it)+=21; } return text; } #endif
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输入英文文本: "; } }


浙公网安备 33010602011771号