Skocz do zawartości

[C] Interfejs, problem z powrotem do menu


Pomocna odpowiedź

Napisano

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?

Program musi wykonywać się w pętli nieskończonej for lub while. Po drugie nie wiem czy komórka mi tak wyświetla kod ale źle korzystasz z funkcji if.

  • Pomogłeś! 1

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

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();

}
}

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...