Konvertovanie – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Konvertovanie – C / C++ – Fórum – Programujte.comKonvertovanie – C / C++ – Fórum – Programujte.com

 

ddd
~ Anonymní uživatel
3 příspěvky
30. 10. 2007   #1
-
0
-

mame zdrojak

#include <iostream>
using namespace std;
int main()
{
cout.setf(ios_base::fixed , ios_base::floatfield);
cout <<"Zadajte vzdialenost v kilometroch :_____\b\b\b\b\b";
float km, liter;
float spoteba, koeficient;
cin >> km;
cout <<"\nZadajte spotrebu vasho auta na 100 KM v litroch : _____\b\b\b\b\b";
cin >> liter ;
koeficient = liter / 100;
spoteba = koeficient * km;
cout << "Spotreba vasho auto na" << km << "kilometrov je " << spoteba << "litrov";
cin.get();
cin.get();
return 0;
}



takto setko funguje ako ma , ale ked premennej km a liter priradim typ int tak nie ale preco ?
Vieme ze typ int je celociselny a typ float je s plavajucou desatinnou ciarkov ...
Ovsem spoteba a koeficient je float takze ked koeficient nasobim km tak by malo byt setko v poriadku nie ?
Ale akonahle zmenim premennym km a liter typ na int tak program prestane pracovat spravne .
Je to tym ze kedby bola premenna typu km typu int tak potom by sa aj premenna typu koeficient konvertovala na typ int ?
DAkujem za vysvetlenie ...

Nahlásit jako SPAM
IP: 91.127.80.–
echo1120
Stálý člen
30. 10. 2007   #2
-
0
-

int km, liter; 

Takze pri
koeficient = liter / 100; 
sa cele cislo vydeli cislom 100 a vysledok sa konvertuje na typ float. (napr. liter=30 => 30/100=0(int) a to sa rovna 0.000....(float) [CHYBA]).
Preto pretypujeme premennu liter na typ float
koeficient = float(liter) / 100;


Teraz program pracuje skoro ako predtym s tym rozdielom, ze premenne km a liter budu prestavovat cele cisla.
#include <iostream>

using namespace std;
int main()
{
cout.setf(ios_base::fixed , ios_base::floatfield);
cout <<"Zadajte vzdialenost v kilometroch :_____\b\b\b\b\b";
int km, liter;
float spoteba, koeficient;
cin >> km;
cout <<"\nZadajte spotrebu vasho auta na 100 KM v litroch : _____\b\b\b\b\b";
cin >> liter ;
koeficient = float(liter) / 100;
spoteba = koeficient * km;
cout << "Spotreba vasho auto na" << km << "kilometrov je " << spoteba << "litrov";
cin.get();
cin.get();
return 0;
}

Nahlásit jako SPAM
IP: 62.168.75.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 91 hostů

Podobná vlákna

Konvertovanie skriptov — založil Kéfas

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý