实验三

#include <iostream>
#include "Info.hpp"
#include <vector>
#include <string>
#include <iomanip>
int main()
{
    using namespace std;
    const int capacity=100;
    vector<Info> audience_info_list;
    cout<<"录入信息:\n\n";
    cout<<"昵称"<<setw(35)<<"联系方式(邮箱/手机号)"<<setw(20)<<"所在城市"<<setw(25)<<"预定参加人数\n";
    int sum=0,number,item=0,left=0;
    string name,con,where;
    while(sum<=capacity&&getline(cin,name,' ')){
        cin>>con;
        cin>>where;
        cin>>number;
        getchar();
        Info push(name,con,where,number);
        left=push.get_n();
        audience_info_list.push_back(push);
        item++;
        sum+=number;
        number=0;
    }
    if(sum>capacity){
        cout<<"对不起,只剩"<<capacity-sum+left<<"个位置\n";
        cout<<"1.输入u,更新(update)预定信息"<<endl;
        cout<<"2.输入q,退出预定" <<endl;
        cout<<"你的选择:";
        char choose;
        cin>>choose;
        cout<<endl;
        cout<<"截至目前,一共有"<<sum-left<<"位听众预定参加。预定听众信息如下:"<<endl;
        for(int i=0;i<item-1;i++){
            audience_info_list.at(i).print();
        }
    }
    else{
        cout<<"截至目前,一共有"<<sum<<"位听众预定参加。预定听众信息如下:"<<endl;
        for(int i=0;i<item;i++){
            audience_info_list.at(i).print();
        }
    }
}
5.cpp
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
class Info
{
    public:
        Info(string name,string call,string place,int number):nickname{name},contact{call},city{place},n{number}{};
        void print();
        int get_n();
    private:
    string nickname,contact,city;
    int n;
};
void Info::print()
{

    cout<<"昵称:        "<<nickname<<endl;
    cout<<"联系方式:    "<<contact<<endl;
    cout<<"所在城市:    "<<city<<endl;
    cout<<"预定人数:    "<<n<<endl;
    cout<<endl;
}

int Info::get_n()
{
    return n;
}
5.hpp

#include"textcoder.hpp"
#include<iostream>
#include<string>
void test(){
    using namespace std;
    string text,encoded_text,decoded_text;
    cout<<"请输入英文文本: ";
    while(getline(cin,text)){
        encoded_text=TextCoder(text).get_ciphertext();
        cout<<"加密后英文文本:\t"<<encoded_text<<endl;
        decoded_text=TextCoder(encoded_text).get_deciphertext();
        cout<<"解密后英文文本:\t"<<decoded_text<<endl;
        cout<<"\n输入英文文本:";
    }
}

int main(){
    test();
}
6.cpp
#include<iostream>
#include<string>
using namespace std;
class TextCoder 
{
private:
    string text;
    void encoder(string &m)
    {
        for (auto &item:m)
        {
            if (isalpha(item)) 
            {
                item+=5;
                if (item>'z'||item>'Z'&& item<'a') 
                {
                    item-=26;
                }
            }
        }
    }
    void decoder(string &m) 
    {
        for (auto &item:m)
        {
            if (isalpha(item)) 
            {
                item -= 5;
                if (item <'A'||item>'Z'&&item<'a') 
                {
                    item+=26;
                }
            }
        }
    }
public:
    TextCoder(string text0):text{text0}{}
    string get_ciphertext();
    string get_deciphertext();
};
string TextCoder::get_ciphertext() 
{
    encoder();
    return text;
}
string TextCoder::get_deciphertext() 
{
    decoder();
    return text;
}
6.hpp

 

posted @ 2022-10-25 20:31  旅、程  阅读(2)  评论(0编辑  收藏  举报