Problem s jednim programikom Helpnete pls – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Problem s jednim programikom Helpnete pls – C / C++ – Fórum – Programujte.comProblem s jednim programikom Helpnete pls – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Dark
~ Anonymní uživatel
2 příspěvky
12. 6. 2007   #1
-
0
-



// KILL
#include <iostream>
#define _WIN32_WINNT 0x0500
#include <windows.h>
#include <Wincon.h>

using namespace std;

void AltEnter()
{
keybd_event(VK_MENU,
0x38,
0,
0);
keybd_event(VK_RETURN,
0x1c,
0,
0);
keybd_event(VK_RETURN,
0x1c,
KEYEVENTF_KEYUP,
0);
keybd_event(VK_MENU,
0x38,
KEYEVENTF_KEYUP,
0);

}

int main()
{
char aa = 160; //á
char aaa= 132; //ä
char cc = 159; //è
char ss = 231; //š
char yy = 236; //ý
char ee = 130; //é
char ii = 161; //í
char zz = 167; //ž
char uu = 163; //ú
char ll = 150; //¾
char lll= 229; //å
char tt = 156; //
char ooo= 224; //ó
char oo = 147; //ô
char nn = 229; //ò
char dd = 212; //ï
char SS = 230; //Š
char CC = 172; //È
char ZZ = 166; //Ž
char TT = 155; //
char u;
char vyberzbrane;
int c;
srand((unsigned) time(NULL));

AltEnter();

back:
cout << "Vyber si zbra" << nn << " :\n";
cout << "A:Vo vrecku m" << aa << ss << " boxera.\n"; // poskodenie max 45 %
cout << "B:Ako spr" << aa << "vny frajer ho zml" << aa << "ti" << ss << " pes" << tt << "ami.\n"; // poskodenie max 30%
cout << "C:Zobra" << tt << " si n" << oo << zz << endl; // poskodenie max 60%
cin >> vyberzbrane;
system("CLS");
cout << "\n\n\n\n\n\n\n FIGHT!!!" << endl;
cin.get();
cin.get();
switch (vyberzbrane)
{
default :
cout << "Zadal si zl" << ee << "p" << ii << "smenko\n\n";
goto back;
break;

case 'a':
case 'A':
cout << "Vytiahol si boxera\n\n";
for (int i=100,int i2=100;i1 >0,i2>0)
{
damage = rand() % 45;
damage2 = rand() % 45;
cout << "Nap" << ii << ss << " \"u\" ako utok\n\n\n" << endl;
cin >> u;

if (damage < 10)
{
cout << "Netrafil si ho" << endl;
if (damage2 < 10)
{ cout << "Ani on " << tt << "a netrafil\n";
i2--;
}
else
{
i2 = i2 - damage2;
cout << "Zobral ti " << c << " % " << zz << "ivota\n";
cout << "Ost" << aa << "va" << " ti " << i << " % " << zz << "ivota\n\n";
}
i--;
}
else
{
i = i - damage;
cout << "Zobral si mu " << c << " % " << zz << "ivota\n";
cout << "Ost" << aa << "va" << " mu " << i << " % " << zz << "ivota\n\n";
if (damage2 < 10)
{ cout << "On" << tt << "a netrafil\n";
i2--;
}
else
{
i2 = i2 - damage2;
cout << "Zobral ti " << c << " % " << zz << "ivota\n";
cout << "Ost" << aa << "va" << " ti " << i << " % " << zz << "ivota\n\n";
}
}
}

if (i == 0 and i2 != 0)
{
cout << "\nZabil si ho!!!";
}
else
{ cout << "Zomrel si (V" << ss << "ak vie" << ss << " je b" << yy << "val" << ii << " vojak";
}


break;

case 'b':
case 'B':
cout << "Ide" << ss << " na" << nn << "ho pes" << tt << "ami\n\n";
for (int i=100,int i2=100;i1>0,i2>0)
{
damage = rand() % 30;
damage2 = rand() % 45;
cout << "Nap" << ii << ss << " \"u\" ako utok\n\n\n" << endl;
cin >> u;

if (damage < 10)
{
cout << "Netrafil si ho" << endl;
if (damage2 < 10)
{ cout << "Ani on " << tt << "a netrafil\n";
i2--;
}
else
{
i2 = i2 - damage2;
cout << "Zobral ti " << c << " % " << zz << "ivota\n";
cout << "Ost" << aa << "va" << " ti " << i << " % " << zz << "ivota\n\n";
}
i--;
}
else
{
i = i - damage;
cout << "Zobral si mu " << c << " % " << zz << "ivota\n";
cout << "Ost" << aa << "va" << " mu " << i << " % " << zz << "ivota\n\n";
if (damage2 < 10)
{ cout << "On" << tt << "a netrafil\n";
i2--;
}
else
{
i2 = i2 - damage2;
cout << "Zobral ti " << c << " % " << zz << "ivota\n";
cout << "Ost" << aa << "va" << " ti " << i << " % " << zz << "ivota\n\n";
}
}
}

if (i == 0 and i2 != 0)
{
cout << "\nZabil si ho!!!";
}
else
{ cout << "Zomrel si (V" << ss << "ak vie" << ss << " je b" << yy << "val" << ii << " vojak";
}

break;
case 'c':
case 'C':
cout << "Vytiahol si n" << oo << zz << endl << endl;
for (int i=100,int i2=100;i1 >0,i2>0)
{
damage = rand() % 60;
damage2 = rand() % 45;
cout << "Nap" << ii << ss << " \"u\" ako utok\n\n\n" << endl;
cin >> u;

if (damage < 10)
{
cout << "Netrafil si ho" << endl;
if (damage2 < 10)
{ cout << "Ani on " << tt << "a netrafil\n";
i2--;
}
else
{
i2 = i2 - damage2;
cout << "Zobral ti " << c << " % " << zz << "ivota\n";
cout << "Ost" << aa << "va" << " ti " << i << " % " << zz << "ivota\n\n";
}
i--;
}
else
{
i = i - damage;
cout << "Zobral si mu " << c << " % " << zz << "ivota\n";
cout << "Ost" << aa << "va" << " mu " << i << " % " << zz << "ivota\n\n";
if (damage2 < 10)
{ cout << "On" << tt << "a netrafil\n";
i2--;
}
else
{
i2 = i2 - damage2;
cout << "Zobral ti " << c << " % " << zz << "ivota\n";
cout << "Ost" << aa << "va" << " ti " << i << " % " << zz << "ivota\n\n";
}
}
}

if (i == 0 and i2 != 0)
{
cout << "\nZabil si ho!!!";
}
else
{ cout << "Zomrel si (V" << ss << "ak vie" << ss << " je b" << yy << "val" << ii << " vojak";
}

}


cin.get();
cin.get();
end:
return 0;
}



