Podwójne zczytywanie

Odpowiedz Nowy wątek
2011-10-16 11:25
0

Witam,
mam program do napisania, w którym najpierw zczytywane są liczby typu całkowitego, a następnie jedna linijka tekstu. Mój kod tak się prezentuje:

    int skok;

    scanf("%d", &skok);

    char tresc[100];
    int znak = 0;
    int c;

    //  pobieramy dane od użytkownika
    while((c=getchar())!=EOF){
        if(c=='\n'){
            //  naciścnięto [Enter]
            //  więc kończymy zczytywać
            tresc[znak] = '\0';
            break;          
        }else{
            //  wpisywany jest normalny ciąg znaków
            tresc[znak++] = c;
        }
    }

Niestety po wpisaniu jakiejś liczby program od razu się wyłącza.
Mógłby ktoś wyjaśnić dlaczego?
Pozdrawiam

edytowany 1x, ostatnio: KierowcaAutobusu, 2011-10-16 11:25

Pozostało 580 znaków

2011-10-16 12:03
ds
0

bo enter zostaje w buforze i jest pobrany przez getchar()

Pozostało 580 znaków

2011-10-16 12:06
fdsg
0
 #include <cstdio>
int main()
{
        int skok;

        scanf("%d", &skok);

     while(char znak=getchar() != '\n' && (znak!=EOF));

        char tresc[100];
        int znak = 0;
        int c;

        //        pobieramy dane od użytkownika
        while( (c=getchar()) != EOF ){
                if(c=='\n'){
                        //        naciścnięto [Enter]
                        //        więc kończymy zczytywać
                        tresc[znak] = '\0';
                        break;                        
                }else{
                        //        wpisywany jest normalny ciąg znaków
                        tresc[znak] = c;

znak++;
                }
        }
printf("%s\n", &tresc[0]);
 }

Wpisz w google zabezpieczenie liczby site:4programmers.net jest jakiś art o tym

Pozostało 580 znaków

2011-10-16 12:29
0

Zabezpieczenie przed wpisywaniem liter


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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