首页 > 其他分享 >实验三

实验三

时间:2022-10-26 12:34:52浏览次数:33  
标签:info string text add 实验 include cout

#pragma once

#include<iostream>
#include<string>
#include<iomanip>
#include<vector>

using namespace std;

class info{
    
    public:
        info(string Name,string Contact,string City,int num):name{Name},contact{Contact},city{City},n{num}{}
        void print(){
            cout<<"昵称:        "<<name<<endl;
            cout<<"联系方式:    "<<contact<<endl;
            cout<<"所在城市:    "<<city<<endl;
            cout<<"预定人数:    "<<n<<endl;
        }        
    private:
        string name,contact,city;
        int n;
};
#include"info.hpp" 

#include<iostream>
#include<string>
#include<iomanip>
#include<vector>

using namespace std;

int main(){
    
    const int capacity=100 ;
    vector<info>audience_info_list;
    
    cout<<"录入信息:"<<endl;
    cout<<setw(20)<<left<<"昵称";
    cout<<setw(20)<<left<<"联系方式(邮箱/手机号)";
    cout<<setw(20)<<left<<"所在城市";
    cout<<setw(20)<<left<<"预定参加人数"<<endl;
    string na,con,ci,choice="u";
    int cnt,add;
    while(choice=="u"&&cin>>na){
        cin>>con>>ci>>add;
        if(cnt+add>capacity){
            cout<<"对不起,只剩"<<capacity-cnt<<"个位置"<<endl;
            cout<<"1.输入u,更新(update)预定信息"<<endl<<"输入q,退出预定。"<<endl<<"你的选择:";
            cin>>choice;
            if(choice=="q"){
                break;
            }else{
                cin>>na>>con>>ci>>add;
                cnt+=add;
                info in=info(na,con,ci,add);
                audience_info_list.push_back(in);
                break;
            }        
        }
        cnt+=add;
        info in=info(na,con,ci,add);
        audience_info_list.push_back(in);
        if(cnt==capacity){
            break;
        }
    }
    cout << "截至目前,一共有" <<cnt<< "位听众预定参加。预定听众信息如下:" <<endl;
    for (int i=0;i<audience_info_list.size();i++){
        audience_info_list.at(i).print();
    }
    return 0;
}

#pragma once

#include<iostream>
#include<string>

using namespace std;

class TextCoder{
    public:
        TextCoder(string t):text{t}{}
        TextCoder(TextCoder &p):text{p.text}{}
        
        string get_ciphertext(){
            encoder();
            return text;
        }
        string get_deciphertext(){
            decoder();
            return text;
        };
    
    private:
        string text;
        void encoder(){
            for(int i=0;i<text.size();i++){
                if(isupper(text.at(i))){
                    text.at(i)=(text.at(i)-60)%26+65;
                }else{
                    if(islower(text.at(i))){
                        text.at(i)=(text.at(i)-92)%26+97;
                    }
                }
            }
        };
        void decoder(){
            for(int i=0;i<text.size();i++){
                if(isupper(text.at(i))){
                    text.at(i)=(text.at(i)-44)%26+65;
                }else{
                    if(islower(text.at(i))){
                        text.at(i)=(text.at(i)-76)%26+97;
                    }
                }
            }
        };
};
#include "textcoder.cpp"
#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(); 
}

 

标签:info,string,text,add,实验,include,cout
From: https://www.cnblogs.com/dailu666666/p/16827897.html

相关文章

  • 实验7:基于REST API的SDN北向应用实践
    (一)基本要求1.编写Python程序,调用OpenDaylight的北向接口实现以下功能(1)利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight;(2)下发指令删除s1上的流表数据。delete......
  • 实验7:基于REST API的SDN北向应用实践
    一、实验目的1.能够编写程序调用OpenDaylightRESTAPI实现特定网络功能;2.能够编写程序调用RyuRESTAPI实现特定网络功能。二、实验环境1.下载虚拟机软件OracleVisua......
  • 实验7:基于REST API的SDN北向应用实践
    一、实验要求(一)基本要求1.编写Python程序,调用OpenDaylight的北向接口实现以下功能(1)利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight;(2)下发指令删除s1上的流表......
  • 实验7:基于REST API的SDN北向应用实践
    基本要求编写Python程序,调用OpenDaylight的北向接口实现以下功能。(1)利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight。(2)下发指令删除s1上的流表数据delete.py......
  • 实验7:基于REST API的SDN北向应用实践
    一、实验目的能够编写程序调用OpenDaylightRESTAPI实现特定网络功能;能够编写程序调用RyuRESTAPI实现特定网络功能。二、实验环境下载虚拟机软件OracleVisualBox或......
  • 实验6:开源控制器实践——RYU
    一、实验目的1、能够独立部署RYU控制器;2、能够理解RYU控制器实现软件定义的集线器原理;3、能够理解RYU控制器实现软件定义的交换机原理。二、实验环境Ubuntu20.04Des......
  • 实验7:基于REST API的SDN北向应用实践
    实验目的能够编写程序调用OpenDaylightRESTAPI实现特定网络功能;能够编写程序调用RyuRESTAPI实现特定网络功能。实验要求(一)基本要求1.编写Python程序,调用OpenDay......
  • 实验7:基于REST API的SDN北向应用实践
    一、基本要求:①、编写Python程序,调用OpenDaylight的北向接口实现以下功能:1、删除s1上的流表数据代码及其截图:#!/usr/bin/pythonimportrequestsfromrequests.authim......
  • 实验7:基于REST API的SDN北向应用实践
    目录一、实验目的二、实验环境三、实验要求(一)基本要求编写Python程序,调用OpenDaylight的北向接口实现以下功能(1)利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight;(2)......
  • 实验7:基于REST API的SDN北向应用实践
    实验7:基于RESTAPI的SDN北向应用实践(一)基本要求1.编写Python程序,调用OpenDaylight的北向接口实现以下功能(1)利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight;(2)......