Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[c++] Zapis danych z vectora z polami niewymaganymi do pliku i na odwrót

Ostatnio zmodyfikowano 2014-05-26 16:32
Autor Wiadomość
AngrySkarpeta
Temat założony przez niniejszego użytkownika
[c++] Zapis danych z vectora z polami niewymaganymi do pliku i na odwrót
» 2014-05-25 15:54:26
Witam,
Mam problem z zapisem danych z wektora do pliku (musi być to jeden plik ;c ) Największy problem polega na tym że podanie adresu dla pracownika jest nie wymagane (można podać adres zamieszkania,korespondencyjny lub dodatkowy, i dowolnie je mieszać np; podać tylko korespondencyjny albo dodatkowy i zamieszkania, albo wszystkie), a adres składa się z trzech składowych (miasto,ulica,numer). Cały kod wygląda póki co tak
C/C++
#include <iostream>
#include <vector>
#include <string>
#include <cstdlib>
#include <fstream>
using namespace std;

class Adres
{
private:
    string Miasto;
    string Ulica;
    string Numer;
public:
    Adres( string M, string U, string N )
    {
        Miasto = M;
        Ulica = U;
        Numer = N;
    };
    string get_Miasto()
    {
        return this->Miasto;
    }
    string get_Ulica()
    {
        return this->Ulica;
    }
    string get_Numer()
    {
        return this->Numer;
    }
    void set_Miasto( string M )
    {
        this->Miasto = M;
    }
    void set_Ulica( string U )
    {
        this->Ulica = U;
    }
    void set_Numer( string N )
    {
        this->Numer = N;
    }
};
class Osoba
{
private:
    string Imie;
    string Nazwisko;
    int Wiek;
    Adres * Adres_Zamieszkania;
    Adres * Adres_Korespondencyjny;
    Adres * Adres_Dodatkowy;
protected:
    Osoba( string I, string N, int W )
    {
        Imie = I;
        Nazwisko = N;
        Wiek = W;
        Adres_Zamieszkania = NULL;
        Adres_Korespondencyjny = NULL;
        Adres_Dodatkowy = NULL;
        ++ile_O;
    };
public:
    static int ile_O;
    ~Osoba()
    {
        --ile_O;
    }
    string get_Imie()
    {
        return this->Imie;
    }
    string get_Nazwisko()
    {
        return this->Nazwisko;
    }
    int get_Wiek()
    {
        return this->Wiek;
    }
    string get_Adres_Zamieszkania()
    {
        return Adres_Zamieszkania->get_Miasto() + " " + Adres_Zamieszkania->get_Ulica() + " " + Adres_Zamieszkania->get_Numer();
    }
    string get_Adres_Korespondencyjny()
    {
        return Adres_Korespondencyjny->get_Miasto() + " " + Adres_Korespondencyjny->get_Ulica() + " " + Adres_Korespondencyjny->get_Numer();
    }
    string get_Adres_Dodatkowy()
    {
        return Adres_Dodatkowy->get_Miasto() + " " + Adres_Dodatkowy->get_Ulica() + " " + Adres_Dodatkowy->get_Numer();
    }
    void set_Imie( string I )
    {
        this->Imie = I;
    }
    void set_Nazwisko( string N )
    {
        this->Nazwisko = N;
    }
    void set_Wiek( int W )
    {
        this->Wiek = W;
    }
    void set_Adres_Zamieszkania( string M, string U, string N )
    {
        if( Adres_Zamieszkania == NULL )
        {
            Adres_Zamieszkania = new Adres( M, U, N );
        }
        else
        {
            this->Adres_Zamieszkania->set_Miasto( M );
            this->Adres_Zamieszkania->set_Ulica( U );
            this->Adres_Zamieszkania->set_Numer( N );
        }
    }
    void set_Adres_Korespondencyjny( string M, string U, string N )
    {
        if( Adres_Korespondencyjny == NULL )
        {
            Adres_Korespondencyjny = new Adres( M, U, N );
        }
        else
        {
            this->Adres_Korespondencyjny->set_Miasto( M );
            this->Adres_Korespondencyjny->set_Ulica( U );
            this->Adres_Korespondencyjny->set_Numer( N );
        }
    }
    void set_Adres_Dodatkowy( string M, string U, string N )
    {
        if( Adres_Dodatkowy == NULL )
        {
            Adres_Dodatkowy = new Adres( M, U, N );
        }
        else
        {
            this->Adres_Dodatkowy->set_Miasto( M );
            this->Adres_Dodatkowy->set_Ulica( U );
            this->Adres_Dodatkowy->set_Numer( N );
        }
    }
    static int ile_Osob()
    {
        return ile_O;
    }
   
};
class Pracownik
    : public Osoba
{
private:
    string Kod_Pracownika;
    double Pensja;
public:
    static int ile_P;
    Pracownik( string I, string N, int W, string K, double P )
        : Osoba( I, N, W )
    {
        Kod_Pracownika = K;
        Pensja = P;
        ++ile_P;
    };
    ~Pracownik()
    {
        --ile_P;
    }
    string get_Kod_Pracownika()
    {
        return this->Kod_Pracownika;
    }
    double get_Pensja()
    {
        return this->Pensja;
    }
    void set_Kod_Pracownika( string K )
    {
        this->Kod_Pracownika = K;
    }
    void set_Pensja( double P )
    {
        this->Pensja = P;
    }
    static int ile_Pracownikow()
    {
        return ile_P;
    }
    void srednia_Pracownicy();
};
class Student
    : public Osoba
{
private:
    string Numer_Albumu;
    double Srednia;
public:
    static int ile_S;
    Student( string I, string N, int W, string NA, double S )
        : Osoba( I, N, W )
    {
        Numer_Albumu = NA;
        Srednia = S;
        ++ile_S;
    };
    ~Student()
    {
        --ile_S;
    }
    string get_Numer_Albumu()
    {
        return this->Numer_Albumu;
    }
    double get_Srednia()
    {
        return this->Srednia;
    }
    void set_Numer_Albumu( string NA )
    {
        this->Numer_Albumu = NA;
    }
    void set_Srednia( double S )
    {
        this->Srednia = S;
    }
    static int ile_Studentow()
    {
        return ile_S;
    }
    void srednia_Studenci();
};
vector < Student *> Vec_Student;
vector < Pracownik *> Vec_Pracownik;
void dodaj_pracownika();
void wyswietl_pracownikow();
void wykasuj_Adres_Pracownika();
void dodaj_studenta();
void wykasuj_Adres_Studenta();
void wyswietl_studentow();
void wyswietl_adresy_pracownika();
void wyswietl_adresy_studenta();
void zapisz_pracownikow();
int Pracownik::ile_P = 0;
int Student::ile_S = 0;
int Osoba::ile_O = 0;
int main()
{
    for(;; )
    {
       
        cout << "Menu" << endl
        << "1.Dodaj Pracownika" << endl
        << "2.Dodaj Studenta" << endl
        << "3.Wyswietl Pracownikow" << endl
        << "4.Wyswietl Studentow" << endl
        << "5.Wykasuj adres Pracownika" << endl
        << "6.Wykasuj adres Studenta" << endl
        << "7.Pokaz Adres Pracownika" << endl
        << "8.Pokaz Adres Studenta" << endl
        << "9.Ile pracownikow?" << endl
        << "10.Ile studentow?" << endl
        << "11.Ile osob?" << endl
        << "12.Srednia pensja" << endl
        << "13.Srednia ocen" << endl
        << "14.Zapis do pliku" << endl
        << "15.Odczyt z pliku" << endl
        << "k.Wyjscie z programu" << endl;
        string buf;
        getline( cin, buf );
        cout << endl;
        if( buf == "1" )
        {
            dodaj_pracownika();
            cin.ignore();
            system( "PAUSE" );
        }
        else if( buf == "2" )
        {
            dodaj_studenta();
            cin.ignore();
            system( "PAUSE" );
        }
        else if( buf == "3" )
        {
            wyswietl_pracownikow();
            cin.ignore();
            system( "PAUSE" );
        }
        else if( buf == "4" )
        {
            wyswietl_studentow();
            cin.ignore();
            system( "PAUSE" );
        }
        else if( buf == "5" )
        {
            wykasuj_Adres_Pracownika();
            cin.ignore();
            system( "PAUSE" );
        }
        else if( buf == "6" )
        {
            wykasuj_Adres_Studenta();
            cin.ignore();
            system( "PAUSE" );
        }
        else if( buf == "7" )
        {
            wyswietl_adresy_pracownika();
            cin.ignore();
            system( "PAUSE" );
        }
        else if( buf == "8" )
        {
            wyswietl_adresy_studenta();
            cin.ignore();
            system( "PAUSE" );
        }
        else if( buf == "9" )
        {
            cout << "Pracownikow w bazie : " << Pracownik::ile_Pracownikow() << endl;
            system( "PAUSE" );
        }
        else if( buf == "10" )
        {
            cout << "Studentow w bazie : " << Student::ile_Studentow() << endl;
            system( "PAUSE" );
        }
        else if( buf == "11" )
        {
            cout << "Osob w bazie : " << Osoba::ile_Osob() << endl;
            system( "PAUSE" );
        }
        else if( buf == "12" )
        {
            Vec_Pracownik[ 0 ]->srednia_Pracownicy();
        }
        else if( buf == "13" )
        {
            Vec_Student[ 0 ]->srednia_Studenci();
            system( "PAUSE" );
        }
        else if( buf == "14" )
        {
            zapisz_pracownikow();
            system( "PAUSE" );
        }
        else if( buf == "k" )
        {
            cout << "Nastapi wyjscie z programu" << endl;
            break; //wyjscie
        }
        else {
            cout << "Wybrano nieprawidlowa opcje" << endl;
        }
    }
}
void dodaj_pracownika()
{
    string I, N, K, M, U;
    int W;
    double P;
    char pytanie;
    cout << "Podaj Imie" << endl;
    cin >> I;
    cout << "Podaj Nazwisko" << endl;
    cin >> N;
    cout << "Podaj Wiek" << endl;
    cin >> W;
    cout << "Podaj Kod Pracownika" << endl;
    cin >> K;
    cout << "Podaj pensje" << endl;
    cin >> P;
    Vec_Pracownik.push_back( new Pracownik( I, N, W, K, P ) );
    cout << "Czy chcesz dodac Adres Zamieszkania?(t-Tak)" << endl;
    cin >> pytanie;
    if( pytanie == 't' )
    {
        cout << "Miasto zamieszkania" << endl;
        cin >> M;
        cout << "Ulica zamieszkania" << endl;
        cin >> U;
        cout << "Numer zamieszkania" << endl;
        cin >> N;
        Vec_Pracownik.back()->set_Adres_Zamieszkania( M, U, N );
    }
    cout << "Czy chcesz dodac Adres Korespondencyjny(t-Tak)" << endl;
    cin >> pytanie;
    if( pytanie == 't' )
    {
        cout << "Miasto zamieszkania" << endl;
        cin >> M;
        cout << "Ulica zamieszkania" << endl;
        cin >> U;
        cout << "Numer zamieszkania" << endl;
        cin >> N;
        Vec_Pracownik.back()->set_Adres_Korespondencyjny( M, U, N );
    }
    cout << "Czy chcesz dodac Adres Dodatkowy(t-Tak)" << endl;
    cin >> pytanie;
    if( pytanie == 't' )
    {
        cout << "Miasto zamieszkania" << endl;
        cin >> M;
        cout << "Ulica zamieszkania" << endl;
        cin >> U;
        cout << "Numer zamieszkania" << endl;
        cin >> N;
        Vec_Pracownik.back()->set_Adres_Dodatkowy( M, U, N );
    }
}
void wyswietl_pracownikow()
{
    cout << "Rekord / Imie / Nazwisko / Wiek / Kod Pracownika / Pensja" << endl;
    for( int i = 0; i < Vec_Pracownik.size(); i++ )
    {
        cout << i << " / " << Vec_Pracownik[ i ]->get_Imie() << " / " << Vec_Pracownik[ i ]->get_Nazwisko() << " / " << Vec_Pracownik[ i ]->get_Wiek() << " / " << Vec_Pracownik[ i ]->get_Kod_Pracownika() << " / " << Vec_Pracownik[ i ]->get_Pensja() << endl;
    }
}
void wykasuj_Adres_Pracownika()
{
    int i;
    char pytanie;
    cout << "Ktorego Pracownika adres chcesz wykasowac?" << endl;
    cin >> i;
    cout << "Ktory Adres chcesz usunac? z-zamieszkania,k-korespondencyjny,d-dodatkowy" << endl;
    cin >> pytanie;
    if( pytanie == 'z' )
         Vec_Pracownik[ i ]->set_Adres_Zamieszkania( NULL, NULL, NULL );
    else if( pytanie == 'k' )
         Vec_Pracownik[ i ]->set_Adres_Korespondencyjny( NULL, NULL, NULL );
    else if( pytanie == 'd' )
         Vec_Pracownik[ i ]->set_Adres_Dodatkowy( NULL, NULL, NULL );
    else
         cout << "Wybrales zla opcje" << endl;
   
}
void dodaj_studenta()
{
    string I, N, K, M, U;
    int W;
    double P;
    char pytanie;
    cout << "Podaj Imie" << endl;
    cin >> I;
    cout << "Podaj Nazwisko" << endl;
    cin >> N;
    cout << "Podaj Wiek" << endl;
    cin >> W;
    cout << "Podaj Numer Albumu" << endl;
    cin >> K;
    cout << "Podaj Srednia" << endl;
    cin >> P;
    Vec_Student.push_back( new Student( I, N, W, K, P ) );
    cout << "Czy chcesz dodac Adres Zamieszkania?(t-Tak)" << endl;
    cin >> pytanie;
    if( pytanie == 't' )
    {
        cout << "Miasto zamieszkania" << endl;
        cin >> M;
        cout << "Ulica zamieszkania" << endl;
        cin >> U;
        cout << "Numer zamieszkania" << endl;
        cin >> N;
        Vec_Student.back()->set_Adres_Zamieszkania( M, U, N );
    }
    cout << "Czy chcesz dodac Adres Korespondencyjny(t-Tak)" << endl;
    cin >> pytanie;
    if( pytanie == 't' )
    {
        cout << "Miasto zamieszkania" << endl;
        cin >> M;
        cout << "Ulica zamieszkania" << endl;
        cin >> U;
        cout << "Numer zamieszkania" << endl;
        cin >> N;
        Vec_Student.back()->set_Adres_Korespondencyjny( M, U, N );
    }
    cout << "Czy chcesz dodac Adres Dodatkowy(t-Tak)" << endl;
    cin >> pytanie;
    if( pytanie == 't' )
    {
        cout << "Miasto zamieszkania" << endl;
        cin >> M;
        cout << "Ulica zamieszkania" << endl;
        cin >> U;
        cout << "Numer zamieszkania" << endl;
        cin >> N;
        Vec_Student.back()->set_Adres_Dodatkowy( M, U, N );
    }
}
void wyswietl_studentow()
{
    cout << "Rekord / Imie / Nazwisko / Wiek / Numer Albumu / Srednia" << endl;
    for( int i = 0; i < Vec_Student.size(); i++ )
    {
        cout << i << " / " << Vec_Student[ i ]->get_Imie() << " / " << Vec_Student[ i ]->get_Nazwisko() << " / " << Vec_Student[ i ]->get_Wiek() << " / " << Vec_Student[ i ]->get_Numer_Albumu() << " / " << Vec_Student[ i ]->get_Srednia() << endl;
    }
}
void wykasuj_Adres_Studenta()
{
    int i;
    char pytanie;
    cout << "Ktorego Pracownika adres chcesz wykasowac?" << endl;
    cin >> i;
    cout << "Ktory Adres chcesz usunac? z-zamieszkania,k-korespondencyjny,d-dodatkowy" << endl;
    cin >> pytanie;
    if( pytanie == 'z' )
         Vec_Student[ i ]->set_Adres_Zamieszkania( NULL, NULL, NULL );
    else if( pytanie == 'k' )
         Vec_Student[ i ]->set_Adres_Korespondencyjny( NULL, NULL, NULL );
    else if( pytanie == 'd' )
         Vec_Student[ i ]->set_Adres_Dodatkowy( NULL, NULL, NULL );
    else
         cout << "Wybrales zla opcje" << endl;
   
}
void wyswietl_adresy_pracownika()
{
    int i;
    cout << "Ktorego Pracownika adresy Cie interesuja?" << endl;
    cin >> i;
    cout << "Imie : " << Vec_Pracownik[ i ]->get_Imie() << endl;
    cout << "Nazwisko : " << Vec_Pracownik[ i ]->get_Nazwisko() << endl;
    cout << "Wiek : " << Vec_Pracownik[ i ]->get_Wiek() << endl;
    if( Vec_Pracownik[ i ]->get_Adres_Zamieszkania().empty() == false )
         cout << "Adres Zamieszkania : " << Vec_Pracownik[ i ]->get_Adres_Zamieszkania() << endl;
   
    if( Vec_Pracownik[ i ]->get_Adres_Korespondencyjny().empty() == false )
         cout << "Adres Korespondencyjny : " << Vec_Pracownik[ i ]->get_Adres_Korespondencyjny() << endl;
   
    if( Vec_Pracownik[ i ]->get_Adres_Dodatkowy().empty() == false )
         cout << "Adres Dodatkowy : " << Vec_Pracownik[ i ]->get_Adres_Dodatkowy() << endl;
   
}
void wyswietl_adresy_studenta()
{
    int i;
    cout << "Ktorego Studenta adresy Cie interesuja?" << endl;
    cin >> i;
    cout << "Imie : " << Vec_Student[ i ]->get_Imie() << endl;
    cout << "Nazwisko : " << Vec_Student[ i ]->get_Nazwisko() << endl;
    cout << "Wiek : " << Vec_Student[ i ]->get_Wiek() << endl;
    cout << "Adres Zamieszkania : " << Vec_Student[ i ]->get_Adres_Zamieszkania() << endl;
    cout << "Adres Korespondencyjny : " << Vec_Student[ i ]->get_Adres_Korespondencyjny() << endl;
    cout << "Adres Dodatkowy : " << Vec_Student[ i ]->get_Adres_Dodatkowy() << endl;
}
void zapisz_pracownikow()
{
    ofstream zapis;
    zapis.open( "PRACOWNICY.txt" );
    for( int i = 0; i < Pracownik::ile_P; i++ )
    {
        zapis << Vec_Pracownik[ i ]->get_Imie() << " " << Vec_Pracownik[ i ]->get_Nazwisko() << " " << Vec_Pracownik[ i ]->get_Wiek() << " " << Vec_Pracownik[ i ]->get_Kod_Pracownika() << " " << Vec_Pracownik[ i ]->get_Pensja() << " ";
        if( Vec_Pracownik[ i ]->get_Adres_Zamieszkania().empty() == false )
        {
            zapis << Vec_Pracownik[ i ]->get_Adres_Zamieszkania() << " ";
        }
        else
        {
            zapis << "NULL" << " " << "NULL" << " " << "NULL" << " ";
        }
        if( Vec_Pracownik[ i ]->get_Adres_Korespondencyjny().empty() == false )
        {
            zapis << Vec_Pracownik[ i ]->get_Adres_Korespondencyjny() << " ";
        }
        else
        {
            zapis << "NULL" << " " << "NULL" << " " << "NULL" << " ";
        }
        if( Vec_Pracownik[ i ]->get_Adres_Dodatkowy().empty() == false )
        {
            zapis << Vec_Pracownik[ i ]->get_Adres_Dodatkowy() << " ";
        }
        else
        {
            zapis << "NULL" << " " << "NULL" << " " << "NULL" << " " << endl;
        }
    }
    zapis.close();
}
void Student::srednia_Studenci()
{
    float srednia_ocen = 0;
    for( int i = 0; i < Vec_Student.size(); i++ )
    {
        srednia_ocen = srednia_ocen + Vec_Student[ i ]->get_Srednia();
    }
    srednia_ocen = srednia_ocen / Student::ile_S;
    cout << "Srednia ocen wszystkich studentow wynosi: " << srednia_ocen << endl;
}
void Pracownik::srednia_Pracownicy()
{
    float srednia_pensja = 0;
    for( int i = 0; i < Vec_Pracownik.size(); i++ )
    {
        srednia_pensja = srednia_pensja + Vec_Pracownik[ i ]->get_Pensja();
    }
    srednia_pensja = srednia_pensja / Pracownik::ile_P;
    cout << "Srednia pensja wszystkich pracownikow wynosi: " << srednia_pensja << endl;
}
sam zapis
C/C++
void zapisz_pracownikow()
{
    ofstream zapis;
    zapis.open( "PRACOWNICY.txt" );
    for( int i = 0; i < Pracownik::ile_P; i++ )
    {
        zapis << Vec_Pracownik[ i ]->get_Imie() << " " << Vec_Pracownik[ i ]->get_Nazwisko() << " " << Vec_Pracownik[ i ]->get_Wiek() << " " << Vec_Pracownik[ i ]->get_Kod_Pracownika() << " " << Vec_Pracownik[ i ]->get_Pensja() << " ";
        if( Vec_Pracownik[ i ]->get_Adres_Zamieszkania().empty() == false )
        {
            zapis << Vec_Pracownik[ i ]->get_Adres_Zamieszkania() << " ";
        }
        else
        {
            zapis << "NULL" << " " << "NULL" << " " << "NULL" << " ";
        }
        if( Vec_Pracownik[ i ]->get_Adres_Korespondencyjny().empty() == false )
        {
            zapis << Vec_Pracownik[ i ]->get_Adres_Korespondencyjny() << " ";
        }
        else
        {
            zapis << "NULL" << " " << "NULL" << " " << "NULL" << " ";
        }
        if( Vec_Pracownik[ i ]->get_Adres_Dodatkowy().empty() == false )
        {
            zapis << Vec_Pracownik[ i ]->get_Adres_Dodatkowy() << " ";
        }
        else
        {
            zapis << "NULL" << " " << "NULL" << " " << "NULL" << " " << endl;
        }
    }
    zapis.close();
}
 Póki nie działa mi zapis nie wiem jak się zabrać za wrzucenie tego z pliku na powrót do wektora.Program jako taki się kompiluje ale wywala się przy próbie zapisu. Będę bardzo wdzięczny za pomoc ;-)
