Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια σας :)

Φτιαχνω ενα προγραμμα που θα υπολογιζει τον δεικτη μαζας σωματος και θα μας λεει αν εχουμε φυσιολογικο βαρος, αν ειμαστε υπερβαροι κλπ

Το προβλημα ειναι πως σκαλωνει οταν του δεινω τα κιλα (απο εκει μεχρι εκει)

 

>
#include <stdio.h>
main ()
{
//dms= deikths_mazas_swmatos
int varos;
float ypsos, dms;
printf ("Dwse to varos sou:");
scanf  ("%d", &varos);
printf ("Dwse to ypsos sou:");
scanf  ("%f", &ypsos);
dms= varos / (ypsos*ypsos);
printf ("To varos pou dhlwses einai: %d\n", varos);
printf ("To ypsos pou dhlwses einai: %1.2f\n", ypsos);
printf ("O deikth mazas tou swmatos sou einai: %1.2f\n", dms);
if (dms<=18.5)
{
	printf ("Leipovarhs")
	}
    else if (dms>=18.6<=24.9)
{
	printf ("Fysiologikos");
	}
    else if (dms>=25<=29.9)
{
	printf ("Ypervaros");
	}
else
{
	printf ("Paxysarkos");
	}
		}

O compiler μου δεινει:

>
Cprogramming.c:23: warning: comparisons like X<=Y<=Z do not have their mathematical meaning
Cprogramming.c:27: warning: comparisons like X<=Y<=Z do not have their mathematical meaning

Πως δηλωνω την συγκριση?

 

Βρηκα την λυση :)

 

>
#include <stdio.h>
main ()
{
//dms= deikths_mazas_swmatos
int varos;
float ypsos, dms;
printf ("Dwse to varos sou:");
scanf  ("%d", &varos);
printf ("Dwse to ypsos sou:");
scanf  ("%f", &ypsos);
dms= varos / (ypsos*ypsos);
printf ("To varos pou dhlwses einai: %d\n", varos);
printf ("To ypsos pou dhlwses einai: %1.2f\n", ypsos);
printf ("O deikth mazas tou swmatos sou einai: %1.2f\n", dms);
if (dms<=18.5)
{
	printf ("Eisai Leipovarhs\n");
	}
else if ((dms>=18.6) && (dms<=24.9))
{
	printf ("Eisai Fysiologikos\n");
	}
else if ((dms>=25) && (dms<=29.9))
{
	printf ("Eisai Ypervaros\n");
	}
else
{
	printf ("Eisai Paxysarkos\n");
	}
	pause();
		}

 

Δημοσ.

Γιατί double αντί για float; Δεν βλέπω να χειρίζεται πολύ μεγάλες τιμές αυτό το προγραμματάκι.

Εδω μπορει να χαθει η ακριβεια:

>dms= varos / (ypsos*ypsos);

EDIT: Κανονικα και το βαρος επρεπε να ειναι double

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...