Stránka 2 z 2
Napsal: stř 13. pro 2006, 20:24
od Coburn
Moc diky

a jak je to s tema odkazama? napr kdyz mam v HTML <A href="www.google.com">xxx</A>, tak jak nejaky skupine pridelim název (v tomto pripade jak bych mel zapsat, ze se zrovna tahle konkretni skupina jmenuje "
www.google.com")? Diky
EDIT: jak bys zapsal treba ze kdyz "a" je jedna, udela se clearscreen a ukaze se obrazek, kdyz se "a" rovna dvema, aby se aplikace na chvili ukoncila a kdyz je "a" rovno trema aby zobrazila treba skupinu "2", ktera by byla napr kalkulacka atd... -
int main {
-jak sem zapisu skupinu, na kterou budu chtit odkazovat-
if (a==1) goto -co ted mam napsat jako odkaz na skupinu s clr scr a obrazkem-
else if (a==2) -nakej ten cyklus s while-
else if (a==3) - odkaz na kalkulacku-
}
pak jeste jak napisu aby se zobrazoval obrazek a clr scr() mi z nakyho neznamyho duvodu nefunguje a nechce se ani nechat prelozit
jeste jednou diky
Napsal: pát 15. pro 2006, 15:28
od €agle
Nejak nerozumim co chces. goto nepracuje s zadnymi skupinami, je to pouze skok na nejake predem urcene misto v kodu. Pokud chces vytvaret nejake "skupiny", muzes si vytvorit vlastni funkci, ktera bude obsahovat vse potrebne pro vykonani daneho ukolu. Na prikladu treba
Kód: Vybrat vše
void Vypis()
{
cout << "Bla bla bla" << endl;
cout << "a" << endl;
cout << "blaaa" << endl;
}
int main()
{
... //dosad si jakykoliv kod
if(a == 1) Vypis(); //pokud a bude 1 zavolej funkci Vypis()
...
}
Zavolanim funkce Vypis() se provede vse co je v ni, takze vystup v konzoli (pokud a=1) by byl
Jestli se mi to povedlo pochopit, tak tohle je to, co ocekavas od svych "skupin"
Napsal: stř 20. pro 2006, 21:38
od Coburn
THX, ty skupiny jsem teda pochopil, ale nechapu jak tam mam tomu prekladaci vysvetlit, jaka hodnota je true a jaka false.
napr.
void x1()
{
cout << "x1" << endl;
}
void x2()
{
cout << "x2" << endl;
}
int main {
cout << "do jaky skupiny chces skocit?" << endl;
cin >> XXXXXXXXX - co sem mam napsat? - XXXXXXXXXX;
a = x1;
b = x2;
if (a == 1) x1()
else if (b == 1) x2();
else main();
}
*/ jak by mela byt spravne zapsana "skupina" main, kdyz chci, aby kdyz napisu do "cinu" x1, mela by byt vyvolana funkce x1, kdyz napisu x2, mela by se vyvolat funkce x2 a kdyz ne, mel by se program vratit do funkce main()
Napsal: čtv 21. pro 2006, 22:34
od Coburn
S timhle jsem si jistej, ze je to blbost, ale chtel bych tomu prekladaci vysvetlit, ze kdyz napisu "x1" vykona funkci "x1()" a u "x2" to samy.
cin >> XXXXXXXXX - co sem mam napsat? - XXXXXXXXXX;
a = x1;
b = x2;
Napsal: pát 22. pro 2006, 19:30
od €agle
Ja bych ti spis doporucil precist nejakou knihu, nebo alespon online tutorial, protoze tohle jsou uplne zaklady. Tak jak si to predstavujes to zapsat nejde, je to slozitejsi, v tomto pripade treba
Kód: Vybrat vše
char Text[10]; //retezec deseti znaku
cin >> Text; //nacteni ze vstupu do promenne Text
if(!strcmp(Text, "x1")) x1(); //kdyz Text je "x1" zavolej x1()
else if(!strcmp(Text, "x2")) x2(); //kdyz Text je "x2" zavolej x2()
Jak vidis musis pouzit dodatecnou funkci strcmp(), ktera porovnava dva texty a jsou-li stejne vraci 0 (vic se toho snadno dozvis v dokumentaci). V podmince je to pak zkracene zapsano jako if(!strcmp()), coz znamena to same jako if(strcmp() == 0). V tomhle jednoduchem pripade jeste chybi omezeni delky zadavaneho textu, takze pokud zadas text delsi nez 10 znaku koledujes si o maler
Napsal: pon 25. pro 2006, 11:57
od Coburn
Hodne jsi mi pomohl, moc dekuju. Mas pravdu, prectu si nejakej online tutorial. Mel bych uplne posledni dotaz. Chtel bych mit v tom programu moznost "se pohybovat" (tim myslim ze kdyz vyvolal funkci treba x1(), tak bych mohl zadat jenom funkce x2() a x3() a x1 by nefungovala. Při vyvolání x2() by byl mozny jenom přestup do x1() a x3() atd. Nenasel jsem ale zpusob, jak bych tohlecto dostal do funkce jiny nez main(). "Ten stejnej "cin"(nevim jak to nazvat - ta řádka umožňující přestup mezi skupinami)" by se urcite nak dal dat nakonec aby se po vykonani kazde funkce zobrazila ta "vkladaci" radka, ktera by opet umoznovala vstup do vsech tri skupin - tipnul bych si pomoci while. Jestli to spravne chapu, tak se cely dej odehrava ve skupine main a ty ostatni se jenom vypisujou, je to tak?
void x1()
{
cout << "jses ve skupine cislo 1" << endl;
char Text[10];
cin >> Text;
if(!strcmp(Text, "x2")) x2();
else if(!strcmp(Text, "x3")) return(0);
}
void x2()
{
cout << "jses ve skupine cislo 2" << endl;
char Text[10];
cin >> Text;
if(!strcmp(Text, "x1")) x1();
else if(!strcmp(Text, "x3")) return(0);
}
int main() {
cout << "do jaky skupiny chces skocit?" << endl;
char Text[10];
cin >> Text;
if(!strcmp(Text, "x1")) x1();
else if(!strcmp(Text, "x2")) x2();
else if(!strcmp(Text, "x3")) return(0);
system("PAUSE");
return(0);
}
Napsal: pon 25. pro 2006, 21:26
od €agle
main() je vstupni funkce, kterou po spusteni vola operacni system. Cokoli je uvnitr ni program provede. Tvuj modelovy priklad by se dal udelat jednoduse pomoci dodatecne promenne, ktera by ukazovala, kde se prave nachazis.
Kód: Vybrat vše
int MinulaVolba = 0;
void x1()
{
cout << "Volana 1. funkce" << endl;
MinulaVolba = 1;
}
void x2()
{
cout << "Volana 2. funkce" << endl;
MinulaVolba = 2;
}
int main()
{
char Text[10];
bool Konec = false;
while(!Konec)
{
cin >> Text;
if(!strcmp(Text, "x1") && MinulaVolba != 1) x1(); //pokud zadas "x1" a minula volba nebyla 1 (tzn "x1") zavolej funkci x1()
else if(!strcmp(Text, "x2") && MinulaVolba != 2) x2(); //obdobne
else if(!strcmp(Text, "x3")) Konec = true; //kdyz zadas "x3" ukonci se smycka a program konci
else cout << "Spatna volba" << endl;
}
system("PAUSE");
return 0;
}
A prestan pouzivat ten termin skupiny, jednou jsou to funkce, tak jsou to funkce
Napsal: stř 27. pro 2006, 15:57
od Coburn
Jeste jeden detail.
da se neco udelat, aby se po vstupu textu neskocilo na dalsi radek?
dam priklad ze svyho zdrojaku
____________________________________
char Text[50];
cin >> Text;
if(!strcmp(Text, "Tirana") && s == "Albanie?") {col(160); cout << " spravne" << endl; col(112); score++;}
____________________________________
vystup vypada takhle
____________________________________
Jaky je hlavni mesto Albanie? Tirana
spravne
Jaky je hlavni mesto Andorry? Andorra_la_Vella
spravne
____________________________________
jak by se to dalo udelat (bez clearscreenu), aby se po zadani textu automaticky neodradkovalo, nebo aby se smazal posledni znak-enter?
____________________________________
Jaky je hlavni mesto Albanie? Tirana - spravne
Jaky je hlavni mesto Andorry? xxx - spatne
Napsal: stř 3. led 2007, 18:36
od Coburn
Nikdo?