Články

Tisk článku Tisk článku

Proměnné a konstanty

[Zpět na kategorii]

Datum: 22. 6. 2010 18:05       Autor: Petr Sklenička       Zobrazeno: 5648x

Kategorie: Začínáme

Témata: C++

Seriál: C++ krok za krokem - Díl 3.

Tento díl je zaměřen na proměnné a konstanty. Po přečtení tohoto dílu budete vědět, jak proměnnou nebo konstantu definovat a jak s nimi dále pracovat. To vše je pak ukázáno na krátkém příkladě, konkrétně na výpočtu obsahu kruhu.


Co je to proměnná

Jedná se o nějaké místo, kde je možné uchovat danou informaci. Jde vlastně o místo v paměti Vašeho počítače, na které uložíme potřebnou hodnotu a s touto hodnotou můžeme poté dále pracovat. Je nutné si uvědomit, že v tomto případě se jedná pouze o dočasné uložení, čili po vypnutí programu se hodnota ztratí. Pokud bychom chtěli hodnotu uložit trvale, můžeme ji zapsat například do textového souboru nebo ji můžeme uložit do databáze. To však není předmětem tohoto dílu.

Pokud chceme v programu definovat proměnnou, musíme překladači říct, o jaký druh se bude jednat (znak, celé číslo, apod.). Na tomto základě pak kompilátor vymezí v paměti potřebné místo.

Základní typy proměných

V následující tabulce najdete přehled typů proměnných v jazyce C++, společně s velikostí, kterou zabírají v paměti.

Typ

Hodnoty Velikost
unsigned short int 0 – 65 535 2 B
short int -32 768 – 32 767 2 B
unsigned long int 0 – 4 294 967 295 4 B
long int -2 147 483 648 – 2 147 483 647 4 B
int -2 147 483 648 – 2 147 483 647 4 B
unsigned int 0 – 4 294 967 295 4 B
char 256 znakových hodnot 1 B
float 1,2e-38 – 3,4e38 4 B
double 2,2e-308 – 1,8e308 8 B
bool true nebo false 1 B

Velikost proměnných se může lišit, záleží to na typu překladače a počítače. Rozmezí hodnot není nutné si přesně pamatovat, já osobně si to také nepamatuji. Důležité je vědět to, že do proměnné typu int uložíte pouze celá čísla, pokud napíšete unsigned, znamená to kladná čísla. Dále si pamatujte, že do proměnných typu float a double je možné uložit desetinná čísla, proměnná typu char slouží k uložení znakubool nabývá pouze hodnot true nebo false. Pro naše účely nám zatím tyto vědomosti budou stačit.

Jak tedy definovat proměnnou v programu?

Pokud chceme v programu zavést proměnnou, napíšeme nejprve její typ (double, bool, int apod.), následuje mezera a název proměnné. Pak můžeme hned do proměnné přiřadit hodnotu, nebo napíšeme středník s tím, že hodnotu přiřadíme později. Název proměnné může být tvořen prakticky jakoukoliv kombinací čísel a písmen (bez háčků a čárek), nesmí však obsahovat mezery. Snažte se vždy proměnnou pojmenovat tak, aby její název napovídal k čemu proměnná slouží.

 int CeleCislo;                        // definice proměnné typu int
unsigned long int VelkeCeleCislo;    // definice proměnné unsigned long int

Na ukázce vidíte definici dvou proměnných – obdobným způsobem můžete definovat i ostatní typy proměnných. Jen připomínám, komentáře není nutné opisovat. Proměnné, které jsem v ukázce definoval, zatím nemají žádnou hodnotu. Pokud chceme do proměnné nějakou hodnotu přiřadit, použijeme operátor přiřazení ( = ).

 // Přiřazení hodnot do proměnných
CeleCislo = 120;
VelkeCeleCislo = 5000;

Přiřadit hodnotu do proměnné můžeme také hned při jejím definování. To provedeme takto:

 // Přiřazení hodnot do proměnných
int CeleCislo = 120;                       
unsigned long int VelkeCeleCislo = 5000;

