Dublowanie iteracji while'a

Dublowanie iteracji while'a
B1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 28
0

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

Kopiuj
    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?

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.