Warunek czy jest liczba/cyfra + menu switch case (czysty C)

0

Witam, witam i o zdrowie pytam w nowym roku?
Nowy rok niestety nowe kolokwia i poprawy starych oraz projekty wiadomo o co chodzi. Nie owijając w bawełnę natknąłem się na następujące powiedzmy problemy:

  1. Mam sobie zrobione menu ( za pomocą switch case), cos w tym stylu:
scanf("%d", &wybor)
switch(wybor)
{
case 0:
{
   instrukcje;
   break;
}
case 1:
{
   instrukcje;
   break;
}
// i tak dalej...
default:
{
printf("Niewlasciwa wartosc."\n);
break;
}
}

W czym tkwi problemik? A no jak user tester autor czyli ja zapoda jakos inna liczbe to okej wywala komunikat natomiast gdy zapodam jakis znak inny od liczby badz jakies slowo/slowa to wjezdza mi do pierwszego case, jest jakis myk zeby temu w prosty sposob zaradzic?
2) Przypomnialo mi sie zadanie takie jakis czas temu mialem do zrobienia, ze jak w ciagu znakow wystepuje/nie wystepuje jakas cyfra to wywala jakis komunikacik
Jak takiego if'a chytrze zrobic? bo np.:

if(napis[i] == 1 || napis[i] == 2 ...)

to tak to nie bardzo chyba?

1
if(scanf("%d", &wybor)==1) printf("udało się wczytać liczbę\n");

Może zajrzyj tu: http://4programmers.net/Forum/C_i_C++/244988-ponowny_wybor_opcji_instrukcja_switch?p=1100492#id1100492

0

Tylko, ze jak robie jakiegos if'ka przed tym moim "menu" to sprwadza mi warunek, ale jak jest spelniony to nie przechodzi do tego switch'a tzw. jakby musze dwa razy liczbe pisac.

0

Czy pod linkiem nie widzisz odpowiedzi?

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