Jak jistě vidíte, nejedná se o nic složitého. S proměnnými je pak možné provádět matematické operace (pokud se jedná o proměnné, mající číselnou hodnotu). V následující ukázce jsou definovány tři proměnné, do dvou z nich přiřadíme hodnoty a do třetí hodnoty přiřadíme jejich podíl.

 float cislo1 = 5;    
float cislo2 = 2;

int vysledek = cislo1 / cislo2;

Nyní se na kód podívejte a zkuste říct, jaká hodnota je nyní v proměnné vysledek. Myslíte si, že hodnota 2,5? Pokud ano, je to špatně. V proměnné vysledek je hodnota 2. Ptáte se proč? Proměnná vysledek je typu int, což znamená celé číslo. Výsledek se tedy zaokrouhlil směrem dolů na celé číslo. Kdybychom chtěli dosáhnout výsledku 2,5, musela by proměnná vysledek být typu float nebo double. Obdobným způsobem je možné provádět operace sčítání, odčítání a násobení. ( +, –, * ).

Konstanty

Obdobně jako proměnné, tak i konstanty slouží k uložení nějaké hodnoty. Rozdíl je ale v tom, že hodnotu proměnné můžete v programu libovolně měnit, kdežto hodnotu konstanty měnit nelze. V jazyce C++ máme na výběr ze dvou možností, jak definovat konstantu.

Prvním způsobem je užití klíčového slova const. Konstantu definujeme úplně stejně jako obyčejnou proměnnou, jen s tím rozdílem, že na začátek napíšeme slovo const.

 const char mujZnak = 'r';

Na ukázce je vidět definice konstanty typu char, do které je přiřazen znak r. Všimněte si, že je uzavřen do apostrofů. Dále nezapomínejte, že pokud definujete konstantu, musíte jí hned také inicializovat, čili přiřadit hodnotu, kterou již dále v programu není možné měnit.

Druhý způsob, jak definovat konstantu, je použití klíčového slova define. Současný standard C++ ovšem považuje tento způsob deklarace za již překonaný, proto se na něj jenom letmo podíváme a dále jej používat nebudeme.

 #define mojeKonstanta 10;

Zde si hlavně všimněte, že chybí operátor přiřazení a není zde ani určen typ. Příkaz #define znamená pouhé nahrazení textu. V tomto případě tedy pokaždé, když preprocesor najde slovo mojeKonstanta, nahradí jej pouze hodnotou 10.

Program – obsah kruhu

Abychom si práci s proměnnými trochu procvičili, napíšeme si jednoduchý program na výpočet obsahu kruhu. V minulém díle jsem sliboval “kalkulačku”, která sečte dvě čísla, tu si však můžete napsat sami – bude to vesměs podobná záležitost.

Zadání je tedy snadné – po spuštění programu bude uživatel vyzván, aby zadal poloměr kruhu, načež mu program vrátí obsah tohoto kruhu. Předem podotýkám, že program nebude ošetřen pro případ zadání špatného vstupu, tedy pokud by uživatel místo poloměru zadal například nějaký text, program by nefungoval správně. Cílem tohoto dílu jsou však proměnné, proto nám to nebude vadit. Budeme předpokládat, že vstup bude vždy správný. Samozřejmě při nějaké větší aplikaci bychom si to nemohli dovolit.

 #include <iostream>
using namespace std;

int main()
{
    
const double pi = 3.14159;
    
double polomer;
    
double obsah;

     cout <<
"Zadejte polomer kruhu: ";
     cin >> polomer;

     obsah = pi * polomer * polomer;
     cout <<
"Obsah kruhu je " << obsah << ".\n";

    
return 0;
}

