Kezdőoldal » Számítástechnika » Programozás » C#-ban hogy oldhatom meg?

C#-ban hogy oldhatom meg?

Figyelt kérdés

Írjunk programot, mely a testsúly és a testmagasság

alapján meghatározza a testtömegindexet, és kiírja, hogy milyen testsúly osztályba

tartozik az adott illető. a testtömeg osztályokat meghatározhatjuk tetszőlegesen,

de alapul vehetünk létező osztályozásokat is.


Ez a feladat.


Nos,én itt tartok:


static void Main(string[] args)

{

Console.WriteLine("Ez a program kiszámítja a testtömeg és a testmagasság alapján a testtömeg indexet.");

Console.WriteLine();

Console.WriteLine("Hány kiló vagy?:");

string s = Console.ReadLine();

int kilo = Convert.ToInt32(s);


Console.WriteLine("Milyen magas vagy?(Kérlek, méterben add meg):");

string s2 = Console.ReadLine();

double magassag = Convert.ToInt32(s2);


double testtomegindex = kilo / magassag*magassag;


Console.WriteLine("A te testtömegindexed:" + testtomegindex);


if (kilo<16)

{

Console.WriteLine("Te súlyosan sovány vagy!Azonnal fordulj orvoshoz.");

Console.ReadKey();


}


if (kilo <17 )

{

Console.WriteLine("Mérsékelten sovány vagy.");

Console.ReadKey();

}


Alapvető problémám,hogy a testméretet nem tudom megadni jelenleg mondjuk úgy,hogy az 1.75 legyen. enélkül pedig értelmetlen a dolog.A másik dolog,hogy találtam egy táblázatot,mely leírja a testömegosztályokat. Viszont azt hogy tudom megadni,hogy ha a kiló 16-16.9 között van?Tehát mit kellene írjak az if(kilo után?


Köszönöm,aki segít.


2018. jún. 16. 01:00
 1/8 anonim ***** válasza:

double magassag = Convert.ToInt32(s2);


nezd meg megegyszer, amúgy miért nem kéred be akkor cm-ben?

2018. jún. 16. 01:32
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:

Console.WriteLine("Weight in kg:");


double weight = Convert.ToInt32(Console.ReadLine());


Console.WriteLine("Height in cm:");


double height = Convert.ToInt32(Console.ReadLine());


double bmi = weight / (Math.Pow( height/100 ,2));


Console.Write("BMI: " + bmi + " ");


if (bmi < 18){


Console.Write("Underweight");


}else if(bmi > 25){


Console.Write("Overweight");


}else{


Console.Write("Normal");


}


Console.ReadKey();

2018. jún. 16. 12:27
Hasznos számodra ez a válasz?
 3/8 anonim ***** válasza:
Ha valami nem világos akkor szólj és megpróbálom elmagyarázni.
2018. jún. 16. 12:29
Hasznos számodra ez a válasz?
 4/8 anonim válasza:

Első válaszban a probléma.

Másodikban ugyanúgy nem tudnád pl 1.75-nek megadni.

2018. jún. 16. 12:47
Hasznos számodra ez a válasz?
 5/8 A kérdező kommentje:

Sima double-vel már próbáltam,akkor sem működött.


System.FormatException: 'Input string was not in a correct format.'


Ezt írja ki a második kódot is kipróbáltam.

Pl 1.75-öt nem akar elfogadni,kivág a windowsra hibával.

2018. jún. 16. 14:37
 6/8 anonim ***** válasza:
De 1,75-ot már elfogadna, a .-ot meg betehed try catchbe ha a user .-tal adna
2018. jún. 16. 16:10
Hasznos számodra ez a válasz?
 7/8 anonim válasza:

Nem értem, mit értesz sima double alatt.


Convert.ToInt32 mivé alakítja a stringet?

Ezen gondolkozz.


Direkt nem akarom egyébként megmondani pontosan. :)

2018. jún. 16. 16:19
Hasznos számodra ez a válasz?
 8/8 tabaki ***** válasza:
Szerencsésebb lenne, ha előbb a tegnapi programodat mutatnád be megnyugtatóan befejezett állapotban. Nem értem, mire való ez az összevissza kapkodás, de hogy túl nagy hasznod nem lesz belőle, az fix.
2018. jún. 16. 22:46
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!