Wprowadzenie elementów do tablicy z możłiwością poprawki.
Ostatnio zmodyfikowano 2015-10-28 19:19
piropaolo Temat założony przez niniejszego użytkownika |
Wprowadzenie elementów do tablicy z możłiwością poprawki. » 2015-10-27 21:15:01 Hej wszystkim, mam pewien problem. Wprowadzam elementy do tablicy, konkretniej liczby całkowite różne od zera. Pierwotnie zabezpieczyłem się przed wprowadzeniem czegoś innego, ale sposób poniższy wymusza zamknięcie programu i zaczęcie od początku, co nie do końca mnie satysfakcjonuje. while( 1 ) { if( scanf( "%i", & tab[ c ] ) != 1 ) { printf( "BLAD_DANYCH - wprowadz liczbe jeszcze raz" ); return 0; } if( tab[ c ] == 0 ) break; c++; }
Próbuję zrobić tak, żeby w przypadku, w którym ktoś wprowadzi coś innego niż liczba, użytkownik miał szansę poprawienia tej konkretnej wartości, bez zaczynania od nowa. Sprawdzałem już masę sposobów, z innymi pętlami z whilem przy skanie ale zawsze coś jest nietak, nierzadko prowadzi to do nieskończonej pętli. Z góry dziękuję za pomoc. |
|
carlosmay |
» 2015-10-28 14:10:35 scanf( "%i", & tab[ c ]; while( tab[ c ] == 0 ) { printf( "BLAD_DANYCH - wprowadz liczbe jeszcze raz" ); scanf( "%i", & tab[ c ]; }
|
|
piropaolo Temat założony przez niniejszego użytkownika |
» 2015-10-28 18:53:47 Takie rozwiązanie owszem działa, ale mi chodzi o trochę co innego. Zerem ma się dany ciąg kończyć, a zabezpieczyć chce się przed wprowadzeniem czegoś takiego jak choćby litera czy średnik. |
|
1aam2am1 |
» 2015-10-28 19:05:05 while( 1 ) { while( scanf( "%i", & tab[ c ] ) != 1 ) { printf( "BLAD_DANYCH - wprowadz liczbe jeszcze raz" ); } if( tab[ c ] == 0 ) break; c++; }
|
|
piropaolo Temat założony przez niniejszego użytkownika |
» 2015-10-28 19:19:49 |
|
« 1 » |