KDE MAM CHYBU???

Nahlásit jako SPAM
IP: ...–
Reklama
Reklama
Jura
~ Anonymní uživatel
634 příspěvků
12. 6. 2007   #2
-
0
-

To Dark:
Až si zase jednou usmyslíš tvořit něco v C++, tak si o něm raději něco přečti. Zejména se zaměř na cyklus for a na logické operátory(and se v C / C++ skutečně nepoužívá). A pár rad na závěr - vyhni se používání goto. Když použiješ tu věc na krku, tak to vyřešíš hravě pomocí cyklů a funkcí.



// KILL
#include <iostream>
#define _WIN32_WINNT 0x0500
#include <windows.h>
#include <wincon.h>

using namespace std;

void AltEnter()
{
keybd_event(VK_MENU,
0x38,
0,
0);
keybd_event(VK_RETURN,
0x1c,
0,
0);
keybd_event(VK_RETURN,
0x1c,
KEYEVENTF_KEYUP,
0);
keybd_event(VK_MENU,
0x38,
KEYEVENTF_KEYUP,
0);

}

int main()
{
char aa = 160; //á
char aaa= 132; //ä
char cc = 159; //è
char ss = 231; //š
char yy = 236; //ý
char ee = 130; //é
char ii = 161; //í
char zz = 167; //ž
char uu = 163; //ú
char ll = 150; //¾
char lll= 229; //å
char tt = 156; //
char ooo= 224; //ó
char oo = 147; //ô
char nn = 229; //ò
char dd = 212; //ï
char SS = 230; //Š
char CC = 172; //È
char ZZ = 166; //Ž
char TT = 155; //
char u;
char vyberzbrane;
int c, damage, damage2, i, i2;
srand((unsigned) time(NULL));

//AltEnter();

back:
cout << "Vyber si zbra" << nn << " :\n";
cout << "A:Vo vrecku m" << aa << ss << " boxera.\n"; // poskodenie max 45 %
cout << "B:Ako spr" << aa << "vny frajer ho zml" << aa << "ti" << ss << " pes" << tt << "ami.\n"; // poskodenie max 30%
cout << "C:Zobra" << tt << " si n" << oo << zz << endl; // poskodenie max 60%
cin >> vyberzbrane;
system("CLS");
cout << "\n\n\n\n\n\n\n FIGHT!!!" << endl;
cin.get();
cin.get();
switch (vyberzbrane)
{
default :
cout << "Zadal si zl" << ee << "p" << ii << "smenko\n\n";
goto back;
break;

case 'a':
case 'A':
cout << "Vytiahol si boxera\n\n";
for ( i = 100, i2=100;i > 0 && i2>0;)
{
damage = rand() % 45;
damage2 = rand() % 45;
cout << "Nap" << ii << ss << " \"u\" ako utok\n\n\n" << endl;
cin >> u;

if (damage < 10)
{
cout << "Netrafil si ho" << endl;
if (damage2 < 10)
{ cout << "Ani on " << tt << "a netrafil\n";
i2--;
}
else
{
i2 = i2 - damage2;
cout << "Zobral ti " << c << " % " << zz << "ivota\n";
cout << "Ost" << aa << "va" << " ti " << i << " % " << zz << "ivota\n\n";
}
i--;
}
else
{
i = i - damage;
cout << "Zobral si mu " << c << " % " << zz << "ivota\n";
cout << "Ost" << aa << "va" << " mu " << i << " % " << zz << "ivota\n\n";
if (damage2 < 10)
{ cout << "On" << tt << "a netrafil\n";
i2--;
}
else
{
i2 = i2 - damage2;
cout << "Zobral ti " << c << " % " << zz << "ivota\n";
cout << "Ost" << aa << "va" << " ti " << i << " % " << zz << "ivota\n\n";
}
}
}

if (i == 0 && i2 != 0)
{
cout << "\nZabil si ho!!!";
}
else
{ cout << "Zomrel si (V" << ss << "ak vie" << ss << " je b" << yy << "val" << ii << " vojak";
}


break;

case 'b':
case 'B':
cout << "Ide" << ss << " na" << nn << "ho pes" << tt << "ami\n\n";
for (i=100, i2=100;i>0 && i2>0; )
{
damage = rand() % 30;
damage2 = rand() % 45;
cout << "Nap" << ii << ss << " \"u\" ako utok\n\n\n" << endl;
cin >> u;

if (damage < 10)
{
cout << "Netrafil si ho" << endl;
if (damage2 < 10)
{ cout << "Ani on " << tt << "a netrafil\n";
i2--;
}
else
{
i2 = i2 - damage2;
cout << "Zobral ti " << c << " % " << zz << "ivota\n";
cout << "Ost" << aa << "va" << " ti " << i << " % " << zz << "ivota\n\n";
}
i--;
}
else
{
i = i - damage;
cout << "Zobral si mu " << c << " % " << zz << "ivota\n";
cout << "Ost" << aa << "va" << " mu " << i << " % " << zz << "ivota\n\n";
if (damage2 < 10)
{ cout << "On" << tt << "a netrafil\n";
i2--;
}
else
{
i2 = i2 - damage2;
cout << "Zobral ti " << c << " % " << zz << "ivota\n";
cout << "Ost" << aa << "va" << " ti " << i << " % " << zz << "ivota\n\n";
}
}
}

if (i == 0 && i2 != 0)
{
cout << "\nZabil si ho!!!";
}
else
{ cout << "Zomrel si (V" << ss << "ak vie" << ss << " je b" << yy << "val" << ii << " vojak";
}

break;
case 'c':
case 'C':
cout << "Vytiahol si n" << oo << zz << endl << endl;
for (i=100, i2=100;i >0 && i2>0; )
{
damage = rand() % 60;
damage2 = rand() % 45;
cout << "Nap" << ii << ss << " \"u\" ako utok\n\n\n" << endl;
cin >> u;

if (damage < 10)
{
cout << "Netrafil si ho" << endl;
if (damage2 < 10)
{ cout << "Ani on " << tt << "a netrafil\n";
i2--;
}
else
{
i2 = i2 - damage2;
cout << "Zobral ti " << c << " % " << zz << "ivota\n";
cout << "Ost" << aa << "va" << " ti " << i << " % " << zz << "ivota\n\n";
}
i--;
}
else
{
i = i - damage;
cout << "Zobral si mu " << c << " % " << zz << "ivota\n";
cout << "Ost" << aa << "va" << " mu " << i << " % " << zz << "ivota\n\n";
if (damage2 < 10)
{ cout << "On" << tt << "a netrafil\n";
i2--;
}
else
{
i2 = i2 - damage2;
cout << "Zobral ti " << c << " % " << zz << "ivota\n";
cout << "Ost" << aa << "va" << " ti " << i << " % " << zz << "ivota\n\n";
}
}
}

if (i == 0 && i2 != 0)
{
cout << "\nZabil si ho!!!";
}
else
{ cout << "Zomrel si (V" << ss << "ak vie" << ss << " je b" << yy << "val" << ii << " vojak";
}

}


cin.get();
cin.get();
end:
return 0;
}

