Kezdőoldal » Számítástechnika » Programozás » Hogyan értelmezzem ezt a c++...

Hogyan értelmezzem ezt a c++ programot? (Nagyon kezdő)

Figyelt kérdés

Sajnos ebből szinte semmit sem értek. A könyv magyarázata nem sokat mond. Csak mégjobban összezavar... pl: ezzel a float-al most találkoztam először. Nem is írt róla a könyv semmit...

Remélem tudtok segíteni.



#include <iostream>


float Convert(float);



int main()

{

float TempFer;

float TempCel;

std::cout << "ird be a szamot fahrenheit-ben";

std::cin >> TempFer;

TempCel = Convert(TempFer);

std::cout << "itt van a szam Celsius-ban";

std::cout << TempCel;

return 0;

}


float Convert(float Fer)


{

float Cel;

Cel = ((Fer - 32) * 5) / 9 ;

return Cel;

}



2012. aug. 28. 18:45
1 2
 1/13 anonim ***** válasza:

Én is ebből a könyvből tanulok és írt róla a könyv de úgy tűnik hogy te nem figyelsz oda eléggé és át ugrasz bizonyos részeket.


A float olyan típus ami lebegőpontos értékeket tárol.

2.2,1.1,0.458 stb ezek a valós számok.


És mi az hogy semmit nem értesz bele.

Az butaság hogy semmit nem értesz írd le meik sor az amelyik nem tiszta.

2012. aug. 28. 18:55
Hasznos számodra ez a válasz?
 2/13 anonim ***** válasza:
ha ebből semmit nem értesz, akkor kezdd elölről, egyébként meg előzőhöz csatlakozom, a float egy típus, lebegőpontos szám, amúgy meg mondd meg, melyik része kérdéses.
2012. aug. 28. 19:12
Hasznos számodra ez a válasz?
 3/13 A kérdező kommentje:

#include <iostream>


float Convert(float); - Convert(float) ez mi?


int main()

{

float TempFer;

float TempCel;

std::cout << "ird be a szamot fahrenheit-ben";

std::cin >> TempFer;

TempCel = Convert(TempFer); - Itt mi történik?

std::cout << "itt van a szam Celsius-ban";

std::cout << TempCel;

return 0;

}


float Convert(float Fer) Ez miért?


{

float Cel;

Cel = ((Fer - 32) * 5) / 9 ;

return Cel; - Itt miért return cel?

}


Ezeket nem tudom. A többi rész nagyrészt tiszta.

2012. aug. 28. 19:43
 4/13 anonim ***** válasza:
Azért mert a Cel változó értékét adod vissza.És ez az érték lesz beletéve a TempCel-be.
2012. aug. 28. 23:32
Hasznos számodra ez a válasz?
 5/13 anonim ***** válasza:

Elölről kezd azt a könyvet mert nagyon nem maradtak meg benned az előző órák anyagai.


Figyelj ha programozni akarsz akkor azt a könyvet a lehető legprofibban kell vágnod.Egy anyag minden egyes szavát,mondatát példáit értened kell addig ne vegyél benne új anyagot.

2012. aug. 28. 23:33
Hasznos számodra ez a válasz?
 6/13 anonim ***** válasza:

A kód értelmezése:

A könyv írója ezen e példán be szeretné mutatni, hogy a függvényeket a main() ELŐTT kell megírni. Erre háromféleképpen van lehetőség: magát a függvényt a program elé tenni; külső headerben megírni, és be #include-olni; prototípust írni.

Az író itt a prototípust mutatja be. Ezzel megmondod a fordítónak, hogy van ott egy függvény, amit a kódban később szeretnél megírni.


// A kód soronként:

#include <iostream> // Alapvető ki/bemeneti függvények, képernyőre és fájlba írás engedélyezése.


float Convert(float); // A függvény prototípusa. Deklarál, de NEM DEFINIÁL egy Convert nevű, egy darab érték szerint átvett float paraméterrel rendelkező, érték szerint átadott float visszatérési értékű függvényt. Itt még nem kell megadni a bemeneti változók nevét, csak a típusát.


int main() // És NEM void! :)

{

float TempFer;

float TempCel; // 2 db float változó felvétele

std::cout << "ird be a szamot fahrenheit-ben"; // Kiíratás

std::cin >> TempFer; // Bekérés a billentyűzetről

TempCel = Convert(TempFer); // Meghívja a convert fv.-t az előbb felvett paraméterrel. A visszatérési értékét a TempCel-ben tárolja. Itt fordítási hiba NEM keletkezik, mert a függvény már deklarálva lett az elején, attól függetlenül hogy csak hívás után lesz definiálva.

std::cout << "itt van a szam Celsius-ban";

std::cout << TempCel;

return 0; // Mivel a main függvénynek int a visszatérési értéke, ezért azt be kell állítani! Szabvány szerint 0-val a hibátlan futást jelezzük.

}


float Convert(float Fer) // Definiálja a program elején megadott függvényt. Itt már a bemeneti változó nevére is szükség van.


// Lehetséges whitespace-t rakni fv. elé is.

{

float Cel; // Deklarálja a cel változót a függvényen belül. A függvény futása után ehhez nem fér hozzá senki. Ha előtte tanultál C-t, akkor tudod, hogyha malloc/calloc hívás, illetve konstruktor hívás történt, akkor meg kell hívni a free-t, vagy a destruktort, különben elveszik a memória.

Cel = ((Fer - 32) * 5) / 9 ; // Kiszámolja a celsius értéket Fahrenheit-ből.

return Cel; // Visszatér, visszaadva a celsius értéket.

}

2012. aug. 29. 00:13
Hasznos számodra ez a válasz?
 7/13 iostream ***** válasza:

Ehhez szólnék csak hozzá:

"return 0; // Mivel a main függvénynek int a visszatérési értéke, ezért azt be kell állítani! Szabvány szerint 0-val a hibátlan futást jelezzük."


Ezt épp nem kell beállítani, szabvány szerint, ellenben a szabvány SEMMIT nem mond arról, hogy mi a hibátlan futás. Az környezetfüggő, általában 0.

2012. aug. 29. 09:48
Hasznos számodra ez a válasz?
 8/13 iostream ***** válasza:

És még annyit:

"2.2,1.1,0.458 stb ezek a valós számok."


A 1, 2 is valós számok. A lényeg az, hogy a lebegőpontos számokkal TÖRTszámokat is tudunk ábrázolni, szemben az egészekkel (azokkal is, de ebbe ne menjünk bele). Tehát a racionális számok egy olyan részhalmazát ábrázolják a lebegőpontosak, ami nem részhalmaza az egész számoknak.

2012. aug. 29. 09:50
Hasznos számodra ez a válasz?
 9/13 A kérdező kommentje:

Köszönöm a válaszokat, még egy kérdés maradt. A Cel érték amit kíír de std::cout << TempCel; van a programban. Ezt valaki megmondaná hogy miért?


Egyébként, elkezdem elölről a könyvet... :)

2012. aug. 29. 13:31
 10/13 anonim ***** válasza:

A cel a Convert-ben lévő belső változó. Ennek az értékét visszatéréskor áttölti a TempCel-be, ami a main függvény változója. A main fv.-ből csak a TempCel-t tudod elérni a Cel-t nem, és fordítva.


iostream: bocsi a félreírásért, nekem úgy tanították, hogy int main() return 0. visual studio és gcc/MinGW is bármilyen 0-tól különböző értéket hibának vél, ezért gondoltam, hogy ez szabvány lehet. Ha a return elmarad, akkor a program meghatározatlan értékkel fog visszatérni.

2012. aug. 29. 23:39
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, 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!