P-110843
michal11
» 2014-05-25 20:25:51
Co to znaczy, ze program się wywala ? Wyłącza, zapisuje pusty plik, nie zapisuje w ogóle pliku ?
P-110859
AngrySkarpeta
Temat założony przez niniejszego użytkownika
» 2014-05-25 20:46:51
Po odpaleniu funkcji program przez chwilę "myśli" po czym wyskakuje komunikat że program przestał działać. Tworzy przy tym pusty plik.
P-110867
michal11
» 2014-05-25 21:22:11
Próbowałeś debugować tą funkcję i sprawdzić w którym miejscu się wywala ? Teoretycznie wszystko wygląda ok.
P-110872
AngrySkarpeta
Temat założony przez niniejszego użytkownika
» 2014-05-25 21:44:04
No właśnie o to chodzi ;-( Niby wszystko ok, niby się odpala, ale "coś" nie działa. Co do debugowania to wyskoczyło mi coś takiego

Debugger name and version: GNU gdb (GDB) 7.5
Child process PID: 6060
Program received signal SIGSEGV, Segmentation fault.
In std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) () ()

Po za tym czy funkcja wczytująca powinna wyglądać analogicznie?
P-110876
michal11
» 2014-05-25 22:30:39
C/C++
for( int i = 0; i < Pracownik::ile_P; i++ )
{
    zapis << Vec_Pracownik[ i ]->get_Imie() << " " << Vec_Pracownik[ i ]->get_Nazwisko() << " " << Vec_Pracownik[ i ]->get_Wiek() << " " << Vec_Pracownik[ i ]->get_Kod_Pracownika() << " " << Vec_Pracownik[ i ]->get_Pensja() << " ";
   
    if( Vec_Pracownik[ i ]->get_Adres_Zamieszkania().empty() )
    {
        zapis << "NULL" << " " << "NULL" << " " << "NULL" << " ";
    }
    else
    {
        zapis << Vec_Pracownik[ i ]->get_Adres_Zamieszkania() << " ";
    }
   
    if( Vec_Pracownik[ i ]->get_Adres_Korespondencyjny().empty() )
    {
        zapis << "NULL" << " " << "NULL" << " " << "NULL" << " ";
    }
    else
    {
        zapis << Vec_Pracownik[ i ]->get_Adres_Korespondencyjny() << " ";
    }
   
    if( Vec_Pracownik[ i ]->get_Adres_Dodatkowy().empty() )
    {
        zapis << "NULL" << " " << "NULL" << " " << "NULL" << " " << endl;
    }
    else
    {
        zapis << Vec_Pracownik[ i ]->get_Adres_Dodatkowy() << " ";
    }
    zapis << "\n";
}

U mnie działa coś takiego, wywalało się na ifach, ale szczerze mówiąc nie mam pojęcia dlaczego. Zresztą takie rozwiązanie jest bardziej czytelne.

Zmień główną pętlę zamiast
for(;; )
 wstaw
while( true )

W funkcjach liczących średnie zmień np
srednia_ocen = srednia_ocen + Vec_Student[ i ]->get_Srednia();
 na
srednia_ocen += Vec_Student[ i ]->get_Srednia();

Czy funkcja
wyswietl_adresy_pracownika()
 działa dobrze ?



P-110878
AngrySkarpeta
Temat założony przez niniejszego użytkownika
» 2014-05-26 07:07:54
Wyświetlanie działa, za to z powyższym kodem program wysypuje mi się w identyczny sposób x.x
P-110882
Moorfox
» 2014-05-26 09:09:27
Spróbuj odpalić Visual Studio z prawami administratora. Chociaż, z drugiej strony jeśli tworzy ci przy tym pusty plik raczej nie chodzi o to i zapewne te prawa już masz.
P-110887
« 1 » 2
  Strona 1 z 2 Następna strona