首页 > 编程语言 >实验三:数组、指针与现代C++

实验三:数组、指针与现代C++

时间:2022-10-23 16:24:23浏览次数:43  
标签:&& string int text void C++ 数组 include 指针

实验任务五

task.cpp

#include"info.h"
#include<iostream>
#include<string>
#include<vector>

using namespace std;

int main(){
    const int capacity=100;
    vector<Info> audience_info_list;
    cout<<"录入信息: "<<endl;
    cout<<endl;
    cout<<"昵称\t";
    cout<<"联系方式(邮箱/手机号)\t";
    cout<<"所在城市\t";
    cout<<"预定参加人数\t"<<endl;
    string nickname,contact,city;
    int num,sum=0;
    while(cin>>nickname){
        cin>>contact>>city>>num;
        sum+=num;
    if(capacity-sum>0){
        Info p=Info(nickname,contact,city,sum);
        audience_info_list.push_back(p);
    }
    else{
        sum-=num;
        char c;
        cout<<"对不起,只剩"<<capacity-sum<<"个位置"<<endl;
        cout<<"1.输入u,更新(update)预定信息"<<endl;
        cout<<"2.输入q,退出预定"<<endl;
        cout<<"你的选择: ";
        cin>>c;
        cout<<endl;
        if(c=='q')
        break;
        else if(c=='u'){
            cout<<"请更新您的预定信息"<<endl;
            continue;
        } 
    }
}
    cout<<"截至目前,一共有"<<sum<<"名听众预定参加。预定听众信息如下:"<<endl;
    for(int i=0;i<audience_info_list.size();i++){
        audience_info_list.at(i).print();
        cout<<endl;
    }
}

info.hpp

#pragma once
#include<iostream>
#include<iomanip> 
#include<string>
using namespace std;
class Info{
    public:
        Info(string name0,string contact0,string city0,int n):nickname{name0},contact{contact0},city{city0},n{n}{}
        void print();
    private:
        string nickname,contact,city;
        int n;
};
void Info::print()
{
    cout<<setw(10)"昵称:\t"<<nickname<<endl;
    cout<<setw(10)<<"联系方式:\t "<<contact<<endl;
    cout<setw(10)<<"所在城市:\t "<<city<<endl;
    cout<<setw(10)<<"预定人数:\t "<<n<<endl;
}

 

 

 

 

 

 实验任务六

task6.cpp

#include"textcoder.h"
#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();
}

textcoder.hpp

#pragma once
#include<iostream>
#include<string>
using namespace std;
class TextCoder{
    public:
        TextCoder(string text0):text{text0}{}
        string get_ciphertext();
        string get_deciphertext();
    private:
        string text;
        void encoder();
        void decoder();
};
void TextCoder::encoder(){
    int length=text.length();
    for(int i=0;i<length;i++){
        if(text.at(i)>='a'&&text.at(i)<='u')
        text.at(i)+=5;
        else if(text.at(i)>='v'&&text.at(i)<='z')
        text.at(i)-=21;
        else if(text.at(i)>='A'&&text.at(i)<='U')
        text.at(i)+=5;
        else if(text.at(i)>='V'&&text.at(i)<='Z')
        text.at(i)-=21;
    }
}

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

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

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

 

标签:&&,string,int,text,void,C++,数组,include,指针
From: https://www.cnblogs.com/wanglaich/p/16818784.html

相关文章

  • 数组
    一.数组的概念及定义数组即一组任意类型或者相同类型的数据。除了Object类型之外,Array类型是ECMAScript最常用的类型。而且ECMAScript中的Array类型和其他语言中......
  • 实验3 数组、指针与现代C++标准库
    任务五info.hpp1#pragmaonce2#include<iostream>3#include<string>4#include<iomanip>5usingnamespacestd;6classinfo7{8public:9......
  • 实验三 数组、指针与现代C++标准库
    实验五代码:Info.hpp1#pragmaonce23#include<iostream>4#include<string>5#include<iomanip>67usingstd::string;8usingstd::cout;9us......
  • C/C++ 一维数组和二维数组参数传递的几种方式
    一维数组:#include<iostream>#include<windows.h>#include<string>usingnamespacestd;//在以下几种方法中,ages都不是真正的数组,实际上是一个指针int*agesint......
  • c++dump
    //Minidump.h#pragmaonceclassCMinidump{public: CMinidump(); ~CMinidump(); staticvoidCreateDumpFile(LPCSTRlpstrDumpFilePathName,EXCEPTION_POINTERS......
  • MD5 哈希加密算法 - C++ 实现
    MD5加密算法-C++实现写在前头:还在学习中!整个文档写的很匆忙,肯定还有很多不周到的地方.欢迎在评论中提出你的宝贵意见!!算法背景BackgroundMD5消息摘要算法......
  • Java 实例 - 数组差集
    https://www.runoob.com/java/arrays-removeall.htmlhttps://blog.csdn.net/weixin_43552143/article/details/124878630......
  • c++对象的拷贝、构造、虚构
    抽象基类​ 现有如下代码:classAbstract_base{public:virtual~Abstract_base()=0;virtualvoidinterface()const=0;virtualconstchar*mumble......
  • 大规模C++软件开发 卷1 过程与架构 电子书 pdf
    链接:大规模C++软件开发卷1过程与架构  本书通过具体示例演示了基本的设计概念,为各种规模的项目奠定了基础,并演示了成功进行大规模实际开发所需的过程、方法、技......
  • 实验3 数组、指针与现代C++标准库
    5.实验任务5info.hpp#pragmaonce#include<iostream>#include<string>#include<iomanip>usingstd::string;usingstd::cout;usingstd::endl;classinfo{......