Jak vidíte, kód není nikterak složitý. První dva řádky by Vám měly být jasné z minulého dílu, stejně tak byste měli vědět, kde začíná a kde končí funkce main. Připomínám, že funkcí main začíná každý program. V programu máme tedy vytvořenou konstantu pi, do které je hned přiřazena hodnota 3.14159. Dále máme proměnné polomer a obsah. Těm není hned přiřazena hodnota, neboť ji dopředu ani neznáme. Následuje výpis textu Zadejte polomer kruhu, což je výzva pro uživatele. Následující řádek pro Vás ale je zatím neznámý – mám na mysli řádek cin >> polomer. Cin je objekt, který se stará o načtení vstupu, v našem případě se tedy do proměnné polomer uloží uživatelem zadané číslo. Abychom tento objekt mohli použít, musíme do našeho programu zahrnout iostream. Dále si všimněte, že “zobáky” ukazují opačným směrem než při použití cout. Správně se těmto “zobákům” říká operátor vyjmutí nebo nebo též výstupní operátor. Zatím se blíže objektem cin nebudeme zabývat, ale určitě se k tomu podrobněji dostaneme v nějakém dalším díle. Na dalším řádku se počítá obsah kruhu. Asi nemusím říkat, že obsah kruhu se vypočte jako poloměr na druhou krát pí. Poté následuje výpis na obrazovku. Zde se podívejte, že text je uzavřen do uvozovek, kdežto proměnná ne. Kdybychom název proměnné nechali v uvozovkách, nevypsala by se hodnota proměnné, ale právě její název. Na poslední řádku funkce main vrací hodnotu nula.

Kdybyste si chtěli napsat již zmiňovanou kalkulačku pro součet dvou čísel, potřebovali byste dvě proměnné, do kterých byste si pomocí cin uložili hodnoty (čísla, které by se měly sečíst). Pak už by stačilo jen do nějaké proměnné uložit součet a ten vypsat. Pokud chcete, můžete si to zkusit.

Závěrem

Pro tento díl je to již vše. Nyní byste měli mít základní znalost práce s proměnnými, což je velmi důležité, neboť bez proměnných se v programu jen velmi těžko obejdete. V příštím díle si probereme podmínky, které nám umožňují větvení programu. Na konci si opět napíšeme nějaký krátký program, kde podmínky využijeme.


> Na začátek

 

Hodnocení:

Hlasů: 15
Zvolte své hodnocení

Petr Sklenička

Jsem studentem Vysoké školy Báňské v Ostravě. V poslední době dost programuji v jazyce Java, konkrétně aplikace pro platformu Android. Dále mě zajímá programování v C++, typografický systém latex a spousta dalších maličkostí.

Související články

DílNázev článku 
Díl 1. Úvod, příprava na psaní aplikací v C++ 8. 6. 2010
Díl 2. První program 15. 6. 2010
Díl 3. Proměnné a konstanty 22. 6. 2010
Díl 4. Relační operátory a podmínky, příkaz switch 29. 6. 2010
Díl 5. Pole 13. 7. 2010
Díl 6. Cykly, neboli smyčky 26. 10. 2010
Díl 7. Cykly, neboli smyčky - pokračování 19. 11. 2010
Díl 8. Funkce 18. 12. 2010
Díl 9. Ukazatele a odkazy, vyhledávání půlením intervalu 26. 1. 2011
Díl 10. Úvod do objektově orientovaného programování 10. 3. 2011
Díl 11. Konstruktory, destruktory a hrátky s objekty 28. 5. 2011
Díl 12. Dědičnost 24. 7. 2011
Díl 13. Virtuální metody 1. 2. 2012

RSS Feed RSS Feed

Diskuse

Dakuejm

Datum: 23.6.2010 14:45
Autor: neregistrovaný (87.197.105.137)
Hodnocení autora: není
Příspěvků: 0
Som zaciatocnik a pre mna je to skutocne zaujimave.
Skusam sam doplnit dany priklad o dalsie moznosti vypoctu (obsah a obvod stvorca a pod.) a nasledne vystup na obrazovku a celkom sa mi dari.


#include <iostream>
using namespace std;

