słowne zapisanie liczb-pomoc w zadaniu

0

Cześć, mam taki mały problem z prostym programem-napisz program który prezentuje liczby(0-10) słownie z użyciem instrukcji switch… case. W przypadku podania przez użytkownika błędnych danych wejścoiowych program powinien wyświetlić komunikat "Incorrect input" i zakończyć działanie z kodem błędu 1. W programie nie używaj instrukcji warunkowej if.

Zrobiłem taki programik, tylko mam problem jak zastąpić instrukcję if switchem w kodzie:

#include <stdio.h>

int main(void) {
printf("wprowadź liczbę: ");
int liczba;
int punkty=scanf("%d",&liczba);
if(punkty)
switch (liczba){
{case 0 :printf("zero"); break;
case 1:printf("jeden"); break;
case 2:printf("dwa"); break;
case 3:printf("trzy"); break;
case 4:printf("cztery"); break;
case 5:printf("piec"); break;
case 6:printf("szesc"); break;
case 7:printf("siedem"); break;
case 8:printf("osiem");break;
case 9:printf("dziewiec");break;
case 10:printf("dziesiec");break;
return 0;}

default: printf("incorrect input\n");
return 1;
break;}

else {printf("incorrect input\n");
return 1;}}

W innej próbie już ze switchem wychodzi mi poza tym, że po wpisaniu m.in litery program nie wyrzuca błędu:

#include <stdio.h>

int main(void) {
int liczba;
printf("wprowadź liczbę: ");
scanf("%d",&liczba);
switch (liczba){
case 0 :printf("zero"); break;
case 1:printf("jeden"); break;
case 2:printf("dwa"); break;
case 3:printf("trzy"); break;
case 4:printf("cztery"); break;
case 5:printf("piec"); break;
case 6:printf("szesc"); break;
case 7:printf("siedem"); break;
case 8:printf("osiem");break;
case 9:printf("dziewiec"); break;
case 10:printf("dziesiec");break;
return 0;
default: printf("incorrect input\n");
return 1;
break;}
}

Z góry wielkie dzięki za pomoc

0

switch ma opcje default:

0

Wiem wiem, tylko nie mam za bardzo pomysłu jak zrobić by przy wpisaniu litery, czy innego znaku niż liczba program wypisywał 'incorrect input'-poza tym mi ten programik działa

0
switch(scanf("%d",&liczba))
{
	case 1: // good
	default: // bad
}
0

Zrobiłem teraz takie coś

#include <stdio.h>

int main(void) {
int liczba;
printf("wprowadź liczbę: ");
scanf("%d",&liczba);
switch (liczba){
case 0 :printf("zero"); break;
case 1:printf("jeden"); break;
case 2:printf("dwa"); break;
case 3:printf("trzy"); break;
case 4:printf("cztery"); break;
case 5:printf("piec"); break;
case 6:printf("szesc"); break;
case 7:printf("siedem"); break;
case 8:printf("osiem");break;
case 9:printf("dziewiec"); break;
case 10:printf("dziesiec");break;
return 0;
default: printf("incorrect input\n");
return 1;
break;}
}

i wszystko jest ok aż do wpisania litery gdy zamiast 'incorrect input' wyświetla się 'zero'

0

już zrobione

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