首页 > 其他分享 >实验三

实验三

时间:2022-10-23 22:33:07浏览次数:42  
标签:info string int text 实验 && include

task5:

info.hpp

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

using namespace std;

class info{
    public:
        info(string n, string c, string ci, int n1);    
        void print()const ;
    private:
        string nickname;
        string contact;
        string city;
        int n;
};

info::info(string n, string c, string ci, int n1)  : nickname(n), contact(c), city(ci), n(n1){};    

void info::print() const
{
    cout << left << endl
           << setw(15) << "\n称呼:  " << nickname
           << setw(15) << "\n联系方式:" << setw(15) << contact
           << setw(15) << "\n所在城市:" << setw(15) << city
           << setw(15) << "\n预定人数:" << setw(15) << n << endl;
}

task5.cpp

#include <iostream>
#include <vector>
#include <string>
#include "Info.hpp"

using namespace std;

static int count = 0;
const int capacity = 100;

int main(){
    vector<info> audience_info_list;
    string n, c, ci;
    int n1;
    cout << "录入信息:\n\n称呼/昵称,联系方式(邮箱/手机号),所在城市,预定参加人数\n";
    while (cin >> n)
    {
        cin >> c >> ci >> n1;
        if (count + n1 <= capacity) 
        {
            info tmp(n, c, ci, n1);
            audience_info_list.push_back(tmp);
            count += n1;
            if (count == capacity)
                break;
        }
        else
        {
            char i;
            cout << "亲爱的 " << n << " 对不起,只剩" << capacity - count << "个位置."
                 << "\n1. 输入u, 更新(update)预定信息"
                 << "\n2. 输入q, 退出预定"
                 << "您的选择:";

            cin >> i;
            if (i == 'u')
                cout << "请重新输入:" << endl;
            if (i == 'q')
            {
                cout << endl;
                break;
            }
        }
    }
    cout << "截至目前,一共有" << count << "位听众预定参加。预定观众信息如下:" << endl;
    for (auto list : audience_info_list)
        list.print();
    return 0;
}

 

task6:

TextCoder.hpp

#pragma once

#include <iostream>
#include <string>

using namespace std;

class TextCoder {
private :
    string text;
    void encoder();
    void decoder();
public:
    TextCoder(string text);
    string get_ciphertext();
    string get_deciphertext();
};

TextCoder::TextCoder(string text) : text(text) {}

void TextCoder::encoder() {
    for (int i = 0; i < text.length(); i++)
    {
        if((text[i]>='a'&&text[i]<='u')||(text[i]>='A'&&text[i]<='U'))
        {
            text[i]+=5;
        }
        else if((text[i]>'u'&&text[i]<='z')||(text[i]>'U'&&text[i]<='Z'))
        {
            text[i]-=21;
        } 
    }
}

void TextCoder::decoder() {
    for (int i = 0; i < text.length(); i++)
    {
        if((text[i]>='f'&&text[i]<='z')||(text[i]>='F'&&text[i]<='Z'))
        {
            text[i]-=5;
        }
        else if((text[i]>='a'&&text[i]<'f')||(text[i]>='A'&&text[i]<'F'))
        {
            text[i]+=21;
        }    
    }
}

string TextCoder::get_ciphertext()
{
    encoder();
    return text;
}

string TextCoder::get_deciphertext()
{
    decoder();
    return text;
}

task6.cpp

#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(); 
}

 

标签:info,string,int,text,实验,&&,include
From: https://www.cnblogs.com/miantiaooooo/p/16819857.html

相关文章

  • 实验5:开源控制器实践——POX
    一)基本要求1.搭建下图所示SDN拓扑,协议使用OpenFlow1.0,控制器使用部署于本地的POX(默认监听6633端口)生成拓扑sudomn--topo=single,3--mac--controller=remote,ip=......
  • 实验6:开源控制器实践——RYU
    基本要求搭建下图所示SDN拓扑,协议使用OpenFlow1.0,并连接Ryu控制器建立拓扑连接RYU控制器L2Switch.pyfromryu.baseimportapp_managerfromryu.controllerim......
  • 实验5:开源控制器实践——POX
    一、实验目的能够理解POX控制器的工作原理;通过验证POX的forwarding.hub和forwarding.l2_learning模块,初步掌握POX控制器的使用方法;能够运用POX控制器编写自定义网络......
  • 实验5:开源控制器实践——POX
    实验5:开源控制器实践——POX一、实验目的能够理解POX控制器的工作原理;通过验证POX的forwarding.hub和forwarding.l2_learning模块,初步掌握POX控制器的使用方法;能够运......
  • 实验三
    #include"Info.hpp"#include<iostream>#include<vector>#include<string>#include<iomanip>usingnamespacestd;staticintt=0;constintcapacity=100;......
  • 实验5:开源控制器实践——POX
    基本要求1.阅读Hub模块代码,使用tcpdump验证Hub模块;2.阅读L2_learning模块代码,画出程序流程图,使用tcpdump验证Switch模块;进阶要求1.重新搭建(一)的拓扑,此时交换机......
  • 实验I
    一,在c++中实现清屏:  system("cls"); 需要用到头文件 #include<iostream> 二, 在c++中改变字体和颜色: system("colorXY"); , 其中X为背景颜色,Y为字体颜色。(......
  • 实验3
    实验任务5Info.hpp文件源码#include<iostream>#include<string>#include<iomanip>usingnamespacestd;classInfo{public:Info(stringname,stri......
  • 实验7:基于REST API的SDN北向应用实践
    基础要求1.编写Python程序,调用OpenDaylight的北向接口实现以下功能(1)利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight;(2)下发指令删除s1上的流表数据importre......
  • 实验2
    #include<stdio.h>#include<stdlib.h>#include<time.h>#defineN5intmain(){intnumber;inti;srand(time(0));for(i=0;i<N;+......