Witam.

Jest to jeden z moich pierwszych programów, więc będę wdzięczny również o jakieś wskazówki na przyszłość.
A teraz wracając do problemu.

Jest to program takiej minibazy. Póki co dodaje/wyświetla imie+nazwisko.

Problem polega na tym, iż po wpisaniu:
-1 osoba, działa normalnie.
-2 osób, przy wyświetleniu na początku pierwszej osoby pojawiają się 2 pierwszy litery, osoby pierwszej.
-3 osób to samo co wyżej, tylko 3 litery i tak dalej.

I teraz pytanie moje skąd te litery się biorą.

Kod:

#include <cstdlib> 
#include <iostream> 
#include <fstream> 
#include <conio.h> 
#include <string> 

using namespace std; 
char a; 
char wybor1; 
char odp; 
string linijka,imie,nazwisko; 
int i=1; 
string osoba; 
void informacja() 
{ 
     cout << "[1] Wyswietl liste osob." << endl; 
     cout << "[2] Dodaj osobe." << endl; 
     cout << "[3] Czyszczenie bazy." << endl; 
     cout << "[4] Wyjdz z programu." << endl;    
} 
void wybor() 
{ 
     cout << "Co wybierasz?!: ";    
     cin >> a; 
     cout << endl;    
     switch(a) 
      
  { 
    case '1': { 
    fstream baza; 
    baza.open( "bazaosob.txt"); 
    if( baza.good() ) 
    { 
        string linijka; 
        while( !baza.eof() ) 
        { 
              
            getline( baza, linijka ); 
            cout << linijka << endl; 
        } 
        baza.close(); 
    } else cout << "Nie udalo otworzyc sie pliku!" << endl; 
         break; 
         } 

    case '2': { 
         cout << "Podaj imie: "; cin >> imie; 
         cout << "Podaj nazwisko: "; cin >> nazwisko; 
         ofstream baza; 
         baza.open( "bazaosob.txt", ios::app); 
         if(baza.good()) 
         {                      
                        baza << imie << " " << nazwisko << endl; 
         } else cout << "Nie udalo otworzyc sie pliku!" << endl; 
         baza.close(); 


         break; 
         } 
          
case '3': {        
      
     ofstream baza; 
     baza.open("bazaosob.txt"); 
     baza.close(); 
     break; 
     } 
  
case '4': {return;break;} 
      
          
    default: { 
             cout << "Zle wybrales, podaj jeszcze raz"; 
              
             wybor(); 
             } 
  } 
} 

main() 
{ 
    
do 
{ 
    
       informacja(); 
       wybor(); 

               cout << "Czy chcesz zakonczysz program?" << endl; 
               cout << "Wpisz T lub N: "; 
               cin >> odp; 
                      
       system("cls"); 
    
}while(odp!='T');    

} 

edit//

Wprowadzam tak:

[3] czyszcze
[1] spr czy czysta
[2] dodaje
[2] dodaje
[1] wyswietlam - dziala
[1] dodaje

Tak to u mnie wyglada w tej kolejności

Bo kolega stwierdził, że mu działa całość poprawnie : /