• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pierwszy program Sklep - prośba o sprawdzenie

Object Storage Arubacloud
+1 głos
334 wizyt
pytanie zadane 21 kwietnia 2017 w C i C++ przez Kacper Walczak Bywalec (2,430 p.)

Witam , właśnie skończyłem pisanie mojego pierwszego programu ,opanowałem do tej pory pierwsze 6 odcinków kursu programowania,jak widać jest to mały symulator sklepu , byłbym bardzo wdzięczny gdyby ktoś sprawdził kod programu , wskazał mi błędy i podpowiedział jak je poprawić :)



#include <iostream>
#include <cstdlib>
#include <stdio.h>

using namespace std;
char decyzja;
int opcja;


int main()
{
    float suma = 0;
    float money;
    cout <<"Ile masz pieniedzy ?"<<endl ;
      if(!(cin >> money))
      {
        cerr << "To nie jest liczba ! ";
        exit(0);
      }
    for(;;)
    {
    if(decyzja != 'n' )
    {
    cout <<endl <<  "Witaj w Sklepie !" << endl;
     cout <<  "---------------------" << endl;
      cout <<  "1)Kup Banany 5.50 zl" << endl;
      cout <<  "2)Kup Maliny 2.20 zl" << endl;
      cout <<  "3)Kup Marchewki 7.99 zl" << endl;
      cout <<  "4)Kup Pomidory 4.00 zl" << endl;
      cout << "5)Pokaz rachunek do zaplaty ! "<<endl;
      cout <<  "6)Chce wyjsc , nic nie kupuje !" << endl;
      cout << "7)Chce zaplacic rachunek ."<<endl ;

      cout << "Co chcesz zrobic : " ;
      if(!(cin >> opcja))
      {
        cerr << "To nie jest liczba ! ";
        exit(0);
      }
switch (opcja)
{
case 1 :
    {
        cout << "Banany zostaly dodane do rachunku ! "<<endl ;
        suma += 5.50 ;
        if (money-suma<0)
            {
            cout << "Na zakupy zabraknie ci : "<<(money-suma)*(-1) << " zl "<<endl;
            }
            else
            {
                cout << "Po zakupach zostanie ci : "<<money-suma << " zl "<<endl;
            }
    }
    break ;
    case 2 :
    {
        cout << "Maliny zostaly dodane do rachunku ! " <<endl ;
        suma += 2.20 ;
        if (money-suma<0)
            {
            cout << "Na zakupy zabraknie ci : "<<(money-suma)*(-1) << " zl "<<endl;
            }
            else
            {
                cout << "Po zakupach zostanie ci : "<<money-suma << " zl "<<endl;
            }
    }
    break ;
    case 3 :
    {
        cout << "Marchewki zostaly dodane do rachunku ! " <<endl ;
        suma += 7.99 ;
        if (money-suma<0)
            {
            cout << "Na zakupy zabraknie ci : "<<(money-suma)*(-1) << " zl "<<endl;
            }
            else
            {
                cout << "Po zakupach zostanie ci : "<<money-suma << " zl "<<endl;
            }
    }
    break ;
    case 4 :
    {
        cout << "Pomidory zostaly dodane do rachunku ! " <<endl ;
        suma += 4 ;
        if (money-suma<0)
            {
            cout << "Na zakupy zabraknie ci : "<<(money-suma)*(-1) << " zl "<<endl;
            }
            else
            {
                cout << "Po zakupach zostanie ci : "<<money-suma << " zl "<<endl;
            }
    }
    break ;
    case 5 :
        {
            cout << "Twoj rachunek wynosi aktualnie : " << suma << " zl" <<endl;
            cout << "Masz przy sobie : "<< money <<" zl " <<endl ;
            if (money-suma<0)
            {
            cout << "Na zakupy zabraknie ci : "<<(money-suma)*(-1) << " zl "<<endl;
            }
            else
                cout << "Po zakupach zostanie ci : "<<money-suma << " zl "<<endl;
        }
        break ;
    case 6 :
        {
            exit(0);
        }
        break ;
    case 7 :
        {
            if (suma<=money)
    {
    cout << "*******RACHUNEK********"<<endl;
    cout <<endl ;
    cout << "    Zaplac " << suma << " zl ! "<<endl;
    cout <<endl ;
    cout << "***********************"<<endl;
    getchar();getchar();
    exit(0);
    }
    else
    {
        cout << "*******RACHUNEK********"<<endl;
    cout <<endl ;
    cout << "    Zaplac " << suma << " zl ! "<<endl;
    cout << "    Brakuje ci jeszcze : " << suma - money << "zl" <<endl;
    cout <<endl ;
    cout << "***********************"<<endl;
    getchar();getchar();
    exit(0);
    }
        }
default :
    {
        cout <<endl <<"Nie ma takiej opcji ! " ;
    }
    break ;

}
cout << "kontynuowac zakupy ?" << endl << "t/n  " <<endl;
cin >> decyzja ;
system("cls");
}
else
{
    if (suma<=money)
    {
    cout << "*******RACHUNEK********"<<endl;
    cout <<endl ;
    cout << "    Zaplac " << suma << " zl ! "<<endl;
    cout <<endl ;
    cout << "***********************"<<endl;
    getchar();getchar();
    exit(0);
    }
    else
    {
    cout << "*******RACHUNEK********"<<endl;
    cout <<endl ;
    cout << "    Zaplac " << suma << " zl ! "<<endl;
    cout << "    Brakuje ci jeszcze : " << suma - money << "zl" <<endl;
    cout <<endl ;
    cout << "***********************"<<endl;
    getchar();getchar();
    exit(0);
    }
}
    }
    return 0;
}

 

