fatalni problem s C++

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Coburn
Začátečník
Začátečník
Registrován: 12. čer 2006
Bydliště: Kobenhavn, Denmark
Kontaktovat uživatele:

fatalni problem s C++

Příspěvek 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
CPU: Intel Core2 Duo E6300 2,33Ghz, GPU: Leadtek Winfast PX7600GS, MB: MSI P965 NEO-F, PSU-ASUS XXX 450W, HDD: Seagate Barracuda 7200.10, 320GB
zombux
Odborník PCT
Odborník PCT
Uživatelský avatar
Registrován: 05. čer 2003
Bydliště: sluníčkář a havloid z pražské lumpenkavárny

Příspěvek od zombux »

jak "nefungovalo"? co to psalo za chybu nebo cože?
ignorelist: kremrole a dezoláti
Fifi
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 29. říj 2003
Bydliště: Praha, Ostrava, Brno, Bratislava

Příspěvek od Fifi »

Určité verze Dev C++ mají problém s voidem u mainu. Tedy místo:

Kód: Vybrat vše

void main()
{}
dej:

Kód: Vybrat vše

int main()
{return(0);}
Vůbec by nebylo odvěci popsat jakou chybovou hlášku kompilátor hází.
Coburn
Začátečník
Začátečník
Registrován: 12. čer 2006
Bydliště: Kobenhavn, Denmark
Kontaktovat uživatele:

Příspěvek 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.
CPU: Intel Core2 Duo E6300 2,33Ghz, GPU: Leadtek Winfast PX7600GS, MB: MSI P965 NEO-F, PSU-ASUS XXX 450W, HDD: Seagate Barracuda 7200.10, 320GB
Fifi
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 29. říj 2003
Bydliště: Praha, Ostrava, Brno, Bratislava

Příspěvek od Fifi »

iostream je hllavičkový soubor, tedy #include<iostream.h>. Co ten program má dělat?
Ssnake
Začátečník
Začátečník
Registrován: 25. led 2005
Bydliště: chotebuz

Příspěvek 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 :-)
FD node 202, ST45SF, Z97i, i7-4980HQ CB20:1718,CB24:254 NH-L9i, 2x8, R9NANO , 5100MAX
x850xtPE, x1950xtx, hd2900gt, hd3870, hd4890, hd5870 - - 6800ultra, 7900gtx, 8800gtx, 9800gtx+, gtx285
€agle
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 13. lis 2003
Bydliště: Vlastní 3D svět :)
Kontaktovat uživatele:

Příspěvek 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...
Eagle3D Engine under developement

Hledáme do firmy schopného ASP/VB.NET/C# programátora, více po SZ
Coburn
Začátečník
Začátečník
Registrován: 12. čer 2006
Bydliště: Kobenhavn, Denmark
Kontaktovat uživatele:

Příspěvek od Coburn »

mooooc dekuju
CPU: Intel Core2 Duo E6300 2,33Ghz, GPU: Leadtek Winfast PX7600GS, MB: MSI P965 NEO-F, PSU-ASUS XXX 450W, HDD: Seagate Barracuda 7200.10, 320GB
zombux
Odborník PCT
Odborník PCT
Uživatelský avatar
Registrován: 05. čer 2003
Bydliště: sluníčkář a havloid z pražské lumpenkavárny

Příspěvek 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 :oops:
ignorelist: kremrole a dezoláti
€agle
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 13. lis 2003
Bydliště: Vlastní 3D svět :)
Kontaktovat uživatele:

Příspěvek 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 :oops:
jojo, iostream.h je uz deprecated preknych par let, stejne tak jako .h u standartnich headru (pr. fstream, cstdlib...) :)
Eagle3D Engine under developement

Hledáme do firmy schopného ASP/VB.NET/C# programátora, více po SZ
Coburn
Začátečník
Začátečník
Registrován: 12. čer 2006
Bydliště: Kobenhavn, Denmark
Kontaktovat uživatele:

Příspěvek 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
CPU: Intel Core2 Duo E6300 2,33Ghz, GPU: Leadtek Winfast PX7600GS, MB: MSI P965 NEO-F, PSU-ASUS XXX 450W, HDD: Seagate Barracuda 7200.10, 320GB
Rejp
Nováček
Nováček
Registrován: 20. lis 2006
Kontaktovat uživatele:

Příspěvek 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>'"
€agle
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 13. lis 2003
Bydliště: Vlastní 3D svět :)
Kontaktovat uživatele:

Příspěvek 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++
Eagle3D Engine under developement

Hledáme do firmy schopného ASP/VB.NET/C# programátora, více po SZ
Rejp
Nováček
Nováček
Registrován: 20. lis 2006
Kontaktovat uživatele:

Příspěvek od Rejp »

Jo, funguje to, fakt moc děkuju!!!
Rejp
Nováček
Nováček
Registrován: 20. lis 2006
Kontaktovat uživatele:

Příspěvek od Rejp »

A ještě: jak se zbavim tohodle vokna?
Obrázek
Rejp
Nováček
Nováček
Registrován: 20. lis 2006
Kontaktovat uživatele:

Příspěvek od Rejp »

A teď mi to zase píše "`TransparentBlt' undeclared (first use this function) "
€agle
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 13. lis 2003
Bydliště: Vlastní 3D svět :)
Kontaktovat uživatele:

Příspěvek 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...
Eagle3D Engine under developement

Hledáme do firmy schopného ASP/VB.NET/C# programátora, více po SZ
Coburn
Začátečník
Začátečník
Registrován: 12. čer 2006
Bydliště: Kobenhavn, Denmark
Kontaktovat uživatele:

Příspěvek 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
CPU: Intel Core2 Duo E6300 2,33Ghz, GPU: Leadtek Winfast PX7600GS, MB: MSI P965 NEO-F, PSU-ASUS XXX 450W, HDD: Seagate Barracuda 7200.10, 320GB
Rejp
Nováček
Nováček
Registrován: 20. lis 2006
Kontaktovat uživatele:

Příspěvek od Rejp »

Už jsem udělal první hru :D
€agle
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 13. lis 2003
Bydliště: Vlastní 3D svět :)
Kontaktovat uživatele:

Příspěvek 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();
Eagle3D Engine under developement

Hledáme do firmy schopného ASP/VB.NET/C# programátora, více po SZ
Odpovědět

Zpět na „Programování a web“