Stránka 1 z 2
fatalni problem s C++
Napsal: stř 8. lis 2006, 17:44
od Coburn
Zdravim
chtel bych se zeptat nekoho, kdo tomu rozumi, jak zacit s c++. Koupil jsem si nakou ucebnici, stahl si dev-c++ a když jsem chtěl udělat uvodni programek hello.cpp, tak hello.exe za zadnou cenu nefungovalo, ani když jsem otevřel nějakej hotovej zdrojak z autorovi stranky. Fakt si uz nevim rady, please help
Napsal: stř 8. lis 2006, 20:21
od zombux
jak "nefungovalo"? co to psalo za chybu nebo cože?
Napsal: stř 8. lis 2006, 20:44
od Fifi
Určité verze Dev C++ mají problém s voidem u mainu. Tedy místo:
dej:
Vůbec by nebylo odvěci popsat jakou chybovou hlášku kompilátor hází.
Napsal: stř 8. lis 2006, 21:13
od Coburn
/*******************
* hello.cpp
* rychlý začátek
*******************/
#include <iostream>
using namespace std; // prostor jmen
int main() {
cout << "Hi world!" << endl;
return 0;
} // int main()
dělám to v dev-c++ kdyz dam execute-compile, tak to vytvori soubor.exe a kdyz ho otevru, tak se na pul vteřiny otevře černy dosovsky okynko a to hned zmizí. Diky za rady.
Napsal: stř 8. lis 2006, 22:42
od Fifi
iostream je hllavičkový soubor, tedy #include<iostream.h>. Co ten program má dělat?
Napsal: čtv 9. lis 2006, 01:33
od Ssnake
jasne ze nic nevidi, to okno se otevre, program se spusti a okno se hned zase zavre...takze bud tam dej kod ktery bude cekat na stisknuti klavesy pro ukonceni nebo : start -->> spustit -->> CMD a tam spust ten program a uvidis ten vypis

Napsal: čtv 9. lis 2006, 22:03
od €agle
v Dev-C++ je iostream defaultne definovany jako <iostream> a ne <iostream.h> a jak psal Ssnake, ten program se ti spusti, ale hned zase ukonci, jelikoz pred return 0 nemas zadnou funkci, ktera by ho zbrzdila, pripis pred to treba system("PAUSE"); ktery zobrazi typickou hlasku press any key a pak se ti program ukonci az po stisknuti klavesy...
Napsal: čtv 9. lis 2006, 22:21
od Coburn
mooooc dekuju
Napsal: čtv 9. lis 2006, 22:25
od zombux
€agle píše:v Dev-C++ je iostream defaultne definovany jako <iostream> a ne <iostream.h>
ono mám pocit že to je proto, že postupným vývojem od C k C# je iostream.h deprecated... nicméně jistej si tím nejsem

Napsal: ned 12. lis 2006, 16:42
od €agle
zombux píše:ono mám pocit že to je proto, že postupným vývojem od C k C# je iostream.h deprecated... nicméně jistej si tím nejsem

jojo, iostream.h je uz deprecated preknych par let, stejne tak jako .h u standartnich headru (pr. fstream, cstdlib...)

Napsal: pon 13. lis 2006, 15:43
od Coburn
Tak jsem se prokousal skrz par dalsich kapitol, i pres kalkulacku... ale k vecim jako je clearscreen, barva pisma a pozadi a odkazy (jako ze kdyz neco napisu, napr "2" - tak ze by me to hodilo do naky casti, kde by mi to vypsalo veci podel toho, co tam napisu) se dostanu v knizce asi az za hoodne dlouho Nevedel byste nekdo? diky
Napsal: pon 20. lis 2006, 15:01
od Rejp
Já mám zase problém s tím, že mi vůbec nefungujou funkce pro grafiku (CreateSolidBrush(), BitBlt(), SelectObject(), DeleteObject(), CreateCompatibleDC(), DeleteDC(), CreateCompatibleBitmap() a další), píše mi to "[Linker error] undefined reference to `<funkce>@<ruzný čísla>'"
Napsal: úte 21. lis 2006, 12:45
od €agle
Musis v Projekt/Vlastnosti projektu/Parametry dat Pripojit knihovnu a najit knihovnu obsahujici pozadovane funkce. V tvem pripade to bude nejspis libgdi32.a kterou najdes ve slozce lib v adresari Dev-C++
Napsal: úte 21. lis 2006, 16:36
od Rejp
Jo, funguje to, fakt moc děkuju!!!
Napsal: úte 21. lis 2006, 16:54
od Rejp
A ještě: jak se zbavim tohodle vokna?

Napsal: úte 21. lis 2006, 17:45
od Rejp
A teď mi to zase píše "`TransparentBlt' undeclared (first use this function) "
Napsal: stř 22. lis 2006, 18:46
od €agle
Toho okna se zbavis tak, ze v Projekt/Vlastnosti projektu zvolis typ Win32 - GUI Aplikace. Akorat pak logicky nemuzes pouzivat prikazy pro praci s konzoli, jinak se ti zase objevi.
U TransparentBlt je problem s tim, ze je definovana jenom pro verze Windows podporujici alpha blending. Kdyz si najdes definici ve wingdi.h uvidis tam podminku #if (WINVER >= 0x0500). Nejjednodussim resenim jak donutit DevC++ spolupracovat je tuhle podminku smazat (samozrejme vcetne #endif na za ni). Jak se ale bude program chovat na systemech bez alpha blendingu je ve hvezdach...
Napsal: úte 12. pro 2006, 17:51
od Coburn
Jeste bych se chtel zeptat, jestli byste mi nekdo mohl napsat vzorovou "vetu" jak je to s odkazovanim. vim ze to funguje nejak (z ucebnice jsem toho moc nepochopil) if blablabla goto blablabla, ale to je mi prakticky k nicemu. Mam teda dotaz - 1) Jak se to ma zapsat? 2) Jak urcim adresu, kterou napisu za goto? 3) Prej se goto nema pouzivat, ze je v tom pak bordel. Jaka je "ta druha" moznost?
Moc vam vsem dekuju za odpovedi
Napsal: stř 13. pro 2006, 08:55
od Rejp
Už jsem udělal
první hru 
Napsal: stř 13. pro 2006, 16:48
od €agle
Ukazka goto treba
Kód: Vybrat vše
if(a == 1) goto test; //kdyz a je 1 preskoc na test
funkce1(); //preskocena pokud a je 1, vykonana pokud a neni 1
funkce2(); //stejne
test: //cil pro goto ve tvaru nazev:
funkce3();
Aby ses vyhnul pouzivani goto, musis kod usporadat tak, aby se dal cist postupne i bez skoku, v tomto priklade by to bylo treba
Kód: Vybrat vše
if(a != 1)
{
funkce1();
funkce2();
}
funkce3();