komentarz 23 kwietnia 2017 przez Gankkah Użytkownik (720 p.)
Jaka składnia?

1 odpowiedź

+3 głosów
odpowiedź 21 kwietnia 2017 przez Ehlert Ekspert (212,790 p.)
wybrane 24 czerwca 2017 przez Kacper Walczak
 
Najlepsza

No więc z takich na początek....

  1. Przerzuć się na język angielski w kodzie. Dla ludzi którzy trochę już piszą polski w kodzie działa jak płachta na byka.
  2. Unikaj zmiennych globalnych.
  3. Unikaj using namespace. Im więcej std tym szybciej zajrzysz co tam jeszcze jest dobrego.
  4. Tabulacja w niektórych miejscach mogłaby być lepsza.

A tak poza tym nie ma co oceniać cheeky mały programik więc leć dalej do obiektowości i po drodze naucz się gita. 

komentarz 22 kwietnia 2017 przez draghan VIP (106,230 p.)

[mokrowski:]

Ogólnie +1, ale:

Przypomnę jeszcze że using można użyć bardzo sensownie:

using std::vector;
(...)

Wyżej była mowa raczej o dyrektywie przestrzeni nazw (using directive), niż o deklaracji (using declaration). :) I w takim wypadku odradzanie ma jakiś tam sens. Jest oczywistym, że wszystko ma jakąś domenę zastosowań, nawet taka dyrektywa. :)

komentarz 22 kwietnia 2017 przez unknown Nałogowiec (39,560 p.)

 @mokrowski

No, trochę przesadziłem :P

komentarz 22 kwietnia 2017 przez Shiro Stary wyjadacz (10,300 p.)
Nie wiedziałem że wywołam tym prostym pytaniem taką ciotodramę .. Nadal nie rozumiem o co chodzi, ale chyba nie chcę już wiedzieć ..
komentarz 22 kwietnia 2017 przez draghan VIP (106,230 p.)

Nie wiedziałem że wywołam tym prostym pytaniem taką ciotodramę ..

laugh

Nadal nie rozumiem o co chodzi, ale chyba nie chcę już wiedzieć ..

Postaraj się zrozumieć, to nie takie trudne a wiedza (w miarę) przydatna. :)

komentarz 22 kwietnia 2017 przez mokrowski Mędrzec (155,700 p.)
No i dobrze :-) Będzie Ci łatwiej w życiu... "Wystarczy rzyć" :-)

Podobne pytania

0 głosów
3 odpowiedzi 1,002 wizyt
pytanie zadane 24 września 2016 w Rozwój zawodowy, nauka, praca przez Daw Nowicjusz (220 p.)
+5 głosów
1 odpowiedź 960 wizyt
0 głosów
1 odpowiedź 363 wizyt

92,621 zapytań

141,476 odpowiedzi

319,817 komentarzy

62,005 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...