int main()
{
	const double pi = 3.14159;
	double polomer;
	double obsahkruhu;

	cout << "Program pre vypocet obsahu kruhu \n";
	cout << "\n";
	cout << "Zadajte polomer kruhu: ";
	cin >> polomer;

	obsahkruhu = pi * polomer * polomer;
	cout << "Obsah kruhu je: " << obsahkruhu << ".\n";
	
	double stranaa;
	double stranab;
	double obsahstvorca;
	double obvodstvorca;

	cout << "\n";
	cout << "Program pre vypocet obsahu a obvodu stvorca \n";
	cout << "\n";
	cout << "Zadajte stranu A: ";
	cin >> stranaa;
	cout << "Zadajte stranu B: ";
	cin >> stranab;

	obsahstvorca = stranaa * stranab;
	obvodstvorca = stranaa + stranaa + stranab + stranab;
	cout << "Obsah stvorca je: " << obsahstvorca << ".\n";
	cout << "\n";
	cout << "Obvod stvorca je: " << obvodstvorca << ".\n";

	return 0;
}
 


Mozno to znie smiesne pre toho kto programuje dlhsie ale pre mna je to nove a tesim sa z kazdeho uspechu.
Preto este raz dakujem za tento serial a dufam ze bude dalej pokracovat. Zelam autorovi vela uspechov.

Lubos
 
           [Odpovědět]
 
Hodnocení: 3 Čekejte, prosím...

Re: Dakuejm

Datum: 23.6.2010 17:04
Autor: Petr Sklenička
Hodnocení autora: 83
Příspěvků: 80
Těší mě, že se Vám seriál líbí, zároveň chválím Váš přístup a snahu udělat něco sám.

Ještě takový malý detail ke kódu - když chcete zalomit více řádků, nemusíte používat cout vícekrát, klidně je možné napsat toto:

cout << "Nejaky text\n\n\n\n\n";
 
Kdyby jste napsal cout pětkrát, chyba by to samozřejmě nebyla, je jen na Vás jak to uděláte.
 
           [Odpovědět]
 
Hodnocení: 5 Čekejte, prosím...

Chybka?

Datum: 27.6.2010 7:53
Autor: neregistrovaný (217.197.149.16)
Hodnocení autora: není
Příspěvků: 0
Dobry den, nemate v uvodni tabulce chybku? neznam C++, ale mate stejnou delku u "int" a "long int".
kamil
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Re: Chybka?

Datum: 27.6.2010 9:39
Autor: Petr Sklenička
Hodnocení autora: 83
Příspěvků: 80
Díky za upozornění, ale chyba to není. Velikost celého čísla (int) určuje procesor a kompilátor. U 32-bitových počítačů mají celočíselné hodnoty velikost 4 bajty a proto rozsah -2 147 483 648 až 2 147 483 647. V případě 16 bitového procesoru by velikost proměnné typu int byla 2 bajty, její rozsah by byl -32 768 až 32 767. Pak by tedy proměnná long int měla větší rozsah než jen int.

Dalo by se očekávat, že velikosti proměných budou specifikovány přesněji, ve skutečnosti je to ale trochu jinak. Typ short musí mít velikost menší nebo rovnu velikosti typu int a ta zase musí být menší nebo rovna velikosti typu long. Tato podmínka je v mé tabulce splněna, proto se nejedná o chybu.
 
           [Odpovědět]
 
Hodnocení: 1 Čekejte, prosím...

Re: Chybka?

Datum: 13.7.2010 14:03
Autor: neregistrovaný (217.112.160.250)
Hodnocení autora: není
Příspěvků: 0
U 64-bitu je velikost int větší než long int? :)
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Co nemusí být...

Datum: 13.7.2010 14:00
Autor: neregistrovaný (217.112.160.250)
Hodnocení autora: není
Příspěvků: 0
Opět tam nemusí být return 0 a pi nemusí být konstanta, může to být normální proměnná...
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Re: Co nemusí být...

Datum: 13.7.2010 16:33
Autor: neregistrovaný (80.82.150.58)
Hodnocení autora: není
Příspěvků: 0
Return tam být nemusí ale mělo by a pi je konstanta asi kvůli tomu že se mluví o konstantách. Víte co - nekritizujte a jděte do p***** jestli se vám to nelíbí. To že pi může být klasická proměnná víme i bez vašich pindů.
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Re: Co nemusí být...

