.[ ČeskéHry.cz ].
C++ problem s header files
Jdi na stránku Předchozí  1, 2, 3, 4, 5, 6  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Yossarian



Založen: 28. 07. 2007
Příspěvky: 274
Bydliště: Šalingrad

PříspěvekZaslal: 22. červen 2009, 11:11:45    Předmět: Odpovědět s citátem

quas4 napsal:

zde predavas nulove pointery a ve funkci cas() je neco takoveho nepripustne.

prave ze neni, on si ty pointery pak prepisuje pointerama na lokalni funkce (pravdepodobne chapu myslenkovy postup, ale c neni php..)
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
koso



Založen: 28. 05. 2009
Příspěvky: 110

PříspěvekZaslal: 22. červen 2009, 13:41:19    Předmět: Odpovědět s citátem

pointery skusam prvy krat.
povodne to bol len ten kod v cas.cpp.ten cyklus while je na to aby sa to neustale vypisovalo pretoze ta podmienka sa nikdy nesplni.proste bezia sekundy a podla toho sa pripocitavaju ostatne(min,hod,den...).dole nizsie sa to podla hodnot "den" a "mes" rozhoduje aky string sa ulozi do premennych "den_meno" a "mes_meno".nakoniec cyklu sa to vsetko vypise.tento skript fungoval.neskor som chcel skusit dostat tie premenne do ineho skriptu(suboru) v jednom projekte a tak sa to vyvinulo v tejto debate.teraz je to printf v cas.cpp zakomentovane lebo by som to zbytocne vypisoval.ja to chcem vypisat v tom druhom skripte co je v main.cpp. chcem sa len naucit nieco nove tak ma hned neodsuzujte ze nic neviem. Sad
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
koso



Založen: 28. 05. 2009
Příspěvky: 110

PříspěvekZaslal: 22. červen 2009, 14:43:44    Předmět: Odpovědět s citátem

jjj

Naposledy upravil koso dne 24. červen 2009, 14:43:19, celkově upraveno 1 krát
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
koso



Založen: 28. 05. 2009
Příspěvky: 110

PříspěvekZaslal: 22. červen 2009, 18:14:46    Předmět: Odpovědět s citátem

stiahol to niekto?chapete o co sa snazim?chcem dostat hodnoty premennych z cas.cpp do main.cpp.pomoze mi s tym niekto?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



Založen: 28. 07. 2007
Příspěvky: 1051

PříspěvekZaslal: 22. červen 2009, 18:46:23    Předmět: Odpovědět s citátem

no treba vediet obory (scope) platnosti premennych. premenna je platna a pouzitelna v tom bloku ohrenicenych zatvorkami {} a vsetky podbloky.

teda globalna premenna mimo vsetky {} bloky je platna vsade. takze napr v for(int i=0;i<10;++) cykle je i platna iba v tele toho cyklu. inde ti prekladac vyhodi chybu (dufam ze len VS6 malo tu chybu ze i bolo platne aj nadalej)

