IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Je to prasečina?

Aktivity
Avatar
MadaraLerain
Člen
Avatar
MadaraLerain:31.3.2014 21:47
#include <iostream>


using namespace std;


int main()
{
int b = 100;
int money = 5000000;
int audi = 0;
int bmw = 0;
int subaru = 0;
while(b == 100)

{
cout << string( 100, '\n' );
cout << "Welcome to car buying!" << endl;
cout << "You have " << endl;
cout << "Audi's: " << audi << endl;
cout << "BMW's:  " << bmw << endl;
cout << "Subaru's: " << subaru << endl;
cout << "Which type do you want?" << endl;
cout << "Type END to leave the game! " << endl;
cout << "Money: " << money << endl;
cout << "(S)ubaru - (B)MW - (A)udi?";
string a;
cin >> a;

if (a == "S")
{
    cout << "how much?";
    int x;
    cin >> x;
    money -= 25459 * x;
    cout << "You bought subaru! Your current money is: " << money << endl;
    subaru +=1 * x;
}

else if (a == "B")
{
    cout << "how much?";
    int x;
    cin >> x;
    money -= 31596 * x;
    cout << "You bought BMW! Your current money is: " << money << endl;
    bmw+=1 * x;
}

else if (a == "A")
{
    cout << "how much?";
    int x;
    cin >> x;
    money -= 36498 * x;
    cout << "You bought Audi! Your current money is: " << money << endl;
    audi+=1 * x;
}
else if (a == "END")
{

  cout << "Thank's for playing!" << endl;
  b--;
  cin.get();

}

if (money <= 0)
    {
    b--;
    cout << "No money!" << endl;
    money = 0;
    cin.get();
    }
}









}

k OOP jsem se ještě nedostal. je to c++ ;)
Kdo zná, pochopí lehce.

Odpovědět
31.3.2014 21:47
web lreainu http://lerainsoft.eu/
Avatar
MadaraLerain
Člen
Avatar
MadaraLerain:31.3.2014 21:48

Ty IF: V c++ nejde switch na stringy ;)

Nahoru Odpovědět
31.3.2014 21:48
web lreainu http://lerainsoft.eu/
Avatar
Odpovídá na MadaraLerain
Neaktivní uživatel:31.3.2014 22:59

určitě by to šlo alespoň přes funkci na nákup toho auta, vstupní parametr cena a jméno auta, hodně by to zpřehlednilo ;)

Nahoru Odpovědět
31.3.2014 22:59
Neaktivní uživatelský účet
Avatar
xxxvodnikxxx
Člen
Avatar
xxxvodnikxxx:31.3.2014 23:23

v c++ sice nejde switch na string, ale když máš string, tak k prvnímu písmenu se můžeš dostat přes operátor [] takže tam můžeš pak udělat..

swtich(a[0]) {
// ...
}

jsem ti to trochu upravil :)

http://pastebin.com/tCYmP9Yc

Největší prasečina je tohle
int b = 100;
while(b == 100){...}

:D
(já jsem udělal celkem prasečinu s tim překlopení case ve switchi, asi by mě za to nepochválili, ale v tomhle případě je to využitelný)

mrkni na ten pastebin, pochopíš, jinak se ozvi ..

Do budoucna

  • na zakoupení auta by bylo lepší udělat vlastní funkce / metody
  • pro přehlednost a použitelnost např ceny aut mít v proměnných, který pak používat
  • trochu formátování (odszaní ;) )
  • než používat using namespace std je lepší rozepsat jednotlivý třídy, pokud jich neni mraky

jinak jsem použil stringový metody compare a length, máš tam linky kdyžtak, a pak ještě toho, že se dá v cpp přistupovat ke stringu jako véčku k poli znaků

a podmínka na do-while ti asi přijde jako nesmyl, ale je to tak, DeMorgan tušim nebo tak něco :D

jo btw není tam ošetřený nakupování bez peněz, můžeš do mínusu, i koupit zápornej počet :D

Editováno 31.3.2014 23:25
Nahoru Odpovědět
31.3.2014 23:23
Unix- svět, kde chcete být nulou :) (UID)
Avatar
xxxvodnikxxx
Člen
Avatar
xxxvodnikxxx:31.3.2014 23:28

Ps. a v tomhle případě jsou i zbytečný argumenty mainu (argc, argv) - to se používá pro parsování přepínačů při spouštění z cmd line

Nahoru Odpovědět
31.3.2014 23:28
Unix- svět, kde chcete být nulou :) (UID)
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.