cześć mam zadanie :
Napisz program, który pobierze od użytkownika liczbę całkowitą X, a następnie wyświetli komunikat postaci: "X is positive", w przypadku, gdy liczba będzie większa od zera; "X is negative", w przypadku, gdy liczba będzie mniejsza od zera; oraz "X is equal to 0" w przypadku gdy wpisana liczba będzie zerem lub "incorrect input" w przypadku podania błędnych danych przez użytkownika. Zamiast X należy podstawić wartość wprowadzonej liczby. W programie nie używaj instrukcji warunkowej if. W programie wolno użyć tylko jednej instrukcji switch. W przypadku wprowadzenia przez użytkownika błędnych danych program powinien zakończyć się kodem błędu 1.
Nie mam pojęcia jak bez ifa zrobić żeby program po wpisaniu dowolnego znaku wyświetlał komunikat o błędzie zamiast tego wyświetla komunikat "dodatnia"
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num1, num2;
printf("podaj liczbe: ");
int test = scanf("%d", &num1);
num2 = (num1 > 0)*1 + (num1 < 0)*2 + (num1 == 0)*3;
// printf("%d\n", num1);
// printf("%d", num2);
switch(num2) {
case 1:
printf("dodatnia");
break;
case 2:
printf("ujemna");
break;
case 3:
printf("zero");
break;
default:
printf("koniec programu zle wpisales");
return 1;
break;
}
return 0;
}