Datum: 13.7.2010 22:15
Autor: neregistrovaný (217.112.160.250)
Hodnocení autora: není
Příspěvků: 0
Já nic nepindám a vůbec to nemyslím špatně, na rozdíl od Vás. Když se něco učím tak se to chci naučit pořádně, vůbec jsem to nemyslel jako špatnou kritiku. Jen jsem chtěl, aby mi případně autor článků, které jesou velmi pěkné, napsal jak to je a jestli se třeba může vynechat i něco jiného apod.
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Kalkulačka

Datum: 13.7.2010 14:21
Autor: neregistrovaný (217.112.160.250)
Hodnocení autora: není
Příspěvků: 0
#include <iostream>
using namespace std;
int main()
{ int cislo1;
int cislo2;
int soucet;
cout << "Zadejte prvni cislo: "; cin >> cislo1;
cout << "Zadejte druhe cislo: "; cin >> cislo2;
soucet = cislo1 + cislo2;
cout << "Soucet je " << soucet << ".\n"; }

Tak to je na to sčítání, na další bych potřeboval znát nějaký příkaz "nebo", tedy "or"... To asi uvidím v nějaké další kapitole
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Re: Kalkulačka

Datum: 13.7.2010 14:40
Autor: neregistrovaný (217.112.160.250)
Hodnocení autora: není
Příspěvků: 0
#include <iostream>
using namespace std;
int main()
{ int cislo1;
int cislo2;
int soucet;
cout << "Scitaci kalkulacka \n";
cout << "Zadejte prvni cislo: "; cin >> cislo1;
cout << "Zadejte druhe cislo: "; cin >> cislo2;
soucet = cislo1 + cislo2;
cout << "Soucet je " << soucet << ".\n";
int cislo3;
int cislo4;
int rozdil;
cout << "Odcitaci kalkulacka \n";
cout << "Zadejte prvni cislo: "; cin >> cislo3;
cout << "Zadejte druhe cislo: "; cin >> cislo4;
rozdil = cislo3 - cislo4;
cout << "Rozdil je " << rozdil << ".\n";
int cislo5;
int cislo6;
int nasobek;
cout << "Nasobici kalkulacka \n";
cout << "Zadejte prvni cislo: "; cin >> cislo5;
cout << "Zadejte druhe cislo: "; cin >> cislo6;
nasobek = cislo5 * cislo6;
cout << "Nasobek je " << nasobek << ".\n";
int cislo7;
int cislo8;
int podil;
cout << "Delici kalkulacka \n";
cout << "Zadejte prvni cislo: "; cin >> cislo7;
cout << "Zadejte druhe cislo: "; cin >> cislo8;
podil = cislo7 / cislo8;
cout << "Podil je " << podil << ".\n"; }

Tak jsem si vzal vzor z výše zmíněného počítače obsahů a čeho všeho.. V podstatě jsem jen kopíroval sčítací kalkulačku a upravoval, bohužel pokud chce uživatel hned přejít třeba k dělení, nejde to. Chtělo by to znát "pokud", tedy "if", nevím jak to je v C++, stejně jako výše zmíněné nebo - or.
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Re: Kalkulačka

Datum: 13.7.2010 18:19
Autor: Petr Sklenička
Hodnocení autora: 83
Příspěvků: 80
Logické operátory a podmínky jsou v daším díle. Jinak return 0 tam skutečně být nemusí, je pak ale lepší místo int main psát void main, čímž říkáme, že funkce nebude mít žádnou návratovou hodnotu.
Ještě k tomu pi - samozřejmě že to konstanta být nemusí, klidně jsme si to mohli uložit do databáze, z databáze do textového souboru a teprve pak jsme s tím mohli pracovat. Vzhledem k tomu, že tento díl byl zaměřen na proměnné a konstanty, udělal jsem pi jako konstantu, neboť hodnota pi bude vždy 3.14159...i v případě, že byste donutil Zemi otáčet se na opačnou stranu.
 
           [Odpovědět]
 
