首页 > 解决方案 > 在数组c ++上制作6位引脚

问题描述

我想问用户 6 位数的密码,我试过这个代码,它确实有效。问题是它无法从 0 开始读取 pin。代码的目的是读取 6 位 pin,无论开始是什么,只要它是整数,它就会读取正确的输出。

using namespace std;

int main(){
    int pin[0];

    cin>>pin[0];

    if (pin[0] >= 100000 && pin[0] <= 999999) {
        cout << pin[0];
    }
    else {
        cout << "Invalid input!";
    }


}```

标签: c++arrays

解决方案


一方面您想读取一个整数(您将它与100000和进行比较999999),另一方面您想将单个数字读入一个数组。不能两者兼而有之。而且你不能有一个 size 数组0

只保留单个整数。如果要访问单个数字,可以将其转换为字符串并访问字符(您已经确保它有 6 个数字):

#include <iostream>
#include <string>
int main(){
    int pin;

    std::cin>>pin;

    if (pin >= 100000 && pin <= 999999) {
        std::cout << pin << "\n";
        std::string pin_string = std::to_string(pin);
        for (size_t i=0; i<6; ++i){
            std::cout << pin_string[i] << "\n";
        }
    }
    else {
        std::cout << "Invalid input!";
    }
}

推荐阅读