Jak se vratit v programu na zacatek, nebo se odkazat na nekterou cast – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Jak se vratit v programu na zacatek, nebo se odkazat na nekterou cast – C / C++ – Fórum – Programujte.comJak se vratit v programu na zacatek, nebo se odkazat na nekterou cast – C / C++ – Fórum – Programujte.com

 

Hanz.S0
Návštěvník
5. 10. 2008   #1
-
0
-

Ahoj, mam takovej problem. Ucim se C ++ a mam script na login. Pokud spatne zadate login, hodi vam to nabidku na restart s tim, ze restart znamena znovuspusteni programu, nebo zacinani od zacatku (tzn. prvni otazka na zadani loginu).

Otazky:
1) Jak na to?
2) Jak se odkazovat na urcite casti, napriklad vrat se k otazce cislo 5.
3) Jak priradim moznost A/N (Ano / NE) misto 1/2 pokud pouzivam switch (muze byt i s potvrzovanim entru)
4) Jak udelat heslo na pismena a ne na cislice?

Kod:
#include <iostream>
using namespace std;
int main()
{
int login;
printf("Prejete se prihlasit? 1 = ano / 2 = ne\n");
scanf("%d", &login);
switch(login){
case 1:
cout << "========================================\n";
cout << "Vitejte v programu spolecnosti AGD-profi\n";
cout << "====================\n";
cout << "Prihlaste se:\n\n";
int id;
cout << "ID: ";
cin >> id;
cin.get();
int pass;
cout << "PASSWORD: ";
cin >> pass;
cin.get();
if (pass == 1409 && id == 1409)
cout << "Probiha nacitani systemu.......";
else
cout << "Vyplnte spravne udaje!\n";
break;
case 2:
printf("=========================\n");
break;
}

int restart;
printf("\nPrejete si restartovat program? 1 = ano / 2 = ne\n");
scanf("%d", &restart);

switch(restart){
case 1:
cout << "--- RESTARTUJI PROGRAM ---\n";
break;

case 2:
cin.get();
break;
}
cin.get();
return 0;
}


PROSIM O POMOC. DEKUJI ZA KAZDY PRISPEVEK!

Nahlásit jako SPAM
IP: 85.71.205.–
Programuju, protoze me to bavi. Beru to vazne a chci se to naucit. Proto kazdy vas prispevek mi je pomocnym.
crAzY^
~ Moderátor
+10
Grafoman
5. 10. 2008   #2
-
0
-

To Hanz.S :

MENU: ... kód ...
a pak se vrátíš
goto MENU;

Nahlásit jako SPAM
IP: 89.190.64.–
All you need is vision and time.
pawlik0
Grafoman
5. 10. 2008   #3
-
0
-
Nahlásit jako SPAM
IP: 84.42.151.–
Sa Nata A Na. Howgh
KIIV
~ Moderátor
+43
God of flame
5. 10. 2008   #4
-
0
-

proboha ucit hned goto... az bude mit vetsi kod a bude se ho snazit po nejakym case projit tak se v tom utopi...

najdi si neco o cyklech! v tomto pripade nejspis do { } while ( ... );

Nahlásit jako SPAM
IP: 80.250.27.–
Program vždy dělá to co naprogramujete, ne to co chcete...
czbero0
Stálý člen
5. 10. 2008   #5
-
0
-

Taky by si měl přečíst něco o funkcích.... :smile9:

Nahlásit jako SPAM
IP: 62.240.178.–
http://moddb.com/mods/police-brutality/
KIIV
~ Moderátor
+43
God of flame
5. 10. 2008   #6
-
0
-

To czbero : hlavne uplne zeru ten nadpis "Vitejte v programu spolecnosti AGD-profi"

Nahlásit jako SPAM
IP: 80.250.27.–
Program vždy dělá to co naprogramujete, ne to co chcete...
pawlik0
Grafoman
5. 10. 2008   #7
-
0
-
Nahlásit jako SPAM
IP: 84.42.151.–
Sa Nata A Na. Howgh
Chrasty
~ Redaktor
+4
Posthunter
5. 10. 2008   #8
-
0
-

To budou mít z konzolové aplikace radost :-)

Nahlásit jako SPAM
IP: 193.179.196.–
pawlik0
Grafoman
5. 10. 2008   #9
-
0
-

