Jak ogranicz długość pola (a) przy wprowadzaniu liczby za pomocą np:
cin >> a
próbowałem za pomocą setw() ale to chyba nie do tego służy.
Pozdrawiam
while(1)
{
cin >> a;
if(a < 1000000)
break;
}
bardziej chodziło mi o ograniczenie długości a nie samej wartości np; żebym pod cin >> a mógł wprowadzić tylko liczbę 4- zankową lub mniejsza a innej po prosu nie dało się wpisać ;p Robię kalkulator liczb zespolonych na zaliczenie i jak wpisuje za duża liczbę to mi rozwala wizualny wygląd, zresztą nie tylko wygląd :P
Jeżeli liczba jest mniejsza od 10 000 to ilu znakowa jest?
Cztero z tym że z tą pentlą ja moge wprowadzić każda natomiast wejdzie tylko mniejsza od 10 000. Chciałem zablokować to już przy wprowadzaniu żeby się dało wpisać np: 4 znaki (1234) i nic wiecej.
Nie masz nad czymś takim kontroli. Użytkownik może sobie wpisać co chce, natomiast Ty możesz to sobie przefiltrować.
Spróbuj coś takiego:
char input[5];
char key;
int x = 0;
while ((key = getch()) != 13 && key < 5) // wykonuj dopóki nie wciśnięto entera lub przekroczono limit 5 znaków
input[x++] = key;
Jedyna wada to to, że użytkownik nie będzie mógł np. usunąć znaku