Dublowanie iteracji while'a

0

Zacząłem właśnie pisać szkielet programu i w przedbiegach już pojawił się problem:

    while(odp != '0'){
    printf("\n\n 1 Wyswietl cała liste");
    printf("\n 2 Dodaj nowy element");
    printf("\n 3 Pokaz ostatni element");
    printf("\n 4 Usun ostatni element");
    printf("\n 5 Ilosc elementow\n\n\n");
    odp = getchar();
    switch(odp){
                      case '1' : break;
                      case '2' : break;
                      case '3' : break;
                      case '4' : break;
                      case '5' : break;                   
   }
   }

Gdy nie przerywam pętli, tzn wpiszę jakikolwiek inny znak niż "0" menu wyświetla się podwójnie, nie wywołując za pierwszym razem funkcji getchar.

Jakieś rozwiązanie?

1

przed odp = getchar(); dać: while(getchar()!='\n') {}

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