To Chrasty : proc ne? nekteri lide strasne radi zadavaj hesla.....

Nahlásit jako SPAM
IP: 84.42.151.–
Sa Nata A Na. Howgh
Hanz.S0
Návštěvník
5. 10. 2008   #10
-
0
-

KIIV napsal:
To czbero : hlavne uplne zeru ten nadpis "Vitejte v programu spolecnosti AGD-profi"



improvizace? klam? vymysl?

miluju hesla ajejich dobyvani

btW: ja jsem si precetl funkce i cykly! Jenze je tam napsany pouze obecny info a neni tam to co potrebuju ja:) Asi to vyresim knizkou. Ja totiz nevim, zda-li mohu kombinovat while, if, else if a for v sobe napr while (neco obsahuje) a ve prostred while bude if a v if bude for.

Nahlásit jako SPAM
IP: 85.71.205.–
Programuju, protoze me to bavi. Beru to vazne a chci se to naucit. Proto kazdy vas prispevek mi je pomocnym.
czbero0
Stálý člen
5. 10. 2008   #11
-
0
-

No vzhledem k tomu, že funkce, podmínka i cyklus mohou obsahovat blok jakýchkoliv příkazu, je možné je libovolně kombinovat, vnořovat apod.
A kniha není špatný nápad, doporučuji "Mistrovství v C++ (3. vyd.)" od CPressu.

Nahlásit jako SPAM
IP: 62.240.178.–
http://moddb.com/mods/police-brutality/
czbero0
Stálý člen
5. 10. 2008   #12
-
0
-

To KIIV : No myslím, že podobné aplikace zkusili naprogramovat snad všichni začínající programátoři (z těchto příkladů přímo srší skromnost :smile5: ), já sám jsem se na něčem podobném hodně naučil.

Nahlásit jako SPAM
IP: 62.240.178.–
http://moddb.com/mods/police-brutality/
Hanz.S0
Návštěvník
5. 10. 2008   #13
-
0
-

czbero napsal:
To KIIV : No myslím, že podobné aplikace zkusili naprogramovat snad všichni začínající programátoři, já sám jsem se na něčem podobném hodně naučil.



:) ja se chci naucit programovani, pac me to fascinuje. Male cerne okenko, ktere dela to, co jste mu prikazali. Fascinujici, tedy pro ty, co se to uci. Ovsem ty, kteri uz to ovladaji velmi dobre nefascinuje nejaka malinka tecka v cele pestre palete kodu C++.

#include <iostream>
using namespace std;
int main()
{
MENU:
int login;
printf("Prejete se prihlasit? 1 = ano / 2 = ne\n");
scanf("%d", &login);
switch(login){
case 1:
cout << "========================================\n";
cout << "Vitejte v programu spolecnosti AGD-profi\n";
cout << "====================\n";
cout << "Prihlaste se:\n\n";
int id;
cout << "ID: ";
cin >> id;
cin.get();
int pass;
cout << "PASSWORD: ";
cin >> pass;
cin.get();
if (pass == 1409 && id == 1409)
cout << "Probiha nacitani systemu.......";
else
cout << "Vyplnte spravne udaje!\n";
break;
case 2:
printf("=========================\n");
break;
}

int restart;
printf("\nPrejete si restartovat program? 1 = ano / 2 = ne\n");
scanf("%d", &restart);

switch(restart){
case 1:
cout << "--- RESTARTUJI PROGRAM ---\n\n";
goto MENU;
break;

case 2:
cin.get();
break;
}
cin.get();

LOGIN:
int jm_zam;
cout << "Jmeno zamestance: ";
cin >> jm_zam;
cin.get();
return 0;
}

