[c++] operacja wejscia(jak nie wyswietlac spacjii??)

0

Witam

Wprowadzam do tablicy liczbę kilkucyfrową.W jaki sposób zrobić coś takiego,że gdy osoba wpisująca kolejne cyfry wcisnie spacje albo jakaś litere to nic się nie stanie(kursor pozostanie w tym samym miejscu).
Jakaś funkcja wczytywania bez echa czy cuś takiego.

P.S.Bez wstawek assemblerowych.

0

int liczba=0;
char c;

while( (c=getchar()) != '\n' )
{
if(c>48 && c<57) liczba = 10*liczba + c - 48;
}

ta funkcja wczyta do liczby wszystkie cyfry(i tylko cyfry), ale bedzie wyswietlala wszystko co wpiszesz.

0

No tak ale getchar() pobiera znak z echem ,więc będzie wyswietlać spacje.

0

sprobuj:

int liczba=0;
char c=' ';

while( c != '\n')
{
if( kbhit() )
{
c=getch();
if(c>48 && c<57){ liczba = liczba*10 + c - 48; cout << c;}
}
}

nie mam jak sprawdzic, getch() powinno byc w conio.h

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