Cześć
Akurat jestem w trakcie nauki i napotkałem pewien problem... wyskoczył wam może kiedyś komunikat w takim stylu?
control reaches end of non-void function
Jak coś daję jeszcze opis zadania, które robiłem. Może coś przegapiłem.
"
Napisz funkcję o prototypie
int sign(int value)
Ma ona zwracać wartość -1 w przypadku liczby ujemnej, 1 w przypadku dodatniej lub 0. Napisz program, który zapyta użytkownika o wprowadzenie liczby, a następnie wywoła funkcję sign, przekazując wprowadzoną liczbę jako argument i wyświetli komunikat negative, zero lub positive w zależności od wyniku tej funkcji. W przypadku wprowadzenia przez użytkownika błędnych danych program powinien wyświetlić komunikat Incorrect input i zakończyć działanie z kodem błędu 1.
Uwaga W programie nie wolno używać instrukcji if.
Przykładowe wejście:
Podaj liczbe: -15
Przykładowe wyjście:
negative
"
A tutaj jeszcze swój 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 sign(int value);
int main(int argc, char *argv[])
{
int value;
int kontrola;
printf("Podaj liczbe:");
kontrola=scanf("%d",&value);
switch(kontrola)
{
case 0:
printf("Incorrect input");
return 1;
case 1:
switch(value)
{
case 0:
printf("zero");
break;
default:
switch(sign(value))
{
case 1:
printf("positive");
break;
case -1:
printf("negative");
break;
}
}
}
return 0;
}
int sign(int value)
{
int A;
A=value<0;
switch(A)
{
case 1:
return -1;
case 0:
return 1;
}
}
"
Poradzicie? :/