Jinak bych prosil jeste pomoc. Vyresil jsem tedy to, ze pri restartu se dostanu na zacatek pres goto MENU. Jenze ted bych chtel, aby pri spravnem loginu (ktery je v IF = pokud zadas spravne ID a heslo, dostanes se dal) se dostal do goto LOGIN, kde by se odehravala dalsi cast pridavani zamestnancu, nebo veci (pro inventuru). Jenze kdyz napisu cokoliv, co je tucne (int, char, while, goto...) mezi if a else, tak mi to hodi chybu v else. Jak se tedy prehodim do jine casti scriptu, pokud je to v IF? Nebo bych mel zmenit funkci if na for, ci while? Tim moc nerozumim :(

Nahlásit jako SPAM
IP: 85.71.205.–
Programuju, protoze me to bavi. Beru to vazne a chci se to naucit. Proto kazdy vas prispevek mi je pomocnym.
Hanz.S0
Návštěvník
5. 10. 2008   #14
-
0
-

Jeste bych potreboval pomoc s prekladem (vysvetlenim) nekolika pojmu (jinak nevite o nejake strance, kde je obsah vsech prikazu, ze kterych bych mohl cerpat nebo to najdu v knizce)?

printf - ?
scanf("%d", &login); - ?!!!
switch(restart){ - ,_??!!!

diky

Nahlásit jako SPAM
IP: 85.71.205.–
Programuju, protoze me to bavi. Beru to vazne a chci se to naucit. Proto kazdy vas prispevek mi je pomocnym.
czbero0
Stálý člen
5. 10. 2008   #15
-
0
-

printf() vytiskne řetězec, scanf() uloží vstup z klávesnice do proměnné, switch - k tomu stačí český překlad tohoto slova

Nahlásit jako SPAM
IP: 62.240.178.–
http://moddb.com/mods/police-brutality/
Hanz.S0
Návštěvník
5. 10. 2008   #16
-
0
-

#include <iostream>
using namespace std;
int main()
{
int login;
cout << "========================================\n";
cout << "Vitejte v programu spolecnosti AGD-profi\n";
cout << "====================\n";
MENU:
cout << "Prihlaste se:\n\n";
int id;
cout << "ID: ";
cin >> id;
cin.get();
int pass;
cout << "PASSWORD: ";
cin >> pass;
cin.get();
if (pass == 1409 && id == 1409)
cout << "Probiha nacitani systemu.......";
else
cout << "\nVyplnte spravne udaje!\n";
goto MENU;

LOGIN:
int jm_zam;
cout << "Jmeno zamestance: ";
cin >> jm_zam;
cin.get();
return 0;
}

Ne, ze bych tu chtel spamovat, ale vyrazne jsem zkratil script. Proste kdyz zadam spatne udaje, prihlasuju se znova. Ted bez zbytecneho restartu. Porad ale nevim, jak prejdu u if -> login aniz by se me to pletlo s else
!

Nahlásit jako SPAM
IP: 85.71.205.–
Programuju, protoze me to bavi. Beru to vazne a chci se to naucit. Proto kazdy vas prispevek mi je pomocnym.
Bald3rr0
Super člen
5. 10. 2008   #17
-
0
-
Nahlásit jako SPAM
IP: 82.100.0.–
Earl Cash0
Věrný člen
5. 10. 2008   #18
-
0
-

OT:

Ne, ze bych tu chtel spamovat, ale vyrazne jsem zkratil script.

ted se nekdo na tobe vyradi :))

Nahlásit jako SPAM
IP: 193.85.184.–
Oh my goodness, shut me down! Machines making machines. How perverse. (C-3PO)
yaqwsx+9
Posthunter
5. 10. 2008   #19
-
0
-

To Earl Cash : Tak to zkusím poprvé v životě já
To Hanz.S : To není script! Je to zdrojový kód. Script je pouze interpretovaný kód, tzn. nekompiluje se.

Nahlásit jako SPAM
IP: 85.160.81.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Hanz.S0
Návštěvník
5. 10. 2008   #20
-
0
-

#include <iostream>
using namespace std;
int main()
{
cout << "========================================\n";
cout << "Vitejte v programu spolecnosti AGD-profi\n";
cout << "====================\n";
MENU:
cout << "Prihlaste se:\n\n";
int id;
cout << "ID: ";
cin >> id;
cin.get();
int pass;
cout << "PASSWORD: ";
cin >> pass;
cin.get();

while (pass != 1409)

{
cout << "Vyplnte spravne udaje!\n\n";
goto MENU;
}

while (id != 1409)

{
cout << "Vyplnte spravne udaje!\n\n";
goto MENU;
}

while (pass == 1409 && id == 1409)

{
cout << "Prihlasili jste se, nacitam data!\n\n";
goto LOGIN;
}

LOGIN:
int jm_zam;
cout << "Jmeno zamestance: ";
cin >> jm_zam;
cin.get();
return 0;
}


Juchuchu !!!! Vyreseno, hodilo se procitani prispevku na foru, coz delam celou dobu a mensi ctenicko ve while. Diky moc za prispevky a pomoc

