Avatar
MadaraLerain
Člen
Avatar
MadaraLerain:
#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:

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

Nahoru Odpovědět 31.3.2014 21:48
web lreainu http://lerainsoft.eu/
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na MadaraLerain
Jiří Gracík:

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  +1 31.3.2014 22:59
Creating websites is awesome till you see the result in another browser ...
Avatar
xxxvodnikxxx
Člen
Avatar
xxxvodnikxxx:

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:

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.