Problem z potwierdzeniem danych

0

Witam.
W jaki sposób usunąć wymaganie potwierdzenia wpisania znaku od użytkownika?
Program ma działaś w taki sposób, że użytkownik kliknie jakiś znak(w tym przypadku S) i bez potwierdzania tego znaku program ma przejść poziom niżej. Z góry dzięki za pomoc

void menu(void)
{
        char c;
        system("cls");
        printf("================================  MENU  =======================================\n");
        printf("===========================  1.  >>NEW<<    ===================================\n");
        printf("===========================  2.    HELP     ===================================\n");
        printf("===========================  3.    QUIT     ===================================\n");
        getch();
        scanf(" %c",&c);
        if((int)c == 32)
        {system("cls");
        printf("================================  MENU  =======================================\n");
        printf("===========================  1.    NEW     ===================================\n");
        printf("===========================  2.  >>HELP<<   ===================================\n");
        printf("===========================  3.    QUIT     ===================================\n");
        getch();
        scanf(" %c",&c);
        if ((int)c == 83)
        {system("cls");
        printf("================================  MENU  =======================================\n");
        printf("===========================  1.    NEW       ===================================\n");
        printf("===========================  2.    HELP     ===================================\n");
        printf("===========================  3.  >>QUIT<<   ===================================\n");}}
}
0

wut? Co to ma w ogóle być? :|
A to czego szukasz, to prawdopodobnie: http://pl.wikibooks.org/wiki/C/getchar

0

@autor: jak by ten kod wyglądał jakbyś miał 1000 opcji w menu? Chyba by ci się ctrl+c i ctrl+v zepsuły...

0

dokładnie chodzi mi o to, żebym przykładowo będąc na poziomie pierwszym menu klawiszem S zejść poziom niżej bez używania entera. czyli klikam S i jedzie program w dół. ogólnie nie wiem jakby ten kod wyglądał, gdybym miał w menu 1000 opcji. mam 3 więc na ten użytek wystarczy. próbowałem wcześniej po prostu

char c;
c=getchar();

jednak głównym problemem tutaj było czyszczenie bufora. Nie dość, że wymagało potwierdzenia enterem to jeszcze nie działało poprawnie.
Co do pytania co to jest. Jest to menu, w którym jedyną opcją jest zjechanie niżej.

0

c=getch();

0

A w jaki sposób wyczyścić bufor? Ogólnie chodzi mi o to, że jak nacisnę "S" to wykonuje się od razu 2 razy nie czekając na 2gie podanie znaku

0

Sorki, że post pod postem, ale już zrobiłem. istnieje jakiś sposób, żebym wyłączył działanie innych znaków? bo jak kliknę coś innego niż S to program skacze od razu do końca.

0

No if trochę dziwnie by tutaj działało, ale podpowiedziałeś mi coś;) Skorzystałem z do while. gdzie warunkami było po prostu c różne od 2-ch wartości.

0

@Ercik - nie zakładaj kilku wątków tylko dlatego, że nikt tutaj nie podał Ci gotowca (to kolejny Twój wątek, prawda?);

Jeśli masz dalej problem z tym samym programem i dalej nie wiesz jak zastosować podane wskazówki to dopisuj do tego samego wątku.

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