Nahlásit jako SPAM
IP: ...–
svick0
Newbie
13. 6. 2007   #3
-
0
-

Jura sice opravil kód tak, že už jde zkompilovat, ale program vypisuje nesmyslné hodnoty. Třeba kolik kdo komu ubral je zobrazena vždy proměnná c, do které není nikdy přiřazena žádná hodnota. Taky poslední if, který určuje vítěze je napsaný špatně. Když má nepřítel méně než 0%, píše, že jsi prohrál. A v kódu se několikrát vyskytuje i--, které tam IMHO vůbec nedává smysl. A to se nezmiňuju o tom, že je zbytečné, mít stejný kód 3x.

Nahlásit jako SPAM
IP: ...–
Korespondenční seminář z programování pro středoškoláky - http://ksp.mff.cuni.cz
Miroslav Kajan0
Věrný člen
13. 6. 2007   #4
-
0
-

Tenhle kód je šíleně nestabilní, vylepšovat ho, či přidávat do něj nějaké fce je cesta na smrt, protože už tak se v něm nikdo nevyzná.

Nahlásit jako SPAM
IP: ...–
Zápisky z dění na FB (momentálně ve vývoji): http://fbpd.ic.cz/
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, 242 hostů

Podobná vlákna

Helpnete s úkolem — založil Piskar10110010

Moderátoři diskuze

 

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