Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
MD

Založen: 29. 07. 2007 Příspěvky: 437 Bydliště: Praha
|
Zaslal: 21. červen 2009, 09:13:07 Předmět: |
|
|
koso napsal: |
skusam to mam v jednom solution dva cpp subory: nastav.cpp a vypis.cpp
|
A co takhle pridat jeste nastav.h, do nej dat radek:
a pak tento h soubor includovat ve vypis.cpp (a v nastav.cpp se to dela taky). Nedivil bych se kdyby ti inkludy uz tady v tomhle vlakne nekdo vysvetloval (ja to necetl cele), tak si to kdyztak zopakuj ... _________________ - play with objects - www.krkal.org - |
|
Návrat nahoru |
|
 |
koso
Založen: 28. 05. 2009 Příspěvky: 110
|
Zaslal: 21. červen 2009, 09:43:41 Předmět: |
|
|
dakujem vsetkym ktori mi pomohli s mojim problemom.thanks  |
|
Návrat nahoru |
|
 |
koso
Založen: 28. 05. 2009 Příspěvky: 110
|
Zaslal: 21. červen 2009, 12:45:50 Předmět: |
|
|
mam znova problem. ked som to skusal len tak na tom priklade tak to islo ale ked som to prepisal do toho casu tak to hadze linker problem error LNK2019: unresolved external symbol "void __cdecl cas(int *,int *,int *,int *,int *,int *,int *,char *,char *)" (?cas@@YAXPAH000000PAD1@Z) referenced in function _main
ak treba tak sem hodim zdrojaky.
vopred dakujem |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1051
|
Zaslal: 21. červen 2009, 13:06:20 Předmět: |
|
|
takze treba mat v jednom projekte nahodene subory *.cpp s main() tak aj s cas(). teda aby to prekladac prelozil a potom linker zlinkoval. _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
koso
Založen: 28. 05. 2009 Příspěvky: 110
|
Zaslal: 21. červen 2009, 13:24:36 Předmět: |
|
|
ale ja mam v jednom projekte main.cpp aj cas.cpp
som bezradny  |
|
Návrat nahoru |
|
 |
Quiark

Založen: 29. 07. 2007 Příspěvky: 816 Bydliště: Chlívek 401
|
Zaslal: 21. červen 2009, 13:29:21 Předmět: |
|
|
Kdybys byl býval pozorně četl ten odkaz na wiki, tak bys některé odpovědi už znal. Jinak ten unresolved external může být taky způsoben tím, že máš rozdílné hlavičky té funkce (neboli v .h je něco trošku jiného než v .cpp) _________________ Mám strach |
|
Návrat nahoru |
|
 |
