实验二:数组,指针与c++标准库

实验五:

Info.hpp:

#include <iostream>
#include <string>

using namespace std;

class Info{
    public:
    Info(string a=" ",string b=" ",string c=" ",int d=0):nickname(a),contact(b),city(c),n(d){}
    ~Info(){}
    void print();
    private:
    string nickname;
    string contact;
    string city;
    int n;
};
void Info::print(){
    cout<<"称呼:"<<nickname<<endl; 
    cout<<"联系方式:"<<contact<<endl; 
    cout<<"所在城市:"<<city<<endl;
    cout<<"预定人数:"<<n<<endl; 
}

task5.cpp:

#include <iostream>
#include "Info.hpp"
#include <vector>
#include <string>
using namespace std;

int main()
{
    int i=0,count=0;
    string a,b,c;
    int time=0;
    int m;
    cout<<"录入信息:"<<endl; 
    cout<<"\n";
    cout<<"称呼/昵称,联系方式(邮箱/手机号),所在城市,预定参加人数"<<endl; 
    const int capacity=100;
    vector<Info>audience_info_list;
    while(cin>>a)
    {
        if(a=="cz")
          break;
        cin>>b>>c>>m;
        if(count+m>capacity)
        {
            cout<<"对不起,只剩"<<capacity-count<<"个位置"<<endl; 
            cout<<"1.输入u,更新(update)预定信息"<<endl; 
            cout<<"2.输入q,退出预定"<<endl;
            cout<<"你的选择:"<<endl;
            char ch;
            cin>>ch;
            if(ch=='u')
            {
                audience_info_list.pop_back();
                continue;
            }
            if(ch=='q')
              break;
        }
        audience_info_list.push_back(Info(a,b,c,m));
        time++;
        count=count+m;
    }
    cout<<"截至目前,一共有"<<count<<"位听众预定参加,"<<"预定听众信息如下:"<<endl; 
    for(auto it=audience_info_list.begin();it!=audience_info_list.end();++it)
      (*it).print();
}

实验结果:

 

 

 

 实验六:

textcoder.hpp:

#include <iostream>
#include <string>
using namespace std;


class TextCoder{
    public:
    TextCoder(string a):text(a){}
    ~TextCoder(){}
    string encoder();
    string decoder();
    private:
    string text;
};
string TextCoder::encoder(){
    int i;
    for(i=0;i<text.size();i++)
    {
        if(text[i]>=97&&text[i]<=117)
          text[i]=text[i]+5;
        else if(text[i]>117&&text[i]<=122)
          text[i]=text[i]-21;
        else if(text[i]>=65&&text[i]<=85)
          text[i]=text[i]+5;
        else if(text[i]>86&&text[i]<=90)
          text[i]=text[i]-21;
        else
          text[i]=text[i];
    }
    return text;
} 
string TextCoder::decoder(){
    int i;
    for(i=0;i<text.size();i++)
    {
        if(text[i]>=102&&text[i]<=122)
          text[i]=text[i]-5;
        else if(text[i]>=97&&text[i]<102)
          text[i]=text[i]+21;
        else if(text[i]>=70&&text[i]<=90)
          text[i]=text[i]-5;
        else if(text[i]>65&&text[i]<70)
          text[i]=text[i]+21;
        else
          text[i]=text[i];
    }
    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输入英文文本:"; 
    }
}

实验结果:

 

posted @ 2021-11-01 13:04  叶金萌  阅读(45)  评论(3编辑  收藏  举报