Hodnocení: 3 Čekejte, prosím...

Re: Kalkulačka

Datum: 13.7.2010 22:16
Autor: neregistrovaný (217.112.160.250)
Hodnocení autora: není
Příspěvků: 0
Ano, děkuju za zpětnou vazbu.
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Kalkulačka

Datum: 2.9.2010 18:41
Autor: neregistrovaný (89.102.191.253)
Hodnocení autora: není
Příspěvků: 0
Mám do tas abich moch dělat kalkulačku tak misto const double pi mám napsatr co
 
           [Odpovědět]
 
Hodnocení: -1 Čekejte, prosím...

Re: Kalkulačka

Datum: 7.9.2010 23:06
Autor: neregistrovaný (217.112.160.250)
Hodnocení autora: není
Příspěvků: 0
Máš napsat sociálce, že tě rodiče neposílají do školy
 
           [Odpovědět]
 
Hodnocení: 3 Čekejte, prosím...

Stáhnutelná ukázka

Datum: 3.12.2010 21:51
Autor: neregistrovaný (88.146.176.18)
Hodnocení autora: není
Příspěvků: 0
Dobrý den,

moc se mi líbí Váš tutoriál a mám drobný nápad na vylepšenný. Co ke každému takovému příkladu dávat hotový zabalený kprogram, který si bude možno stáhnout?
Děkuji
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Re: Stáhnutelná ukázka

Datum: 4.12.2010 10:06
Autor: Petr Sklenička
Hodnocení autora: 83
Příspěvků: 80
Díky za Váš zájem. Přidat ke článku zabalený program není žádný problém. Jenom nevím, jestli jste myslel přidat ke článku program, který je vždy na konci dílu, nebo ještě nějaký další.
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Re: Stáhnutelná ukázka

Datum: 6.12.2010 20:42
Autor: neregistrovaný (88.146.176.18)
Hodnocení autora: není
Příspěvků: 0
Ke každému dílu dát to, co tady vysvětlujete, jako zabalený program.
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Re: Stáhnutelná ukázka

Datum: 28.2.2011 15:50
Autor: neregistrovaný (167.192.16.20)
Hodnocení autora: není
Příspěvků: 0
http://www.xingbing66.com/ cephalexin nexium and xanax together 35807 http://www.truthhappiness.com/levitra.ht... levitra 90712 http://www.81yiyu.com/ prednisone 8556 http://www.rmspnaturecenter.org/accutane... accutane 05297
 
           [Odpovědět]
 
Hodnocení: -1 Čekejte, prosím...

Re: Stáhnutelná ukázka

Datum: 28.2.2011 18:49
Autor: neregistrovaný (72.4.71.66)
Hodnocení autora: není
Příspěvků: 0
http://www.storiesoftheoldwest.com/ buy car insurance online >:-PPP http://www.paintedpinktoes.com/cheap_hea... california health insurance 436 http://www.paintedpinktoes.com/health_in... new york health insurance 8-(((
 
           [Odpovědět]
 
Hodnocení: -1 Čekejte, prosím...

Problém

Datum: 7.12.2010 23:04
Autor: neregistrovaný (88.146.176.18)
Hodnocení autora: není
Příspěvků: 0
Dobrý den,

ještě se chci zeptat, do jaké sekce fóra máme dávat případné dotazy na chybu v kódu.
Děkuji
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Re: Problém

Datum: 9.12.2010 13:45
Autor: Petr Sklenička
Hodnocení autora: 83
Příspěvků: 80
V diskusním fóru je nová sekce - C++, čili tam.
 
           [Odpovědět]
 
Hodnocení: 1 Čekejte, prosím...

Re: Problém

Datum: 9.12.2010 21:59
Autor: neregistrovaný (88.146.176.18)
Hodnocení autora: není
Příspěvků: 0
Děkuji
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Premennte vs. Clenske premenne

