Skocz do zawartości

[C] Interfejs, problem z powrotem do menu


Wyspiarz

Pomocna odpowiedź

Witam,
Jestem początkującym. Zatrzymałem się na pewnym etapie robienia interfejsu do mojego układu miernika. Dla dobrego zobrazowania napisałem prosty program. Dokładnie mówiąc to mam problem z wracaniem do początku pętli. Jeżeli na konsoli wpiszę np liczbę 3 to chcę, żeby

program wrócił do początku i żebym znów mógł wybrać jeszcze raz (tak długo, aż wpiszę 1 lub 2);

Tu wklejam kod:

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main() {
printf("wybor liczby \n");
int x;
scanf("%d", &x);
if(x==1 | x==2)


switch(x)
{
 case 1:
   	printf("jeden \n");
   	break;
 case 2:
   	printf("dwa \n");
   	break;


}
else
	printf("wybierz jeszcze raz");

getchar();
return 0;

}

Próbowałem z break'ami, ale on tylko zatrzymują program. Próbowałem z continue, ale on tylko przechodzi do następnego etapu programu. Co radzicie?

Link do komentarza
Share on other sites

if(x==1 | x==2) i switch w którym sprawdzasz te same wartości są równoważne, zamiast if'a i else możesz w switchu dopisać klauzulę default.

To tak poza tym, że musisz użyć pętli...

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Już udało mi się poprawić:

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main() {
printf("wybor liczby \n");
int x;
while(1)
{

scanf("%d", &x);


switch(x)
{
 case 1:
   	printf("jeden \n");
   	break;
 case 2:
   	printf("dwa \n");
   	break;


}

getchar();

}
}
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.