Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Problem] Z instrukcją IF


Krzynio95

Rekomendowane odpowiedzi

Opublikowano

Witam. Przerobiłem swój automat do kawy po swojemu (Udało sie :D !), ale pojawił się kolejny problem przy rozbudowie kodu. Otóż najtańsza kawa kosztuje 2zł. Jeśli wrzucimy mniej niż 2 program ma zwracać komunikat, że wrzuciliśmy za mało pieniędzy, oddawać wrzuconą kasę i wrócić do momentu wrzucania monety. Mój program wyrzuca ten komunikat, ale i tak wykonuje się dalej (nalewa tą kawę). Próbowałem z tymi IF coś robić, zmieniać ich miejsca, dawać średniki na końcu instrukcji, ale nic.. Ciągle coś nie tak z nimi było. Próbowałem też z do while, ale ta instrukcja jest porąbana jak i te sleepy ;) Może mnie ktoś pokierować?

 

Proszę skompilować i wybrać opcję 1 (bo tylko na niej na razie robiłem te testy)

#include <iostream>
#include <cstdlib>
#include <conio.h>
using namespace std;
float reszta, a;
float cena;

class cafe
{

		public:
		cafe()	{int c;}
	
		int przygotuj_kawe()	
		{
		cout<<"    1. Pobieram kubek ";
		    for(int i=0;i<=3;i++)
            {
              
                  cout<<".";
                  //_sleep(600);
            }
         
		
	    cout<<"    2. Nalewam ";
		    for(int i=0;i<=3;i++)
            {
              
                  cout<<".";
                  //_sleep(1500);
            }
		
		
	    cout<<"   3. Napoj gotowy ! ";
		 return 0;
		 };
		};



int main()
{
	cafe kawa;
    int exit,li,liczba;
    li=0;
    cout<<""<<endl;
    cout<<"	       WYBIERZ RODZAJ KAWY:"<<endl;
    cout<<""<<endl;
    cout<<"             1.kawa czarna 2zl"<<endl;
    cout<<"             2.kawa czarna z cukrem 2.30 zl"<<endl;
    cout<<"             3.kawa czarna z mlekiem 2.50 zl"<<endl;
    cout<<"             4.kawa czarna z mlekiem i cukrem 3zl"<<endl;
    cout<<""<<endl;
    
do
{
	poczatek:
	li++;
	reszta=0;cena=0;
	cout<<endl;
	cout<<"Wrzuc monete"<<endl;
	cin>>a;
	cout<<"Wybierz co chcesz kupic:"<<endl;
	
    	cin>>liczba;
   		 switch(liczba)
   		 {
			case 1:
			{
			
			cout<<"Kawa czarna--------wrzuc 2zl"<<endl;
			if (a<2)
			cout<<"Wrzuciles za malo pieniedzy. Zwracam "<<a<<"zl"<<endl;
			
			else
			
			cena=2;
			reszta=a-cena;
			cout<<endl;
			cout<<"   Reszta: "<<reszta<<endl;
			cout<<endl;
			kawa.przygotuj_kawe();
			break;
			}
			
			case 2:
			{
			cout<<"Kawa czarna z cukrem"<<endl;
			cena=2.30;
			reszta=a-cena;
			cout<<"   Reszta: "<<reszta<<endl;
			cout<<endl;
			kawa.przygotuj_kawe();
			break;
			}
			
			case 3:
			{
			cout<<"Kawa czarna z mlekiem"<<endl;
			cena=2.50;
			reszta=a-cena;
			cout<<"   Reszta: "<<reszta<<endl;
			cout<<endl;
			kawa.przygotuj_kawe();
			break;
			}
			
			case 4:
			{
			cout<<"Kawa czarna z mlekiem i cukrem"<<endl;
			cena=3;
			reszta=a-cena;
			cout<<"   Reszta: "<<reszta<<endl;
			cout<<endl;
			kawa.przygotuj_kawe();
			break;
			}
			default:
			{
			cout<<"Niestety nie ma takiej opcji."<<endl;
			cout<<endl;
			break;
			}
		}
	}	
while(li!=80);
cout<<"               Automat nieczynny !!!"<<endl;

cin>>exit;
}

 

Opublikowano

	do
		{
		cout<<"Wrzuc monete"<<endl;
		cin>>a;
		}while(a<2);

		
		cout<<""<<endl;
    	cout<<"	       WYBIERZ RODZAJ KAWY:"<<endl;
    	cout<<""<<endl;
    	cout<<"             1.kawa czarna 2zl"<<endl;
    	cout<<"             2.kawa czarna z cukrem 2.30 zl"<<endl;
    	cout<<"             3.kawa czarna z mlekiem 2.50 zl"<<endl;
   		cout<<"             4.kawa czarna z mlekiem i cukrem 3zl"<<endl;
   		cout<<""<<endl;
Jak uzywasz Sleep(t); to zadeklaruj <windows.h> ...

Tak w nawiasie wrzucilem 2 zl a kupilem kawe za 3 ;] , musisz jeszcze troche nad tym popracowac .

 

PS :Polecalbym Ci zapoznac sie z sekwencja unikowa , zamiast pisac co chwile (cout<<""<<endl;)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...