Nahlásit jako SPAM
IP: 85.71.205.–
Programuju, protoze me to bavi. Beru to vazne a chci se to naucit. Proto kazdy vas prispevek mi je pomocnym.
Hanz.S0
Návštěvník
5. 10. 2008   #21
-
0
-

Nooo a existuje nejakej hodnej programator, kterej by mi poskytl ICQ a obcas poradil ?:)

Nahlásit jako SPAM
IP: 85.71.205.–
Programuju, protoze me to bavi. Beru to vazne a chci se to naucit. Proto kazdy vas prispevek mi je pomocnym.
Chrasty
~ Redaktor
+4
Posthunter
5. 10. 2008   #22
-
0
-

Jestli se někdo najde, budeš mít štěstí. Málokoho baví odpovídat na neustálé rady, anebo ještě líp rovnou za tazatele psát kód :-)

Máš s něčím problém? Napiš ho na fórum. Nejlepší a nejmíň bolestivé řešení pro všechny :)

Nahlásit jako SPAM
IP: 193.179.196.–
survik1
~ Moderátor
0
Posthunter
5. 10. 2008   #23
-
0
-

To Hanz.S : http://programujte.com

Nahlásit jako SPAM
IP: 89.102.156.–
Život je jen hra, která se nedá vyhrát.
czbero0
Stálý člen
5. 10. 2008   #24
-
0
-

To Hanz.S : Proč nepoužiješ "&&" i u prvních cyklů while?

Nahlásit jako SPAM
IP: 62.240.178.–
http://moddb.com/mods/police-brutality/
Earl Cash0
Věrný člen
5. 10. 2008   #25
-
0
-

To czbero : ja bych byl spis dal prednost || pred &&...

Nahlásit jako SPAM
IP: 193.85.184.–
Oh my goodness, shut me down! Machines making machines. How perverse. (C-3PO)
Hanz.S0
Návštěvník
5. 10. 2008   #26
-
0
-

To jsem tam dal (&&), jenze me to pak pustilo dal, kdyz jsem vyplnil spravne alespon jeden udaj (bud ID, nebo pass). Ale diky moc Earl Cash, ktery to vyresil "nebo" ||.

Nahlásit jako SPAM
IP: 85.71.205.–
Programuju, protoze me to bavi. Beru to vazne a chci se to naucit. Proto kazdy vas prispevek mi je pomocnym.
Hanz.S0
Návštěvník
5. 10. 2008   #27
-
0
-

#include <iostream>
using namespace std;
int main()
{
cout << "------------------------------------------\n";
cout << "|Vitejte v programu spolecnosti AGD-profi|\n";
cout << "------------------------------------------\n";
MENU:
cout << "Prihlaste se:\n\n";
int id;
cout << "ID: ";
cin >> id;
cin.get();
int pass;
cout << "PASSWORD: ";
cin >> pass;
cin.get();

while (pass != 1409 || id != 1409)

{
cout << "Vyplnte spravne udaje!\n\n";
goto MENU;
}

while (pass == 1409 && id == 1409)

{
cout << "Prihlasili jste se, nacitam data!\n\n";
goto ZAMESTNANCI;
}

ZAMESTNANCI:
int zamestanec;
printf("Prejete se pridat zamestance? 1 = ano / 2 = ne\n");
scanf("%d", &zamestanec);
switch(zamestanec){
case 1:
char jmeno[20];
cout << "Jmeno: ";
cin >> jmeno;
cin.get();
int vek;
cout << "Vek: ";
cin >> vek;
cin.get();
char prace[250];
cout << "Napln prace: ";
cin >> prace;
cin.get();
//zadano
cout << "\nZadali jste udaje: ";
cout << "\n------------------";
cout << "\nJmeno zamestnance: " << jmeno;
cout << "\nJeho/jeji vek: " << vek;
cout << "\nNapln prace: " << prace;
break;
}
int status;
printf("\n\nPrejete si zobrazit zamestance? 1 = ano / 2 = ne\n");
scanf("%d", &status);
switch(status){
case 1:
cout << "\nZadali jste zamestance: ";
cout << "\n-----------------------";
break;
}
goto ZAMESTNANCI;
return 0;
}

