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

Case - Zliczanie wartosci

Object Storage Arubacloud
0 głosów
200 wizyt
pytanie zadane 9 maja 2017 w C i C++ przez kawainka Początkujący (380 p.)

Cześć

 

To mój kod, wiem jest dużo do poprawy

Ale moje pytanie, jak można zrobić aby na końcu programu czytało mi jakie rzeczy podałem np w case 1, case 2

Znaczy to mi działa, ale jeżeli podam w case 1   2x coś to nie wiem jak mam to wyświetlić na końcu

 

 

#include <iostream>
#include <cstring>
#include <string>
#include <conio.h>
using namespace std;

int main()
{
	int ID1,ID2,ID3,ID4,ID5;
	int nrstolika;
	int godzinazamowienia;
	int liczba;
	
	
	
	int glownacena[5];   // cena za danie glowne
	int desercena[5];
	int dodatkicena[5];
	int napojebezcena[5];
	int napojealkocena[5];
	
	char glowne[5][50] = { "Zupa Pomidorowa ", "Rosol ", "Ziemniaki + schabowy ", "Ryz + dewolaj ", "Dowolne mieso + ryz / ziemniaki + surowka " };  			// Tablice na dania 
	char desery[5][50] = { "lody ", " szarlotka ", " galaretka z lodami ", "gofer z owocami ", " puchar szefa kuchni + ciastko" };
	char dodatki[5][50] = { "chleb ", " majonez,ketchup,musztarda ", " smalec ", " surowka ", " frytki" };
	char napojebezalkoholowe[5][50] = { "woda ", " fanta ", " mirynda ", " pepsi", " sok pomaranczowy" };
	char napojealkoholowe[5][50] = { "wino biale ", " wino ciemne", " piwo ", " wodka", " Whisky" };
	
	

	for (int i = 0; i<5; i++)
	{
		int cena = 15;
		glownacena[i] = cena + 5 * 0.5 * i;
		// cout << " Cena za danie : "<< glowne[i] << " wynosi  "<< glownacena[i] << endl;	
	}
		for (int i = 0; i<5; i++)
	{
		int cena = 10;
		desercena[i] = cena + 5 * 0.5 * i;
		//cout << " Cena za deser : "<< desery[i] << " wynosi  "<< desercena[i] << endl;	
	}
	
		for (int i = 0; i<5; i++)
	{
		int cena = 2;
		dodatkicena[i] = cena + 5 * 0.5 * i;
		//cout << " Cena za dodatek : "<< dodatki[i] << " wynosi  "<< dodatkicena[i] << endl;	
	}
		for (int i = 0; i<5; i++)
	{
		int cena = 10;
		napojebezcena[i] = cena + 5 * 0.5 * i;
		//cout << " Cena za napoj : "<< napojebezalkoholowe[i] << " wynosi  "<< napojebezcena[i] << endl;	
	}
		for (int i = 0; i<5; i++)
	{
		int cena = 15;
		napojealkocena[i] = cena + 5 * 0.5 * i;
		//cout << " Cena za alkohol : "<< napojealkoholowe[i] << " wynosi  "<< napojealkocena[i] << endl;	
	}
		

//	cout << "Program dla kelnera 05-09-2017" << endl; 
//	cout << "Daniel Pawlak" << endl;
	
//	cout << "Podaj nr stolika : ";
//	cin  >> nrstolika;
//	cout << "Podaj godzine przyjecia zamowienia ( GGMM ) : "<< endl;
//	cin  >> godzinazamowienia;

	cout << "Menu wersja testowa 0.1" << endl << endl;
	cout << "1.  Dania Glowne" << endl;
	cout << "2.  Desery" << endl;
	cout << "3.  Dodatki" << endl;
	cout << "4.  Napoje Bezalkoholowe" << endl;
	cout << "5.  Napoje Alkoholowe" << endl;
	cout << "6.  Uwagi " << endl;
	cout << "7.  Koniec zamowienia" << endl << endl;


	do {
	z:
     cout << "Podaj liczbe: ";
  	 cin >> liczba;
  	 cout << "" << endl << endl;
  	 
  	 
  	 switch( liczba )
    {
    case 1:
       cout << "Dania Glowne" << endl;
       cout << "Podaj ID zamowienia : ";
       cin >> ID1;
       cout << "Zamowiono " << glowne[ID1] << "  -   Cena To : " << glownacena[ID1] << endl << endl;
        break;
    case 2:
    	
    	cout << "Desery" << endl;
        cout << "Podaj ID zamowienia : ";
        cin >> ID2;
    	cout << "Zamowiono " << desery[ID2] << "  -   Cena To : " << desercena[ID2] << endl << endl;
         break;
    case 3:
       cout << "Dodatki" << endl;
       cout << "Podaj ID zamowienia : ";
       cin >> ID3;
       	cout << "Zamowiono " << dodatki[ID3] << "  -   Cena To : " << dodatkicena[ID3] << endl << endl;
        break;
    case 4:
       cout << "Napoje Bezalkoholowe" << endl;
       cout << "Podaj ID zamowienia : ";
       cin >> ID4;
       cout << "Zamowiono " << napojebezalkoholowe[ID4] << "  -   Cena To : " << napojebezcena[ID4] << endl << endl;
        break;
    case 5:
       cout << "Napoje Alkoholowe" << endl;
       cout << "Podaj ID zamowienia : ";
       cin >> ID5;
       cout << "Zamowiono " << napojealkoholowe[ID5] << "  -   Cena To : " << napojealkocena[ID5] << endl << endl;
        break;
     case 6:
       cout << "Uwagi" << endl;
        break;
      case 7:
       cout << "Koniec zamowienia" << endl;
        break;
    default:
       cout << "Chyba cos poszlo nie tak ?" << endl;
        goto z;
}
}
while( liczba != 7 );
cout << "Zamowiono : " << glowne[ID1] <<  desery[ID2] << dodatki[ID3] << napojebezalkoholowe[ID4] << napojealkoholowe[ID5] << endl;
cout << "Do zaplaty : " << glownacena[ID1] +  desercena[ID2] + dodatkicena[ID3] + napojebezcena[ID4] + napojealkocena[ID5] << " zloty" << endl;
}



   



    

 

