Ograniczenie rozmiaru przy wprowadzaniu

0

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

0
while(1)
{
     cin >> a;
     if(a < 1000000)
          break;
}
0

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

0

Jeżeli liczba jest mniejsza od 10 000 to ilu znakowa jest?

0

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.

0

Nie masz nad czymś takim kontroli. Użytkownik może sobie wpisać co chce, natomiast Ty możesz to sobie przefiltrować.

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1