Witam.
Miałem napisać program, który wyświetla datę w zależności od podanej przez użytkownika daty(używając instrukcji switch...case...) Zadanie wykonałem jednak mam 2 pytania odnośnie jego usprawnienia oraz poprawności.
Oto "program":
#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(int argc, char *argv[]) {
float numer;
do
{
printf("Podaj numer miesiaca: ");
scanf("%f",&numer);
if(numer!=1&&numer!=2&&numer!=3&&numer!=4&&numer!=5&&numer!=6&&numer!=7&&numer!=8&&numer!=9&&numer!=10&&numer!=11&&numer!=12)puts("Podana zla liczbe.");
}while(numer!=1&&numer!=2&&numer!=3&&numer!=4&&numer!=5&&numer!=6&&numer!=7&&numer!=8&&numer!=9&&numer!=10&&numer!=11&&numer!=12);
switch((int)numer)
{
case 1: printf("styczen");
break;
case 2: printf("luty");
break;
case 3: printf("marzec");
break;
case 4: printf("kwiecien");
break;
case 5: printf("maj");
break;
case 6: printf("czerwiec");
break;
case 7: printf("lipiec");
break;
case 8: printf("sierpien");
break;
case 9: printf("wrzesien");
break;
case 10: printf("pazdziernik");
break;
case 11: printf("listopad");
break;
case 12: printf("grudzien");
break;
}
return 0;
}
- Czy ten operator rzutowania w tym "switchu" może tak być?
2.Czy te warunki z koniunkcją i liczbami da się jakoś sprawniej przedstawić, tak by nie zajmowały tyle miejsca?
Z góry dziękuję.