koso
Založen: 28. 05. 2009 Příspěvky: 110
|
Zaslal: 21. červen 2009, 15:15:34 Předmět: |
|
|
to som uz vyresil ale vali sa na mna dalsi a dalsi problem teraz to vypisuje
syntax error : 'void' should be preceded by ';'
cize ze void by mala predchadzat ";"
cas.cpp zacina takto:
kód: |
#include<cstdlib>
#include<iostream>
#include<windows.h>
#include<string.h>
#include<cas.h>
void cas(int *sec=0, int *min=0, int *hod=0, int *den=0, int *tyz=0, int *mes=0, int *rok=0, char *den_meno[10] = 0, char *mes_meno[10] = 0)
{
*den = 1; *tyz = 1; *mes = 1; *rok = 1992;
//////a main.cpp:
#include<cstdlib>
#include<iostream>
#include<cas.h>
int main()
{
int a,b,c,d,e,f,g;
char h, hh;
cas(&a,&b,&c,&d,&e,&f,&g,&h,&hh);
printf("%d",a);
system("pause");
} |
|
|
Návrat nahoru |
|
 |
Quiark

Založen: 29. 07. 2007 Příspěvky: 816 Bydliště: Chlívek 401
|
Zaslal: 21. červen 2009, 15:22:56 Předmět: |
|
|
Syntaktická chyba. To už by sis měl vyřešit sám. Je třeba zkontrolovat i hlavičkový soubor cas.h jak je napsáno na té wiki. _________________ Mám strach |
|
Návrat nahoru |
|
 |
koso
Založen: 28. 05. 2009 Příspěvky: 110
|
Zaslal: 21. červen 2009, 20:02:09 Předmět: |
|
|
zase prosim o pomoc.tu su skripty:
cas.cpp:
kód: |
#include<cstdlib>
#include<iostream>
#include<windows.h>
#include<string.h>
void cas(int *p_sec, int *p_min, int *p_hod, int *p_den, int *p_tyz, int *p_mes, int *p_rok, char *p_den_meno, char *p_mes_meno)
{
int sec=0,min=0,hod=0,den=0,tyz=0,mes=0,rok=0;
char den_meno[10], mes_meno[10];
p_sec=&sec;
p_min=&min;
p_hod=&hod;
p_den=&den;
p_tyz=&tyz;
p_mes=&mes;
p_rok=&rok;
p_den_meno=&den_meno[10];
p_mes_meno=&mes_meno[10];
den = 1;
tyz = 1;
mes = 1;
rok = 1992;
while(sec!=65)
{
//Sleep(100);
sec=sec+1;
if(sec==60){sec=0; min=min+1;}
if(min==60){min=0; hod=hod+1;}
if(hod==24){hod=0; den=den+1;}
if(den>7){den=1; tyz=tyz+1;}
if(tyz>4){tyz=1; mes=mes+1;}
if(mes>12){mes=1; rok=rok+1;}
switch(den)
{
case 1: strcpy(den_meno, "pondelok");break;
case 2: strcpy(den_meno, "utorok");break;
case 3: strcpy(den_meno, "streda");break;
case 4: strcpy(den_meno, "stvrtok");break;
case 5: strcpy(den_meno, "piatok");break;
case 6: strcpy(den_meno, "sobota");break;
case 7: strcpy(den_meno, "nedela");break;
}
//////////////////////////////////////////////////////////////////////////////////////////
switch(mes)
{
case 1: strcpy(mes_meno, "januar");break;
case 2: strcpy(mes_meno, "februar");break;
case 3: strcpy(mes_meno, "marec");break;
case 4: strcpy(mes_meno, "april");break;
case 5: strcpy(mes_meno, "maj");break;
case 6: strcpy(mes_meno, "jun");break;
case 7: strcpy(mes_meno, "jul");break;
case 8: strcpy(mes_meno, "august");break;
case 9: strcpy(mes_meno, "september");break;
case 10: strcpy(mes_meno, "oktober");break;
case 11: strcpy(mes_meno, "november");break;
case 12: strcpy(mes_meno, "december");break;
}
/////////////////////////////////////////////
//printf(" %.2d:%.2d:%.2d %s %d.tyzden %s %d\n",hod,min,sec,den_meno,tyz,mes_meno,rok);
}
//system("pause");
} |
cas.h:
kód: |
#ifndef _CAS_H_
#define _CAS_H_
void cas(int *p_sec, int *p_min, int *p_hod, int *p_den, int *p_tyz, int *p_mes, int *p_rok, char *p_den_meno, char *p_mes_meno);
#endif |
main.cpp:
kód: |
#include<cstdlib>
#include<iostream>
#include<cas.h>
int main()
{
int a;
cas(&a,0,0,0,0,0,0,0,0);
printf("%d",a);
system("pause");
} |
ked to spustim nabehne konzola ale nic sa nevypise.neviem si s tym rady.HELP |
|
Návrat nahoru |
|
 |
johnnash
Založen: 30. 07. 2007 Příspěvky: 80
|
Zaslal: 21. červen 2009, 21:24:19 Předmět: |
|
|
Ze jsem tak smely, co by ten kod mel ve vysledku delat?
Zvlaste mne zaujala ta podminka sec != 65. |
|
Návrat nahoru |
|
 |
koso
Založen: 28. 05. 2009 Příspěvky: 110
|
Zaslal: 22. červen 2009, 05:37:43 Předmět: |
|
|
ta podmienka je tam len tak aby sa cyklus opakoval.neskor ju nahradim aby som mohol cyklus zastavit. a vo vysledku to pocita sekundy podla nich hodiny a tak dalej az po roky. ale zrychlene |
|
Návrat nahoru |
|
 |
koso
Založen: 28. 05. 2009 Příspěvky: 110
|
Zaslal: 22. červen 2009, 05:45:34 Předmět: |
|
|
koso napsal: |
zase prosim o pomoc.tu su skripty:
cas.cpp:
kód: |
#include<cstdlib>
#include<iostream>
#include<windows.h>
#include<string.h>
void cas(int *p_sec, int *p_min, int *p_hod, int *p_den, int *p_tyz, int *p_mes, int *p_rok, char *p_den_meno, char *p_mes_meno)
{
int sec=0,min=0,hod=0,den=0,tyz=0,mes=0,rok=0;
char den_meno[10], mes_meno[10];
p_sec=&sec;
p_min=&min;
p_hod=&hod;
p_den=&den;
p_tyz=&tyz;
p_mes=&mes;
p_rok=&rok;
p_den_meno=&den_meno[10];
p_mes_meno=&mes_meno[10];
den = 1;
tyz = 1;
mes = 1;
rok = 1992;
while(sec!=65)
{
//Sleep(100);
sec=sec+1;
if(sec==60){sec=0; min=min+1;}
if(min==60){min=0; hod=hod+1;}
if(hod==24){hod=0; den=den+1;}
if(den>7){den=1; tyz=tyz+1;}
if(tyz>4){tyz=1; mes=mes+1;}
if(mes>12){mes=1; rok=rok+1;}
switch(den)
{
case 1: strcpy(den_meno, "pondelok");break;
case 2: strcpy(den_meno, "utorok");break;
case 3: strcpy(den_meno, "streda");break;
case 4: strcpy(den_meno, "stvrtok");break;
case 5: strcpy(den_meno, "piatok");break;
case 6: strcpy(den_meno, "sobota");break;
case 7: strcpy(den_meno, "nedela");break;
}
//////////////////////////////////////////////////////////////////////////////////////////
switch(mes)
{
case 1: strcpy(mes_meno, "januar");break;
case 2: strcpy(mes_meno, "februar");break;
case 3: strcpy(mes_meno, "marec");break;
case 4: strcpy(mes_meno, "april");break;
case 5: strcpy(mes_meno, "maj");break;
case 6: strcpy(mes_meno, "jun");break;
case 7: strcpy(mes_meno, "jul");break;
case 8: strcpy(mes_meno, "august");break;
case 9: strcpy(mes_meno, "september");break;
case 10: strcpy(mes_meno, "oktober");break;
case 11: strcpy(mes_meno, "november");break;
case 12: strcpy(mes_meno, "december");break;
}
/////////////////////////////////////////////
//printf(" %.2d:%.2d:%.2d %s %d.tyzden %s %d\n",hod,min,sec,den_meno,tyz,mes_meno,rok);
}
//system("pause");
} |
cas.h:
kód: |
#ifndef _CAS_H_
#define _CAS_H_
void cas(int *p_sec, int *p_min, int *p_hod, int *p_den, int *p_tyz, int *p_mes, int *p_rok, char *p_den_meno, char *p_mes_meno);
#endif |
main.cpp:
kód: |
#include<cstdlib>
#include<iostream>
#include<cas.h>
int main()
{
int *a;
cas(&a,0,0,0,0,0,0,0,0);
printf("%d",*a);
system("pause");
} |
ked to spustim nabehne konzola ale nic sa nevypise.neviem si s tym rady.HELP |
|
|
Návrat nahoru |
|
 |
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 22. červen 2009, 07:08:18 Předmět: |
|
|
Tak velmi zajimave je predavani celociselnych typu pointerem. To while != je divne, vymaz. Ale proc se ksakru divis ze to nefunguje, kdyz predavas samy nuly a chces vypsat mesice a dny?? Zkus to volat se samyma jednickama. Mel bys taky udelat default vetev, ktera by treba vracela -1...
BTW: pro vypsani data je trochu divne mit aktualni tyden, tohle vymaz - bude stacit den od zacatku mesice.
BTW2: To "den_meno" a "mesic meno" nepredavej. Pro lepsi praci si je udelej jako stringy a inicializace neni potreba.
BTW3:
kód: |
if(sec==60){sec=0; min=min+1;}
if(min==60){min=0; hod=hod+1;}
if(hod==24){hod=0; den=den+1;}
if(den>7){den=1; tyz=tyz+1;}
if(tyz>4){tyz=1; mes=mes+1;}
if(mes>12){mes=1; rok=rok+1;}
|
kód: |
while(sec>=60){sec-=60; min=min+1;}
while(min>=60){min-=60; hod=hod+1;}
while(hod>=24){hod-=24; den=den+1;}
while(mes>12){mes-=12; rok=rok+1;}
|
Pokud chces menit cas, tj. pri kazdem volani funkce provest kod vyse, aby se projevil i na promennych, ktere predavas, pouzij
void cas(int &sec, int &min, int &hod, int &den, int &mes, int &rok)
Jinak pouzij toto:
void cas(int sec, int min, int hod, int den, int mes, int rok)
EHM... JAK SE TI TO MA VYPSAT KDYZ JE PRINTF ZAKOMENTOVANY???
napsal bych i celou procedurku, ale vypada to, ze ty potrebujes kapanek procvicit
Uz se tesim, az me Eosie zacne opravovat
EDIT: Jeste me napadlo, ze pokud pouzivas ciste C, musis pouzivat misto referenci ukazatele. Pokud ne, existuje i cout
(Samozrejme kazdemu dle jeho chuti) _________________ For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++. |
|
Návrat nahoru |
|
 |
quas4
Založen: 18. 10. 2007 Příspěvky: 199
|
Zaslal: 22. červen 2009, 08:30:00 Předmět: |
|
|
koso napsal: |
kód: |
int main()
{
int a;
cas(&a,0,0,0,0,0,0,0,0);
|
|
zde predavas nulove pointery a ve funkci cas() je neco takoveho nepripustne. |
|
Návrat nahoru |
|
 |
johnnash
Založen: 30. 07. 2007 Příspěvky: 80
|
Zaslal: 22. červen 2009, 09:15:00 Předmět: |
|
|
Opravdu doporucuji zacit s necim jednodussim, tazatel zde evidentne ma problemy i s podminkou. Ted ho sice dotlacite po 20 strankach ke spravnemu reseni, jemu to vsak k nicemu nebude. |
|
Návrat nahoru |
|
 |
|