tak isto to je aj
kód:
if(){ int ol; //zase je ol platna len do konca bloku}


dokonca mozes v kode pouzit len samotny blok bez nicoho.

kód:
//nejaky kod
{
int ll;
//tu plati ll
}
//tu uz nie

a ako som uz napisal predtym. tak pouzi funkciu s parametrami ako pointre
kód:
void cas(int *p)
{
*p = 963;
}
a pouzivaj takto
kód:
int c;
cas(&c);

_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
koso



Založen: 28. 05. 2009
Příspěvky: 110

PříspěvekZaslal: 22. červen 2009, 18:56:38    Předmět: Odpovědět s citátem

a vyhadzovalo by mi to aktualnu hodnotu?da sa nejako dosiahnut ze ked zavolam funkciu cas() tak tie premenne ktore prevezmu hodnoty na ktore ukazuju pointre sa budu menit tak ako vo funkcii cas?
nou: dakujem ze si sa mi ozval
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
koso



Založen: 28. 05. 2009
Příspěvky: 110

PříspěvekZaslal: 22. červen 2009, 19:46:00    Předmět: Odpovědět s citátem

nou napsal:

kód:
int c;
cas(&c);


neviem ci som to pochopil spravne ale z toho co som si precital o pointroch v knihe, mi z toho vychadza to ze referencny operator & sa pouziva na priradenie adresy premennej napr
kód:
int *p_u;//pointer
p_u = &i;//priradenie adresy

cize ked to spravim ako v kode horeuvedenom, nepriradim premennej c adresu pointra ktory je ako parameter v cas()?netvrdim ze to je tak, ani som to zatial neodskusal lebo som sa nedostal k notebooku.prosim o objasnenie tohoto aj toho vo vissom prispevku.dakujem
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Quiark



Založen: 29. 07. 2007
Příspěvky: 816
Bydliště: Chlívek 401

PříspěvekZaslal: 22. červen 2009, 19:56:55    Předmět: Odpovědět s citátem

Je to přesně naopak. Vezme se totiž adresa proměnné c a předá se jako parametr. Vždyť to bylo i v tom mém příkladu s funkcí nastav ..
_________________
Mám strach
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
koso



Založen: 28. 05. 2009
Příspěvky: 110

PříspěvekZaslal: 23. červen 2009, 05:38:26    Předmět: Odpovědět s citátem

uz som prisiel na to co je zle:
kód:
int main()
{
   int a,b,c,d,e,f,g,h=2,i;
   cas(&a,&b,&c,&d,&e,&f,&g,&i);
   printf("%d\n",i);
   system("pause");
}

toto vsetko je v poriadku okrem toho ze ta funkcia cas() ktoru zavolam sa nikdy neskonci tym padom sa to k tomu printfu ani nedostane a preto mi konzola nic nevypise.neviete mi poradit ako spravit cyklus ktory bezi pocas celeho behu programu ale popri tom bezi aj nieco ine?
zase vopred dakujem.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Ladis



Založen: 18. 09. 2007
Příspěvky: 1537
Bydliště: u Prahy

PříspěvekZaslal: 23. červen 2009, 07:33:40    Předmět: Odpovědět s citátem

koso napsal:
Neviete mi poradit ako spravit cyklus, ktory bezi pocas celeho behu programu, ale popri tom bezi aj nieco ine?

Řešením je druhé vlákno Wink. Ale být tebou, nejprv bych si přečetl základy C.
_________________
Award-winning game developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Quiark



Založen: 29. 07. 2007
Příspěvky: 816
Bydliště: Chlívek 401

PříspěvekZaslal: 23. červen 2009, 08:35:34    Předmět: Odpovědět s citátem

Jo, vlákno. Být tebou bych se do toho v nejbližším roce ale vůbec nepouštěl. Ono to určitě půjde udělat i jinak - napsat ten cas tak, aby vzdy provedl jen malý update a za chvíli ho zavolat znova.
_________________
Mám strach
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
MD



Založen: 29. 07. 2007
Příspěvky: 437
Bydliště: Praha

PříspěvekZaslal: 23. červen 2009, 08:38:16    Předmět: Odpovědět s citátem

Ale koso urcite nechce 2. vlakno Wink
Spise bych si tipnul ze potrebuje nahodit "herni" nekonecnou smycku a ta muze vypadat treba takhle:
kód:

while(!konec) {
  precti_vstupy_od_uzivatele();
  spocti_dalsi_krok();
  vykresli_vse();
  sleep(30);
  cas += 30;
}

Takze koso jestli chces udelat hodiny, tak si udelej while smycku a uvnitr si cti z klavesnice, kdy uzivatel zmackne Esc (at to muzes zastavit), dale zjistuj kolik je hodin a pak to vypis pomoci printf. (Printf ma teda tu nevyhodu, ze ti vzdy udela novy radek na konzoli.) A nakonec pomoci nejakeho sleepu to nachvilku pauzni.

Poznamka ve skutecnych hernich smyckach se mnohem sloziteji pracuje s casem. Prikazy ve smycce totiz trvaji pokazde jinak dlouho a proto se i jinak dlouho ceka na dalsi takt. A dale se tam delaji ruzna zviractva, pokud hra cas prideleny pro jeden takt pretahne.
_________________
- play with objects - www.krkal.org -
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
koso



Založen: 28. 05. 2009
Příspěvky: 110

PříspěvekZaslal: 23. červen 2009, 12:14:49    Předmět: Odpovědět s citátem

dakujem za pomoc Smile Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Ladis



Založen: 18. 09. 2007
Příspěvky: 1537
Bydliště: u Prahy

PříspěvekZaslal: 23. červen 2009, 12:46:41    Předmět: Odpovědět s citátem

A pomohlo to, nebo sis už konečně otevřel nějakou knížku? Smile Nemám nic proti začátečníkům, klidně budu odpovídat na dotazy ohledně nějakejch ukázkovejch příkladů v knížce nebo i tutoriálu z internetu, když něčemu nebudeš rozumět. Ale ne prosím to co se předvádí na 5 stranách tohoto vlákna. Divím se, že už to někdo nezamkl.
_________________
Award-winning game developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
koso



Založen: 28. 05. 2009
Příspěvky: 110

PříspěvekZaslal: 23. červen 2009, 13:16:34    Předmět: Odpovědět s citátem

knizku uz mam rozcitanu dost dlho.a zaklady C zvladam.toto mi pomohlo a objasnilo vela veci.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++ Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2, 3, 4, 5, 6  Další
Strana 5 z 6

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna