• 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

VPS Starter Arubacloud
0 głosów
220 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,349 wizyt
pytanie zadane 9 maja 2017 w C i C++ przez kawainka Początkujący (380 p.)
0 głosów
1 odpowiedź 359 wizyt
pytanie zadane 21 października 2021 w C i C++ przez Vifuso Nowicjusz (170 p.)
0 głosów
1 odpowiedź 248 wizyt
pytanie zadane 25 grudnia 2018 w C i C++ przez Karol098 Nowicjusz (140 p.)

93,015 zapytań

141,976 odpowiedzi

321,271 komentarzy

62,359 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...