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

Zapisanie do pliku nie działa spacja

Object Storage Arubacloud
0 głosów
1,190 wizyt
pytanie zadane 9 maja 2017 w C i C++ przez kawainka Początkujący (380 p.)
#include <iostream>
#include <fstream>
#include <cstdlib>
 
using namespace std;
 
int main()
{
	string imie;
  cout << "Podaj swoje imie ";
  cin >> imie;
  
  ofstream zapis("dane.txt");
 
  zapis<<imie;
 
  zapis.close(); //obowiązkowo należy zamknąć plik
 
  return 0;
}

 

Czy ktoś wie co zrobić, aby w pliku zapisywały sie dane typu

Darek Ania Kasia

Bo zapisuje mi tylko Darek, i spacje traktuje jako biały znak i ucina zapis po tym

2 odpowiedzi

0 głosów
odpowiedź 9 maja 2017 przez jankustosz1 Nałogowiec (35,880 p.)
0 głosów
odpowiedź 9 maja 2017 przez redie Obywatel (1,490 p.)
Zamiast cin >> imie;

Daj getline(cin,imie); i wtedy jak będziesz podawać sobie imiona po spacji, to zapisze ci wszystko :)

komentarz 9 maja 2017 przez kawainka Początkujący (380 p.)
Mam stworzyć menu dla kelnera

Jak widać na początku kodu są duperele

 

Potem pojawia się menu, w pętli do-while - do momenu aż nie wcisniemy 6 albo 7

Od 1 do 5 podajemy potrawy

Jak wcisne 6, mogę sobie do pliku zapisać jakieś uwagi

Jak wcisne 7 ma być koniec zamówienia i pokazać co zostało zamówione i cene

 

Wydaje mi się że jestem blisko,ale jednak coś nie działa mimo że od rana siedze :C
komentarz 9 maja 2017 przez jankustosz1 Nałogowiec (35,880 p.)
A ten zapis do pliku?
komentarz 9 maja 2017 przez kawainka Początkujący (380 p.)
#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;
}

 

Ma działać na takiej zasadzie :)

 

Poprawiłem trochę kod aby zabezpieczyć przed wpisaniem typu aaaa itd, to muszę 2 x wpisywać teraz co chce wybrac

 

#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 z;
	
	
	
	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:
    if(!(cin >> liczba))
        {
  	 				cout << "Wlasnie straciles klienta";
  	 	return 0;
	    }
    
       				cout << "Dania Glowne" << endl;
       				cout << "Podaj ID zamowienia : ";
       				cin >> ID1;
       				cout << "Zamowiono " << glowne[ID1] << "  -   Cena To : " << glownacena[ID1] << endl << endl;
        	break;
    case 2:
    	if(!(cin >> liczba))
        {
  	 				cout << "Wlasnie straciles klienta";
  	 	return 0;
	    }
    	
    				cout << "Desery" << endl;
        			cout << "Podaj ID zamowienia : ";
        			cin >> ID2;
    				cout << "Zamowiono " << desery[ID2] << "  -   Cena To : " << desercena[ID2] << endl << endl;
        	break;
    case 3:
    	if(!(cin >> liczba))
        {
  	 				cout << "Wlasnie straciles klienta";
  	 	return 0;
	    }
      				cout << "Dodatki" << endl;
      				cout << "Podaj ID zamowienia : ";
      				cin >> ID3;
       				cout << "Zamowiono " << dodatki[ID3] << "  -   Cena To : " << dodatkicena[ID3] << endl << endl;
       		break;
    case 4:
    	if(!(cin >> liczba))
        {
  	 				cout << "Wlasnie straciles klienta";
  	 	return 0;
	    }
      				cout << "Napoje Bezalkoholowe" << endl;
     			    cout << "Podaj ID zamowienia : ";
      				cin >> ID4;
      				cout << "Zamowiono " << napojebezalkoholowe[ID4] << "  -   Cena To : " << napojebezcena[ID4] << endl << endl;
      		break;
    case 5:
      			
				  if(!(cin >> liczba))
        {
  	 				cout << "Wlasnie straciles klienta";
  	 	return 0;
	    }
			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 );
				
					
}



   



    

 

komentarz 9 maja 2017 przez kawainka Początkujący (380 p.)
Czyli jednym słowem klikam sobie 1 - zamawiam np mieso

klikam 3 zamawiam picie i jak dam 6 to moge zapisac ze picie ma byc z lodem

na koncu klikam 7

I pokazuje mi że zamówiłem mieso, picie zapłace za to np 20 zł
komentarz 9 maja 2017 przez jankustosz1 Nałogowiec (35,880 p.)

źle sprawdzasz chyba poprawność danych tak to się robi:

       bool czyOk = true;
do{
        int num; 
       std::cin >> num;
        
        if( std::cin.fail() )
        {
            std::cin.clear();
            std::cin.sync();
            czyOk = false;
        } 
        else
        {
            if( !(num >= 1 && num <= 7) )
             {
                 czyOk = false;
             }
        }
}
while(czyOk == false)

takie coś możesz sobie w funkcję wpakować

 

Podobne pytania

0 głosów
1 odpowiedź 186 wizyt
0 głosów
0 odpowiedzi 153 wizyt
0 głosów
3 odpowiedzi 477 wizyt
pytanie zadane 27 kwietnia 2019 w C i C++ przez miodowy Nowicjusz (120 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

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

...