Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania bez odpowiedzi
Viewing all articles
Browse latest Browse all 21942

Funkcja getline nie dziala

$
0
0
#include <iostream>
#include <fstream>
#include <cstdlib>

using namespace std;

//ZMIENNE
fstream plik;
int wybor,i=1;
string osoba;
//--------------

//FUNCKCJE
void OtwarciePlikuZapis()
{
    plik.open("test.txt", ios::out|ios::app);

}
void ZamknieciePliku()
{
    plik.close();
}
void OtwarciePlikuOdczyt()
{
    plik.open("test.txt", ios::in);
}
//--------------


int main()
{
   cout << "Wpisownik v 1.0";
   cout <<endl << "1. Wpisz sie               2.Zobacz liste wpisanych"<<endl;
   cin >> wybor;
   cout <<endl<<endl;

   if (wybor == 1)
   {
       OtwarciePlikuZapis();

       cout << "Podaj swoje imie i nazwisko: "<<endl;
       getline(cin,osoba);
       cout << "zostales poprawnie dodany do bazy danych";

   }
    else
    {
        OtwarciePlikuOdczyt();
        system("cls");
        while(getline(plik,osoba))
        {
            cout << i << ". "<< osoba<<endl;
            i++;
        }
    }

    return 0;
}

Cześć, chciałem sobie potrenować funkcje. I chciałem stworzyć program w którym wpisuje się imię i nazwisko, program zapisuje to do pliku a jeśli się chce można wyświetlić cala listę. Dodałem kilka przykładowych imion do pliku i program wyświetla wszystko poprawnie. Problem pojawia się gdy chce się dopisać nowe imię i nazwisko. Chciałem zrobić to funkcja getline(). Niestety program po skompilowaniu pomija ta linie (nie można nic wpisać) a właściwie dodaje pusta linie do pliku. No i pytanie, co jest tego przyczyną?


Viewing all articles
Browse latest Browse all 21942

Trending Articles