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

Problem s C++ – C / C++ – Fórum – Programujte.comProblem s C++ – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
ower0
Duch
8. 8. 2009   #1
-
0
-

Dobry den,
teraz som zacal citat o programovani v C++ - 1. lekce.....hned prvy program mi nefunguje...nainstaloval som si Dev-C++ a skopiroval som si ten program...nevyhadzovalo chybu len program spustilo a vyplo a nic mi nevypisalo...ziaden vysledok...moze mat problem s vistou ale kde robim chybu???
Dakujem

Nahlásit jako SPAM
IP: 88.212.41.–
Reklama
Reklama
Václav Valíček.
~ Anonymní uživatel
5 příspěvků
8. 8. 2009   #2
-
0
-

no pokud je to console application tak dej na konec čekání na stisk klávesy nebo něco takovýho jinak ti to problikne. nebo to spusť z přík. řádky nebo nastav ve vlastnostech jake je zatžítko po ukončení zavrít tak ho oddělej.

Nahlásit jako SPAM
IP: 81.19.45.–
KIIV+42
God of flame
8. 8. 2009   #3
-
0
-

je to program v terminalu.. a terminal neceka.. takze to ze to nevidis neznamena ze to nefunguje...
jsou v zasade 3 moznosti jak to vyresit:
1) spustit to v terminalu (tj. spustis cmd.exe a v nem spustis program..) vysledek se vypise, program skonci ale vysledek zustane protoze se cmd samo nezavre
2) cekat na vstup z klavesnice na konci programu - tam je ale docela problem, pokud cokoliv zustane ve fronte od klavesnice
3) pod windows existuje programek "pause.exe", ktery jednoduse vypise hlasku ze ceka na stisk libovolne klavesy...
takze se spusti pred koncem system("pause.exe"); (muze se vynechat .exe)

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
kejhal0
Duch
20. 8. 2009   #4
-
0
-

nebo by taky mohlo stacit na konecne programu pridat cin.get();, mozna 2x a return 0; coz ceka na stisknuti enteru...

Nahlásit jako SPAM
IP: 89.29.29.–
Lordest0
Super člen
20. 8. 2009   #5
-
0
-

mal som podobny problem, mozes pouzit bud jeden z hore uvedenych sposobov alebo nakonci suboru pridat

char nieco;

cin >> nieco;
return 0;

Nahlásit jako SPAM
IP: 78.98.66.–
Sergei0
Newbie
20. 8. 2009   #6
-
0
-

To Lordest : Mám pocit, že tohle nefunguje jen na odkliknutí enterem, že musíš zadat nějaký libovolný znak a enter, navíc je zde problém, který popisuje KIIV ve svém 2. bodě.

Nahlásit jako SPAM
IP: 62.129.41.–
Lordest0
Super člen
20. 8. 2009   #7
-
0
-

Sergei napsal:
To Lordest : Mám pocit, že tohle nefunguje jen na odkliknutí enterem, že musíš zadat nějaký libovolný znak a enter, navíc je zde problém, který popisuje KIIV ve svém 2. bodě.



ja hovorim ze to je iba jedna z moznosti :),
urcite uprednostnujem viac system("PAUSE"); ako povedal KIIV.

Nahlásit jako SPAM
IP: 78.98.66.–
DooFy930
Stálý člen
20. 8. 2009   #8
-
0
-

To Lordest : A nejlíp nepoužívat ani jeden z těchto dvou, ale spouštět program v terminálu. :-)

To Kejhal: Na stisk entru čeká pouze cin.get() (2x proto, že může být ve frontě na vstupu entr), return se dává jako označení návratové hodnoty, tady pro funkci main, 0 znamená, že program proběhl bez problému, jiné čísla značí chybu.

Nahlásit jako SPAM
IP: 212.80.64.–
Lordest0
Super člen
20. 8. 2009   #9
-
0
-

DooFy93 napsal:
To Lordest : A nejlíp nepoužívat ani jeden z těchto dvou, ale spouštět program v terminálu. :-).



Pokial to je konzolova aplikacia :-)

Nahlásit jako SPAM
IP: 78.98.66.–
KIIV+42
God of flame
20. 8. 2009   #10
-
0
-

