Я хочу, чтобы моя программа попросила пользователя ввести 4-пиновый код (только цифры) и чтобы она не принимала никаких букв. Он не принимает букв, но каждый раз, когда я ввожу пин-код, программа не заботится о 4 цифрах, которые я спрашиваю, вы можете ввести 1 цифру, то есть 10 цифр, и она все равно будет работать. Я хочу, чтобы он вводил 4-контактный код. Я перепробовал множество решений, например, метод if (pin> 999 && pin <= 9999), и он не работает ... Мой код для этой части пока что есть. Заранее большое спасибо за помощь тем, кто может мне объяснить мои ошибки </p>
#include <iostream>
#include <string>
#include <algorithm>
#include <cmath>
using namespace std;
bool clientnumberlength(string pin) {
bool status = true;
if (pin.length() != 4) {
status = false;
}
return status;
}
int main() {
int clientnumber = 4;
cout << "Welcome to my bank incorporation" << endl;
cout << "Please enter your 4 pin customer number" << endl;
while (!(cin >> clientnumber)) {
string PIN;
cin >> PIN;
if (clientnumberlength(PIN) == 4) {
cout << "PIN accepted" << endl;
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
}
else {
cout << "PIN refuser" << endl;
cout << "Please enter your 4 pin customer number" << endl;
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
}
}
return 0;
}