Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wprowadzenie elementów do tablicy z możłiwością poprawki.

Ostatnio zmodyfikowano 2015-10-28 19:19
Autor Wiadomość
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.
C/C++
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.
P-139270
carlosmay
» 2015-10-28 14:10:35
C/C++
scanf( "%i", & tab[ c ];
while( tab[ c ] == 0 )
{
    printf( "BLAD_DANYCH - wprowadz liczbe jeszcze raz" );
    scanf( "%i", & tab[ c ];
}
 
P-139285
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.
P-139304
1aam2am1
» 2015-10-28 19:05:05
C/C++
while( 1 )
{
    while( scanf( "%i", & tab[ c ] ) != 1 )
    {
        printf( "BLAD_DANYCH - wprowadz liczbe jeszcze raz" );
    }
    if( tab[ c ] == 0 ) break;
   
    c++;
}
P-139305
piropaolo
Temat założony przez niniejszego użytkownika
» 2015-10-28 19:19:49
Po wklejeniu dostaje coś takiego:
http://i67.tinypic.com​/2rxbapt.png
P-139306
« 1 »
  Strona 1 z 1