Datum: 15.1.2012 17:30
Autor: neregistrovaný (188.120.28.66)
Hodnocení autora: není
Příspěvků: 0
aky je medzi nimy rozdiel? (neviem ci to boli v tejto casti spominane aj clenske premenne ale v knihe ktoru citam som na to narazil a trosku to nechapem
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Re: Premennte vs. Clenske premenne

Datum: 15.1.2012 17:34
Autor: neregistrovaný (188.120.28.66)
Hodnocení autora: není
Příspěvků: 0
ou v nadpise je chyba sorry ma tam byt "Premenne vs. Clenske premenne"
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Pomozte

Datum: 19.1.2012 19:39
Autor: neregistrovaný (78.80.43.106)
Hodnocení autora: není
Příspěvků: 0
Ahoj, nějak mi nejde spustit program. Naprogramoval jsem si kalkulačku podle vašeho návodu, ale když spustím debug tak mi to napíše chybu ve funkci double a;, prosím pomozte.
|||

| #include <iostream>
using namespace std;

int main()
{
cout << "KALKULACKA\n";
cout << "verze 1.00\n";
cout << "Piste jen cisla\n\n\n";



const double pi = 3.14159;
double polomer;
double obsah;
double delka;

cout << "Zadejte polomer kruhu: ";
cin >> polomer;

obsah = pi * polomer * polomer;
cout << "obsah kruhu je : " << obsah << "\n";

delka = 2 * pi * polomer;
cout << "delka kruznice je : " <<delka << "\n"

double a;
double b;
double c;
double scitani;
double obsahkvadru;
double obsahkrychle;
double obsahctverce;
double obsahobdelniku;
double odcitani;
double nasobeni;
double deleni;
double povrchkrychle;
double exit;



double objemvalce;
double polomerm;
double vyska;
double povrchvalce;



cout << "Zadejte hodnotu a:";
cin >> a;

cout << "Zadejte hodnotu b:";
cin >> b;

cout << "Zadejte hodnotu c:";
cin >> c;

odcitani = a - b;
cout << "a - b = " << odcitani << "\n";

scitani = a + b;
cout << "a + b = " << scitani << "\n";

nasobeni = a * b;
cout << "a * b = " << nasobeni << "\n";

deleni = a / b;
cout << "a / b = " << deleni << "\n";

obsahkvadru = a * b * c;
cout << "obsah kvadru : " << obsahkvadru << "\n";

obsahkrychle = a * a * a;
cout << "obsah krychle pro a : " << obsahkrychle << "\n";

povrchkrychle = 6 * (a * a);
cout << "povrch krychle pro a : " << povrchkrychle << "\n";

obsahctverce = a * a;
cout << "obsah ctverce pro a : " << obsahctverce << "\n";

cout << "Zadejte polomer : ";
cin >> polomerm;

cout << "Zadejte vysku : ";
cin >> vyska;

objemvalce = pi * polomerm * polomerm * vyska;
cout << "objem valce : " << objemvalce << ".\n";

povrchvalce = 2 * pi * polomerm * polomerm + 2 * pi * polomerm * vyska;
cout << "povrch valce : " << povrchvalce << ".\n";








cout << " MY SOFTWARE\n";
cout << "Games and Programs";
cin >> exit;

return 0;
}||

Prominte, že je to tak dlouhé.
 
           [Odpovědět]
 
Hodnocení: 1 Čekejte, prosím...

Re: Pomozte

Datum: 19.1.2012 20:40
Autor: Petr Sklenička
Hodnocení autora: 83
Příspěvků: 80
Jen pro pořádek, double a není funkce. Chyba je v tom, že Vám na předchozím řádku (před double a) chybí na konci středník.
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Re: Pomozte

Datum: 21.1.2012 15:26
Autor: neregistrovaný (78.80.43.106)
Hodnocení autora: není
Příspěvků: 0
Aha děkuji nějak jsem to přehlédl.
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...
 

VBNET.CZ | © 2007 Tomáš Herceg, Tomáš Jecha | Kopírování a přejímání jakéhokoliv obsahu z tohoto webu je bez písemného svolení autorů zakázáno.