2 odpowiedzi

0 głosów
odpowiedź 9 maja 2017 przez redie Obywatel (1,490 p.)
Rzucam luźnymi pomysłami ale możesz zrobić licznik wyborów, jeżeli wybrałeś 2x daną rzecz to zwiększ sobie licznik i wrzuć te dwie rzeczy jakie tam wy brałeś do vectora i z tego vectora potem wyciągnij żeby wypisać :) Tak wpadłem na pomysł, ale ktoś może mieć lepszy.
komentarz 9 maja 2017 przez kawainka Początkujący (380 p.)
cout << "Zamowiono : " << glowne[ID1] <<  desery[ID2] << dodatki[ID3] << napojebezalkoholowe[ID4] << napojealkoholowe[ID5] << endl;
cout << "Do zaplaty : " << glownacena[ID1] +  desercena[ID2] + dodatkicena[ID3] + napojebezcena[ID4] + napojealkocena[ID5] << " zloty" << endl;

Czy takie coś ma prawo bytu jeżeli nie wybiore ID1 i ID2 itd
Bo mi crashuje program

 

komentarz 9 maja 2017 przez redie Obywatel (1,490 p.)
O właśnie, jeszcze zapomniałem, że te T woje couty, działają dobrze jak wybierzesz wszystko z menu. Możesz tutaj też dać np. tablicę 0-1 (czy wybrano, czy nie) i jak wejdziesz w dany wybor np. Case1 to automatycznie pod np. czyByla[0] = 1; a domyślnie wszystko masz na 0. I potem jak chcesz wypisać to możesz sprawdzić czyByla[i] gdzie i idzie od 0 do tylu wyborów ile masz (chyba 6 ??) i wypisuje Ci to co było.
0 głosów
odpowiedź 9 maja 2017 przez Molester Bywalec (2,920 p.)
edycja 9 maja 2017 przez Molester

