实验2 数组、指针与C++标准库

实验5头文件 info.hpp

#include<iostream>
#include<cstring>
using namespace std;

class Info {
private:
    string nickname;
    string contact;
    string city;
    int num;
public:
    Info(string nickname0 = "*", string contact0 = "*", string city0 = "*", int num0 = 0) :
        nickname(nickname0), contact(contact0), city(city0), num(num0) {}
    void print() {
        cout << "称呼:      " << nickname << endl;
        cout << "联系方式:  " << contact << endl;
        cout << "所在城市:  " << city << endl;
        cout << "预定人数:  " << num << endl;
    }
};

主函数:

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

int main() {
    using namespace std;

    vector<Info> audience_info_list;
    const int capacity = 100;
    
    int temp = 0;

    string nickname, contact, city;
    int num;
    cout << "录入信息:" << endl;
    cout << "称呼/昵称,联系方式(邮箱/手机号),所在城市,预定人数:" << endl;
    while (cin >> nickname) {
        int flag = 0;
        cin >> contact >> city >> num;
        Info t{ nickname, contact, city, num };
        if (temp + num > capacity) {
            char x;
            cout << "对不起,只剩" << capacity - temp << "个位置" << endl;
            cout << "1.输入u,更新(update)预定信息" << endl;
            cout << "2.输入q,退出预定" << endl;
            cout << "您的选择是:" << endl;
            cin >> x;
            switch (x) {
            case 'u':
                flag = 1;
                break;
            case 'q':
                flag = 2;
                break;
            default:
                flag = 2;
                cout << "输入错误,已为您退出预定";
                break;
            }
        }
        if (flag == 2)
            break;
        else if (flag == 0) {
            temp += num;
            audience_info_list.push_back(t);
        }
    }

    cout << "截止目前,一共有" << temp << "位听众预定参加。预定观众信息如下:" << endl;
    for (auto it = audience_info_list.begin(); it != audience_info_list.end(); ++it)
        it->print();
}

 

实验六:头文件 textcoder.cpp

#include <iostream>
#include<string>
using namespace std;
class TextCoder {
public:
    TextCoder(string &a):text(a){}
    string decoder(){
        int i ;
        string s;
        s = text;
        for (i = 0; s[i] != '\0'; i++)
        {
            if (s[i] >= 102 && s[i] <= 122)
                s[i] = s[i] - 5;
            else if (s[i] >= 97 && s[i] < 102)
                s[i] = 122 - 4 + s[i] - 97;

            else if (s[i] >= 70 && s[i] <= 90)
                s[i] = s[i] - 5;
            else if (s[i] >= 65 && s[i] <= 69)
                s[i] = 90 - 4 + s[i] - 65;

        }
        text = s;
        return s;
    }
    string encoder() 
    {
        int i;
        string s;
        s = text;
        for (i = 0; s[i] != '\0'; i++)
        {
            if (s[i] >= 97 && s[i] <= 117)
                s[i] = s[i] + 5;
            else if (s[i] >= 118 && s[i] <= 122)
                s[i] = 97 + 4 + s[i] -122;

            else if (s[i] >= 65 && s[i] <= 85)
                s[i] = s[i] + 5;
            else if (s[i] >= 86 && s[i] <= 90)
                s[i] = 65 + 4 + s[i] - 90;

        }
        text = s;
        return s;
    }
private:
    string text;
};

程序运行截图:

 

 

 

posted @ 2021-11-03 10:28  不要说我笨  阅读(16)  评论(2)    收藏  举报