Základ souboru
using namespace std;
int main(){
system("pause");
return 0;
}
První řádek píšeme prakticky vždy, protože nám umožní pracovat s obrazovkou a klávesnicí (i – input, o – output) a „using namespace std“ nám umožní pracovat s funkcemi pro výpis, čtení a tak podobně.
Int main() nám definuje hlavní funkci programu, tedy tu, která se spustí jako první.
system ("pause") vypíše hlášku: “Pokračujte libovolnou klávesou...,“ což donutí program po skončení počkat.
Return 0, vrátí přes funkci Int main() hodnotu 0, což se dá přeložit jako: “v pořádku/bez chyby“.
Nyní přejdeme ke klasickému pozdravu „Hello wordl!“. Protože jsme includovali IOSTREAM a zároveň určili použití STD, můžeme plně a bez problému využít funkce COUT. A to takto:
cout je samotná funkce umožňující výpis textu na obrazovku a mezi jednotlivými jejími položkami píšeme: „<<“.
endl; nám posune kurzor na další řádek.
Kdybychom v hlavičce nezapsali „using namespace std;“ museli bychom funkci cout volat takto:
Nyní zkusíme definovat proměnou, můžeme si vybrat z celé řady klasických datových typů, které určitě znáte např.:
Double – reálná čísla
String – textový řetězec
Char – jeden znak
Ukážeme si použití na dalším příkladu:
using namespace std;
int main(){
string text = "Cislo je: ";
int cislo = 10;
cout << text << cislo << endl;
system("pause");
return 0;
}
Pěkné, ale co když chcete, aby si uživatel nastavil textový řetězec a číslo sám? Nemějte strach je to podobně jednoduché jako využití funkce "cout", jen použijete "cin".
cin >> cislo;
S proměnnými samozřejmě můžeme pracovat - je možné je např. sčítat:
int y = 4;
int z = x + y;
cout << z;
Výborně, ale co když chcete aby program v případě, že je číslo menší než 10 vypsal zadaný text, a v opačném případě nějaký jiný? Budeme muset využít základní podmínku a to IF (anglicky - když)
V obyčejných závorkách je zadána podmínka, následující složené závorky označují blok příkazu, které se provedou v případě její platnosti, a za „else“ se nachází blok příkazu, které se provedou v opačném případě tj. Když neplatí.
Celý dnešní program pak může vypadat následovně.
using namespace std;
int main(){
string text;
int cislo;
cin >> text;
cin >> cislo;
cislo += 2;
if (cislo < 10) {cout << text << endl;}
else {cout << "Cislo je 10 nebo vic" << endl;};
system("pause");
return 0;
}
"cislo +=2;" vykoná to stejné jako "cislo = cislo + 2;" ale je pro zápis lepší.
A příště se podíváme na cykly a složitější větvení ;)
Komentáře
Přidat nový
Pro přispívání musíte být přihlášen
Zapsal skenerz - 01.04.2011 12:14
Dobré, nakonec jsem stěch první třích lekcí sem vyplodil jednoduchou hru :), opravdu dobré návody fire (palec na horu) c++ je celkem jednoduché. Doufám že budou další návody ;)
Zapsal Firejs - 26.03.2011 14:46
Mno, asi by sis mohl projít všechny části, nebo aspoň tuhle, protože je v ní odpověď na tvůj dotaz... Tedy pokud tu proměnou máš ve třídě jako private tak si udělej funkci nebo metodu.. pokud jí máš přímo v main, tak ji vypiš přes cout.
Zapsal skenerz - 26.03.2011 14:20
Hele, vytvořil jsem si proměnou (int levelhrdini;) Nastavil jsem ji na jedna (levelhrdini = 1;) Pak jsem ji připsal 1 (levelhrdini += 1;) ale jak ted udělám aby se proměna zobrazila ?
Zapsal Firejs - 25.03.2011 20:38
Nikdy jsem neměl potřebu to zkoušet, ale našel jsem ti: "C and C++ do not have built-in standard support for sound. " ovšem pokud napíšeš do google: "C++ sound/beep" atp. najde ti to spousty výsledků.. tady (http://www.daniweb.com/software-development/cpp/threads/15252) jsou třeba i nějaké zdrojáky... když budeš hledat tak najdeš.
Zapsal skenerz - 25.03.2011 19:49
Jde nějak udělat aby se mi celou dobu přehrávala nějaká hudba (klidně i 8bitová) ?
Zapsal Firejs - 11.03.2011 11:48
tak si to číslo načti do proměnné, a pak to připočti k té, kterou chceš zvýšit ;)
Zapsal skenerz - 11.03.2011 08:27
Jak udělám aby číslo (cin >> cislo) nezadalo číslo ale připsalo ? myslim nějak takhle (cin+ >> cislo), ale nefunguje to.
Zapsal Firejs - 18.04.2010 21:41
Myslíš ten poslední? to že se ti otevře jako "dosové" okno je správně, a to že ti vypíše tu hlášku taky..
...mělo by to ale počkat dokud nezadáš text - enter, a číslo - enter.. pak vypsat ten text co jsi zadal, nebo ten co je ve větvi else.. podle toho jak se vyhodnotí podmínka a nakonec by to mělo hodit - pokračujte libovolnou klávesou.
Zapsal Raiper34 - 18.04.2010 21:11
Otazočka (moc sa nevyznám v C)
keď okopirujem kod cely tak keď spustim projekt tak mi otvori program (ako dosove hry) a napíše pokračujte stlačením lubovolnej klávesy. Čo to?
Zapsal Firejs - 10.04.2010 14:13
Pravda, ve škole děláme na Macu, a tam nedáváme nic takového... páč to spouští v terminálu.
Zapsal keksa - 10.04.2010 11:21
Pěkný článek, akorát bych zmínil, že system("pause"); funguje pouze pod windows. Proto je imho lepší používat místo toho cin.get();
Zapsal Raiper34 - 01.04.2010 17:28
Mám rád keď je niečo na serialy! Viac sa naučím ako keby že to dáš do jednoho celku tak z toho mám guláš. :)
Zapsal velda898 - 01.04.2010 16:37
100% pokračuj. podle mě je to psané skvěle. stručně ale je tam prostě všechno a dá se to pochopit.
Zapsal Gamp - 01.04.2010 16:26
Článek pěkný. Je to určitě psané pro začátečníky, takže je myslím každý text navíc zbytečný. Jen tak dál, těším se ;-)
Zapsal Firejs - 01.04.2010 09:13
Jn, ale je zbytečné aby se přidávaly další funkce když nejsou třeba, až budou tak se includnou ;)
Bildo: Nějakou hru plánuju, časem by mělo přijít aj něco v Openglu.. Ale musí se to brát pěkně od začátku ;)
Zapsal kadet - 01.04.2010 08:35
Článek se mi líbí v tom, že tam není žádná omáčka a že popisuje především fakta. Jen bych chtěl dodat, že pro správnou funkci kódů se string je nutno dodat #include <string>, protože stringy jsou isntance třídy string a tudíž je nutno tuto třídu zahrnout do souboru.
Zapsal bildo - 01.04.2010 07:47
Zaujimave. O Ccko jsem se nikdy nezajimal, ale jestli serial dojde az do nejake podoby, kde se v nem udela najaka jednoducha hricka s par spritama, tak to by bylo super. :)



