首页 > 编程语言 >实验3 数组、指针与现代C++标准库

实验3 数组、指针与现代C++标准库

时间:2022-10-20 18:48:07浏览次数:49  
标签:info string int text C++ item 数组 include 指针

实验5

#pragma once

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

using namespace std;

class info {
public:
    info(string nickname0,string contact0,string city0,int n0):
        nickname{nickname0},contact{contact0},city{city0},n{n0} {}
    void print();

private:
    string nickname, contact, city;
    int n;
};

void info::print() {
    cout << left << setw(15) << "昵称:"<<nickname<< endl;
    cout << left << setw(15) << "联系方式:" << contact << endl;
    cout << left << setw(15) << "所在城市:" << city << endl;
    cout << left << setw(15) << "预定人数:" << n << endl;
    cout << endl;
}
#include<iostream>
#include"info.h"
#include<vector>
#include<string>

using namespace std;
using namespace std;

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

实验6

#pragma once

#include<iostream>
#include<string>

using namespace std;

class TextCoder {
private:
    string text;
private:
    void encoder(string &s)
    {
        for (auto &item:s)
        {
            if (isalpha(item)) {
                item += 5;
                if (item > 'z' || item > 'Z' && item < 'a') {
                    item -= 26;
                }
            }
        }
    }
    void decoder(string& s) {
        for (auto& item : s)
        {
            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(text);
    return text;
}

string TextCoder::get_deciphertext() {
    decoder(text);
    return text;
}
#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();
}

 

标签:info,string,int,text,C++,item,数组,include,指针
From: https://www.cnblogs.com/lyjlyjlyj/p/16810864.html

相关文章

  • 分割数组的最大值问题
    分割数组的最大值问题作者:Grey原文地址:博客园:分割数组的最大值问题CSDN:分割数组的最大值问题题目说明给定一个非负整数数组nums和一个整数m,你需要将这个数组分成......
  • 项目开发神器VsCode配置指南!(含C++、Python、Java环境配置)
    作者:吴忠强,东北大学,Datawhale成员本篇文章虽然是VsCode挂名,但其实介绍了两款神器:Vscode和Vim,这两个结合起来,开发效率蹭蹭蹭!!!之前接触过VsCode但很少用。总感觉写Python......
  • 尺取(双指针)
    概述复杂度:O(n)作用:优化双层循环使用场景:两个指针具有单向性(只加不减或只减不加)思想:利用两个指针去遍历数组。一般来说,遍历数组采用的是单指针(index)去遍历,两个指......
  • 【力扣每日一题】第一题,一维数组的动态和
    题目给你一个数组nums。数组「动态和」的计算公式为:runningSum[i]=sum(nums[0]…nums[i])。请返回nums的动态和。示例1输入:nums=[1,2,3,4]输出:[1,3,6,10]解释:动态......
  • 【C语言】野指针
    ......
  • C函数指针和回调函数
    函数指针函数指针是指向函数的指针变量。通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。函数指针可以像一般函数一样,用于调用函数、传......
  • #打卡不停更#三方库移植之NAPI开发[2]C/C++与JS的数据类型转换
    在《三方库移植之NAPI开发[1]—HelloOpenHarmonyNAPI》通过一个HelloOpenHarmonyNAPI样例讲述了NPAI接口开发基础知识。本文在其基础上修改hellonapi.cpp文件,介绍JS类型......
  • C++ 值,指针,引用的讨论
    源自stackoverflow论坛,很有意义第一个问题,引用传递和按值传递的场合Therearefourmaincaseswhereyoushouldusepass-by-referenceoverpass-by-value:Ifyou......
  • c++ list插入
    list::insert()用于在列表的任何位置插入元素。用法:insert(pos_iter,ele_num,ele)参数:此函数接受三个参数:pos_iter:在容器中插入新元素的位置。ele_num:要插入的......
  • 26 数组作为函数参数
    01数组元素作为函数实参数组元素可以用作函数实参,不能用作形参。在用数组元素作函数实参时,把实参的值传给形参,是“值传递”方式。数据传递的方向是从实参传到形参,单向传递......