O coś takiego chodziło? Troche zmodyfikowałem np z chara na stringa i pare rzeczy dodalem , ale jak wymagany jest ten char czy coś innego to zmień z powrotem.

 

#include <iostream>
#include <vector>

const short ArSize = 5;

int main()
{
    
    using std::cout;
    using std::endl;
    using std::cin;
    using std::string;
    
    unsigned ID1,ID2,ID3,ID4,ID5;
    unsigned nrstolika;
    unsigned godzinazamowienia;
    unsigned liczba;
    const unsigned cena [ArSize] = { 15, 10, 2, 10, 15};
     
     
    int glownacena[ArSize];   // cena za danie glowne
    int desercena[ArSize];
    int dodatkicena[ArSize];
    int napojebezcena[ArSize];
    int napojealkocena[ArSize];
     
    std::string glowne[ArSize] = { "Zupa Pomidorowa ", "Rosol ", "Ziemniaki + schabowy ", "Ryz + dewolaj ", "Dowolne mieso + ryz / ziemniaki + surowka " };             
    std::string desery[ArSize] = { "lody ", " szarlotka ", " galaretka z lodami ", "gofer z owocami ", " puchar szefa kuchni + ciastko" };
    std::string dodatki[ArSize] = { "chleb ", " majonez,ketchup,musztarda ", " smalec ", " surowka ", " frytki" };
    std::string napojebezalkoholowe[ArSize] = { "woda ", " fanta ", " mirynda ", " pepsi", " sok pomaranczowy" };
    std::string napojealkoholowe[ArSize] = { "wino biale ", " wino ciemne", " piwo ", " wodka", " Whisky" };
     
    std::vector<string>zamowione;
    std::vector<int>zaplata;    
        
    
    for (int i = 0; i<ArSize; i++)
     {
        glownacena[i] = cena[0] + 5 * 0.5 * i;
        cout << " Cena za danie : "<< glowne[i] << " wynosi  "<< glownacena[i] << endl;    
    }
        for (int i = 0; i<ArSize; i++)
    {
        desercena[i] = cena[1] + 5 * 0.5 * i;
        cout << " Cena za deser : "<< desery[i] << " wynosi  "<< desercena[i] << endl;  
    }
     
        for (int i = 0; i<ArSize; i++)
    {
        dodatkicena[i] = cena[2] + 5 * 0.5 * i;
        cout << " Cena za dodatek : "<< dodatki[i] << " wynosi  "<< dodatkicena[i] << endl; 
    }
        for (int i = 0; i<ArSize; i++)
    {
        napojebezcena[i] = cena[3] + 5 * 0.5 * i;
        cout << " Cena za napoj : "<< napojebezalkoholowe[i] << " wynosi  "<< napojebezcena[i] << endl; 
    }
        for (int i = 0; i<ArSize; i++)
    {
        napojealkocena[i] = cena[4] + 5 * 0.5 * i;
        cout << " Cena za alkohol : "<< napojealkoholowe[i] << " wynosi  "<< napojealkocena[i] << endl; 
    }
         
 
//  cout << "Program dla kelnera 05-09-2017" << endl; 
//  cout << "Daniel Pawlak" << endl;
     
//  cout << "Podaj nr stolika : ";
//  cin  >> nrstolika;
//  cout << "Podaj godzine przyjecia zamowienia ( GGMM ) : "<< endl;
//  cin  >> godzinazamowienia;
 
    cout << "Menu wersja testowa 0.1" << endl << endl;
    cout << "1.  Dania Glowne" << endl;
    cout << "2.  Desery" << endl;
    cout << "3.  Dodatki" << endl;
    cout << "4.  Napoje Bezalkoholowe" << endl;
    cout << "5.  Napoje Alkoholowe" << endl;
    cout << "6.  Uwagi " << endl;
    cout << "7.  Koniec zamowienia" << endl << endl;
 
 
    do {
    z:
     cout << "Podaj liczbe: ";
     cin >> liczba;
     cout << "" << endl << endl;
      
      
     switch( liczba )
    {
    case 1:
       cout << "Dania Glowne" << endl;
       cout << "Podaj ID zamowienia : ";
       cin >> ID1;
       
       zamowione.push_back(glowne[ID1]);
       zaplata.push_back(glownacena[ID1]);
       
       cout << "Zamowiono " << glowne[ID1] << "  -   Cena To : " << glownacena[ID1] << endl << endl;
        break;
    
    case 2:
         
        cout << "Desery" << endl;
        cout << "Podaj ID zamowienia : ";
        cin >> ID2;
        
       zamowione.push_back(desery[ID2]);
       zaplata.push_back(desercena[ID2]);
        
        cout << "Zamowiono " << desery[ID2] << "  -   Cena To : " << desercena[ID2] << endl << endl;
         break;
    
    case 3:
       cout << "Dodatki" << endl;
       cout << "Podaj ID zamowienia : ";
       cin >> ID3;
        
       zamowione.push_back(dodatki[ID3]);
       zaplata.push_back(dodatkicena[ID3]);
       
       cout << "Zamowiono " << dodatki[ID3] << "  -   Cena To : " << dodatkicena[ID3] << endl << endl;
        break;
    
    case 4:
       cout << "Napoje Bezalkoholowe" << endl;
       cout << "Podaj ID zamowienia : ";
       cin >> ID4;
       
       zamowione.push_back(napojebezalkoholowe[ID4]);
       zaplata.push_back(napojebezcena[ID4]);
       
       cout << "Zamowiono " << napojebezalkoholowe[ID4] << "  -   Cena To : " << napojebezcena[ID4] << endl << endl;
        break;
    
    case 5:
       cout << "Napoje Alkoholowe" << endl;
       cout << "Podaj ID zamowienia : ";
       cin >> ID5;
       
        zamowione.push_back(napojealkoholowe[ID5]);
       zaplata.push_back(napojealkocena[ID5]);
       
       cout << "Zamowiono " << napojealkoholowe[ID5] << "  -   Cena To : " << napojealkocena[ID5] << endl << endl;
        break;
     case 6:
       
     cout << "Uwagi" << endl;
    break;
      
    case 7: 
    cout << "Koniec zamowienia" << endl;
    break;
    
    default:
       
    cout << "Chyba cos poszlo nie tak ?" << endl;
    goto z;
}
} while( liczba != 7 ); 

std::cout << "Zamowiono : " << std::endl;

for (const auto &a : zamowione) std::cout << a << std::endl;

unsigned sum=0;
                         

for (auto &b : zaplata)  sum+=b;   

std::cout << "Do zaplaty : "  << sum <<" zlotych"  << std::endl;

return 0;

}
 

 

komentarz 9 maja 2017 przez kawainka Początkujący (380 p.)
error

 

167    16    C:\Users\lenovo\Downloads\drukowanie\main4.cpp    [Error] range-based 'for' loops are not allowed in C++98 mode
komentarz 9 maja 2017 przez Molester Bywalec (2,920 p.)
edycja 9 maja 2017 przez Molester
Twój kompilator nie obsługuje C++11, włącz obsługe tego standardu w twoich ustawieniach.

W międzyczasie zedytowałem to, żeby wszystko się wyświetlało w kilku pętlach (tak jak zrobiłeś, a nie w jednej jak ja zrobiłem z nieuwagi.)

Podobne pytania

0 głosów
0 odpowiedzi 152 wizyt
pytanie zadane 19 kwietnia 2020 w C i C++ przez amtrax Dyskutant (9,630 p.)
0 głosów
1 odpowiedź 442 wizyt
pytanie zadane 16 listopada 2019 w C i C++ przez ck Obywatel (1,780 p.)
0 głosów
0 odpowiedzi 992 wizyt
pytanie zadane 1 listopada 2019 w C i C++ przez Hubertius Bywalec (2,970 p.)

92,565 zapytań

141,416 odpowiedzi

319,598 komentarzy

61,948 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!

...