Calcola area
Ciao a tutti.
Questo programmino dovrebbe, una volta dati i valori di a e b, calcolare l'area! Ma il programma va in loop! Dov'è l'errore?
Grazie a tutti quelli che ci proveranno.
#include
main()
{ int a, b, area;
printf("inserisci lato a:");
scanf("%d", &a);
printf("inserisci lato b:");
scanf("%d", &b);
while(a && b != 0){
printf("l'area vale:", area = a*b);
if(a = b)
printf("è un quadrato di area:", area = a*b);
else
printf("è un rettangolo di area:", area = a*b);}
return 0;
}
Questo programmino dovrebbe, una volta dati i valori di a e b, calcolare l'area! Ma il programma va in loop! Dov'è l'errore?
Grazie a tutti quelli che ci proveranno.
#include
main()
{ int a, b, area;
printf("inserisci lato a:");
scanf("%d", &a);
printf("inserisci lato b:");
scanf("%d", &b);
while(a && b != 0){
printf("l'area vale:", area = a*b);
if(a = b)
printf("è un quadrato di area:", area = a*b);
else
printf("è un rettangolo di area:", area = a*b);}
return 0;
}
Risposte
Perché c'è un while che non serve
. Basta che ci metti un if(a && b){...} else {printf "dati errati etc";}.

Ma da cmq. errore!
Ci sono varie cose strane nel tuo codice. Comunque, basta che scrivi
int a=0, b=0;
...
if (a && b){
if (a==b)
printf {"è un quadrato di area "};
else
printf {"è un rettangolo di area "};
printf {a*b};
else
printf {"dati errati"};
int a=0, b=0;
...
if (a && b){
if (a==b)
printf {"è un quadrato di area "};
else
printf {"è un rettangolo di area "};
printf {a*b};
else
printf {"dati errati"};
ma perchè fare un controllo su a e b?
Se proprio vuoi essere minuzioso puoi stampare un messaggio d'errore se a OR b sono minori di zero...
cmq ( molto in pseudocodice ):
prendi a e b;
se a || b sono < 0
printf ("errore");
else
area=a*b;
printf("%d", area);
return 0;
Prova in questo modo.
Se proprio vuoi essere minuzioso puoi stampare un messaggio d'errore se a OR b sono minori di zero...
cmq ( molto in pseudocodice ):
prendi a e b;
se a || b sono < 0
printf ("errore");
else
area=a*b;
printf("%d", area);
return 0;
Prova in questo modo.