mozna by se dalo udelat taky cin.flush() nebo cin.ignore(pocetznaku) a pak teprve cin.get() :))

Nahlásit jako SPAM
IP: 80.188.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
NOclipus0
Newbie
20. 8. 2009   #11
-
0
-

Ačkoli je system("PAUSE") velice oblíbený, tak je to prasárna za kterou by se měl člověk stydět. Za prvé funguje pouze pod Windows a za druhé je velice náročný na systémové zdroje, protože pokaždé když zavoláte system("PAUSE") tak se váš program pozastaví, zavolá se OS, otevře se OS shell, OS najde svůj PAUSE, alokuje pamět pro jeho spuštění, spustí ho, pak pamět zase dealokuje, vyjede z OS shellu a vrátí se do vašeho programu. Naprosto zbytečná a náročná věc. Mě se líbí toto řešení:



void MyPause(char[]);

int main()
{
//nějaký veleužitečný kód
MyPause("Press Enter to continue...");
}

void MyPause(char msg[])
{
cout << msg;
while(getchar() != '\n');
}

Nahlásit jako SPAM
IP: 88.103.97.–
KIIV+42
God of flame
20. 8. 2009   #12
-
0
-

To NOclipus : to je sice pravda, ale zase tak casto se to nedela..
Krom toho ja radsi programy, kde nic takovyho neni.. se to pak neda pouzit s presmerovanim.
V linuxu sem nikdy nic takovyho nemusel resit.. tam proste bezi prikazovka a vysledek zustane

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
NOclipus0
Newbie
20. 8. 2009   #13
-
0
-

Samozřejmě. Ale většina lidí má Windows, většina lidí programuje pro Windows a většina začínajících programátorů se učí na Windows...

Nahlásit jako SPAM
IP: 88.103.97.–
ondra.holub+1
Stálý člen
21. 8. 2009   #14
-
0
-

Ano a většina lidí si bohužel z naprosto neznámých důvodů oblíbila DevCpp, přestože např. Code::Blocks to řeší samo bez nějakých super vychytávek v programu.

Nahlásit jako SPAM
IP: 194.138.12.–
Lordest0
Super člen
21. 8. 2009   #15
-
0
-

ondra.holub napsal:
Ano a většina lidí si bohužel z naprosto neznámých důvodů oblíbila DevCpp, přestože např. Code::Blocks to řeší samo bez nějakých super vychytávek v programu.



no aby som bol uprimny pouzivam Dev-Cpp tiez ktory som dostal na CD ku knihe. K ostatnym neviem ,mozno si ho ludia oblubili kvoli tomu ze je znamy a ze je free. O code::blocks som zial nepocul, asi je to jedna z pricin aj pre ostatnych.. urcite vyskusam, ak je free..

Nahlásit jako SPAM
IP: 85.216.242.–
ondra.holub+1
Stálý člen
21. 8. 2009   #16
-
0
-

To Lordest : Code::Blocks je free, je ke stáhnutí na www.codeblocks.org Doporučuji nainstalovat tu verzi, která je ke stažení a pak to přeplácnou nightly buildem (dá se k němu dostat přes odkaz forums).

Výhoda codeblocks je i v tom, že podporuje více překladačů. Např. gcc, Visual C/C++, digital mars, ... Je to jednak užitečné při psaní kódu, který má být maximálně přenositelný, ale hodí se to např. i ve chvíli, kdy překladač vyhazuje nějakou záhadnou chybu a programátor nemůže zjistit, co se tomu překladači vlastně nelíbí. Tak to zkusím přeložit jiným překladačem, ten tu chybu formuluje jinak a je nějaká šance, že mně to dojde.

Další výhoda je, že codeblocks lze bez problémů provozovat i na Linuxu. Takže stejný projekt (pokud je multiplatformě napsaný) lze v klidu překládat i na více platformách.

Nahlásit jako SPAM
IP: 89.203.160.–
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, 57 hostů

Podobná vlákna

Problém s i++ — založil Chazz

Problem — založil Pavel

Problém — založil Ma.ty

Problém — založil Dfire

Problem s VS C# — založil Mrakoplas

Moderátoři diskuze

 

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