Dalsi upravicky, ted mam dalsi problem. Proc bych sem asi jinak psal :D:D:D. Takze, pokud si pridam zamestnance s jmenem, vekem a naplni prace, nabidne mi program zobrazeni vsech pridanych zamestnancu (v tuto chvili 1). Pokud zvolim ze ne, nabidne mi program pridat dalsiho. Jak ale udelam zapis do databaze jednoho zamestnance, pokud chci, aby pridavani zamestnance bylo pro vice zamestnancu (multifunkcni) a ne jen pro prvniho. A co musim udelat pro to, aby se mi zobrazili na konci, muzu to udelat pres printf a case? Diky

Nahlásit jako SPAM
IP: 85.71.205.–
Programuju, protoze me to bavi. Beru to vazne a chci se to naucit. Proto kazdy vas prispevek mi je pomocnym.
Earl Cash0
Věrný člen
5. 10. 2008   #28
-
0
-

Jak ale udelam zapis do databaze jednoho zamestnance, pokud chci, aby pridavani zamestnance bylo pro vice zamestnancu (multifunkcni) a ne jen pro prvniho.

nastuduj si struktury a praci s polem...

btw pro zdrojovy kod pouzivej "kod" - lepe se to cte...

Nahlásit jako SPAM
IP: 193.85.184.–
Oh my goodness, shut me down! Machines making machines. How perverse. (C-3PO)
czbero0
Stálý člen
5. 10. 2008   #29
-
0
-

To Earl Cash : :smile5: nj, mas pravdu, moc jsem nad tim nepremyslel, proste me prastilo do oci zbytecne pouziti dvou cyklu.

Nahlásit jako SPAM
IP: 62.240.178.–
http://moddb.com/mods/police-brutality/
KIIV
~ Moderátor
+43
God of flame
5. 10. 2008   #30
-
0
-

kterej vul ho naucil ty goto? :D


btw v cyklech lze pouzivat obdoby ... continue a break

Nahlásit jako SPAM
IP: 80.250.27.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Grungy0
Super člen
5. 10. 2008   #31
-
0
-

To Hanz.S : No nie že by som ti do toho chcel kecať ale príkaz "goto" je riadna prasačina a nikto ti taký zdrojový kod nezhltne. Profesionáli si o tebe pomyslia svoje a žiaden zamestnávatel nezamestná nikoho kto to používa. Goto je prosto prežitok zo starých čias keď ešte cykli neexistovali, takže ak sa chceš niečo naozaj naučiť tak ti radím na goto rýchlo zabudnúť a stráviť tých pár minút radšej rozmýšľaním ako tam použiť niečo také ako goto.

Nahlásit jako SPAM
IP: 158.193.98.–
Prvý náznak hlúposti, je pocit geniality.
Hanz.S0
Návštěvník
6. 10. 2008   #32
-
0
-

Nevite nahodou, co stim, kdyz v programu Dev-C++ nemuzu udelat >> a << pres alt ? a alt : ?

Nahlásit jako SPAM
IP: 85.71.205.–
Programuju, protoze me to bavi. Beru to vazne a chci se to naucit. Proto kazdy vas prispevek mi je pomocnym.
czbero0
Stálý člen
6. 10. 2008   #33
-
0
-

nj, dev-cpp je na nic (me to tam taky nejde), zkus Visual C++ 2008 EE

Nahlásit jako SPAM
IP: 62.240.178.–
http://moddb.com/mods/police-brutality/
Phoenix0
Super člen
6. 10. 2008   #34
-
0
-

tj normální, musíš to přepsat v nastavení kláves sám - nástroje->nastavení klávesových zkratek a tak najdi pravý alt + , a pravý alt + . a odstranit je

Nahlásit jako SPAM
IP: 85.70.88.–
Hanz.S0
Návštěvník
6. 10. 2008   #35
-
0
-

pravy alt + tam nikde neni :)

Nahlásit jako SPAM
IP: 85.71.205.–
Programuju, protoze me to bavi. Beru to vazne a chci se to naucit. Proto kazdy vas prispevek mi je pomocnym.
Hanz.S0
Návštěvník
6. 10. 2008   #36
-
0
-

Ale najednou to jde a nic jsem neudelal :D Diky

Nahlásit jako SPAM
IP: 85.71.205.–
Programuju, protoze me to bavi. Beru to vazne a chci se to naucit. Proto kazdy vas prispevek mi je pomocnym.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 99 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý