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

Nie działa : Prawidłowe wypisanie na ekran, zapisanie do pliku i zabezpieczenie programu :C

Object Storage Arubacloud
0 głosów
185 wizyt
pytanie zadane 9 maja 2017 w C i C++ przez kawainka Początkujący (380 p.)
#include <iostream>
#include <cstring>
#include <string>
#include <conio.h>
#include <fstream>
#include <cstdlib>
 
using namespace std;

int main()
{
	int ID1,ID2,ID3,ID4,ID5;
	int nrstolika;
	int godzinazamowienia;
	int liczba;
		string imie;
	
	
	
	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: ";
  		if(!(cin >> liczba))
        {
  	 	cout << "Wlasnie straciles klienta";
  	 	return 0;
	   }
  	 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 );


	
  
 

}



   

Cześć, dziś stworzyłem taki program, jednak mam kilka problemów.

Pisałem na forum, dostawałem pomoc jednak dalej nie działa

 

- Prawidłowo nie mogę wyświetlić na końcu programu co i za ile zamówiłem razem

Miałem ustawione

 

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;

 

Jednak wywal błąd i program się czasem zawiesza

 

Kolejna sprawa to dobre zabezpieczenie ze jak ktoś wpisze litere A np

Za 1 razem działa, a potem pokazuje mi już jakieś county i dopiero wywala to co powinno od razu

 

No i zapisanie do pliku opini

Próbowałem dodać na końcu albo do ostatniego case taki kod

 

#include <iostream>
#include <fstream>
#include <cstdlib>
 
using namespace std;
 
int main()
{
	string imie;
  cout << "Podaj swoje imie ";
 getline(cin,imie);
  
  ofstream zapis("dane.txt");
 
  zapis<<imie;
 
  zapis.close(); //obowiązkowo należy zamknąć plik
 
  return 0;
}

 

Ale też nie działa :C

Za każdą rade, pomoc dziękuje :)

komentarz 9 maja 2017 przez CzikaCarry Szeryf (75,340 p.)
A może to powiesz, jaki błąd wyskakuje?
komentarz 9 maja 2017 przez kawainka Początkujący (380 p.)
Program się kompiluje, ale np po wpisaniu 2a pojawia się że wybrałem desery, a powinno wywalić błąd że straciłem klienta

To z zapisywaniem pliku nie działa, pojawiał sie tylko napis podaj swoje imie.

 

Natomiast to z pokazywaniem ile zapłaciłem crashowało program jeżeli np nie podałem dania głównego

1 odpowiedź

0 głosów
odpowiedź 9 maja 2017 przez dastianz Początkujący (340 p.)

Co do ostatniego - musisz najpierw zadeklarować zmienną typu ofstream np. zapis , dopiero potem ją otwierasz np. zapis.open("..") , poza tym widzę że deklarujesz w pętlach zmienne cena - nie powinieneś tak robić. Utwórz po prostu tablice cena kilku liczb i ustaw ich wartości na takie jakie potrzebujesz .

komentarz 9 maja 2017 przez unknown Nałogowiec (39,560 p.)

Co do ostatniego - musisz najpierw zadeklarować zmienną typu ofstream np. zapis , dopiero potem ją otwierasz np. zapis.open("..")

http://en.cppreference.com/w/cpp/io/basic_fstream/basic_fstream 

komentarz 9 maja 2017 przez dastianz Początkujący (340 p.)
komentarz 9 maja 2017 przez unknown Nałogowiec (39,560 p.)
I co to jest (oprócz tego, że słaby kurs C++)?
komentarz 9 maja 2017 przez dastianz Początkujący (340 p.)
To , że kolega próbuje działać na ofstreamie nie na fstreamie :)
komentarz 9 maja 2017 przez unknown Nałogowiec (39,560 p.)

Podobne pytania

0 głosów
2 odpowiedzi 1,186 wizyt
pytanie zadane 9 maja 2017 w C i C++ przez kawainka Początkujący (380 p.)
0 głosów
1 odpowiedź 263 wizyt
pytanie zadane 21 października 2021 w C i C++ przez Vifuso Nowicjusz (170 p.)
0 głosów
1 odpowiedź 217 wizyt
pytanie zadane 25 grudnia 2018 w C i C++ przez Karol098 Nowicjusz (140 p.)

92,565 zapytań

141,416 odpowiedzi

319,597 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!

...