Ultima modifica da un moderatore:
Salve volevo chiedervi un aiuto, sto impazzendo
devo calcolare l'area di un trapezio, utilizzando anche il comando if
Questo è il codice, il programma si blocca in un loop al lato minore, nonostante io inserisca qualsiasi tipo di valore non mi manda avanti nel codice, e non esegue le istruzioni assegnate, se provo a modificare gli ultimi due if con else if mi da errore.
Qualcuno sa spiegarmi il problema?
devo calcolare l'area di un trapezio, utilizzando anche il comando if
C:
#include <stdio.h>
main()
{
int var1,var2,h;
float area;
printf("calcolo dell'area di un trapezio");
latomaggiore:
printf("\n inserisci il lato maggiore del trapezio... \n");
scanf("%d",&var1);
if (var1>0)
printf("il lato maggiore del trapezio vale %d\n",var1);
else if (var1==0)
{
printf("il lato non puo essere uguale a 0");
goto latomaggiore;
}
else if(var1<0)
{
printf("Il valore inserito è negativo");
goto latomaggiore;
}
latominore:
printf("\n inserisci il lato minore del trapezio... \n");
scanf("%d",&var2);
if (var2<var1)
printf("il lato minore del trapezio vale %d\n",var2);
else if(var2>var1)
printf("il valore inserito è piu grande del lato maggiore");
goto latominore;
if (var2==0)
printf("il lato non puo essere uguale a 0");
goto latominore;
if (var2<0)
printf("Il valore inserito è negativo");
goto latominore;
altezza:
printf("\n infine inserisci l'altezza del trapezio... \n");
scanf("%d",&h);
if (h<0){
printf("il valore inserito è negativo");
goto altezza;}
else if (h==0){
printf("l'altezza non puo essere uguale a 0");
goto altezza;}
area=(var1+var2)*h/2;
printf("l'area del tuo trapezio vale %f",area);
return 0;
}
Questo è il codice, il programma si blocca in un loop al lato minore, nonostante io inserisca qualsiasi tipo di valore non mi manda avanti nel codice, e non esegue le istruzioni assegnate, se provo a modificare gli ultimi due if con else if mi da errore.
Qualcuno sa spiegarmi il problema?