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

Kody programów nie działają po reinstalacji systemu

Ostatnio zmodyfikowano 2012-07-29 22:55
Autor Wiadomość
Unlimited
Temat założony przez niniejszego użytkownika
Kody programów nie działają po reinstalacji systemu
» 2012-07-28 13:44:29
Witajcie. Mam problem otóż miałem przeinstalowany system i teraz kody programów napisanych na starym systemie nie działają z obecnym (system zainstalowany jest taki sam jak był wcześniej). Warto dodać że pliki .exe skompilowane na starym systemie działają dobrze lecz kod tych programów nie działa. Dotyczy to tylko programów z wykorzystaniem vector. Błąd jaki pokazuje to: właśnie nie ma błędów ale jakiś plik ios_base.h się otwiera w code::blocks z zaznaczoną na czerwono 790 linijką... Co jest nie tak?

Edit:
Przepraszam mój błąd miałem otwarty projekt a zamykając go małymi krzyżykami był "w tle" i dlatego otrzymywałem błąd. Jednakże przedstawię linijkę przez którą tak mi się dzieje aczkolwiek:
ksiazka.push_back( books( xautor, xtytul, xwydawnictwo, xrok, xstrony ) );


mój konstruktor:
C/C++
books::books( string xautor, string xtytul, string xwydawnictwo, int xrok, int xstrony ) //konstruktor nr 1
    : autor( xautor )
    , tytul( xtytul )
    , wydawnictwo( xwydawnictwo )
    , rok( xrok )
    , strony( xstrony )
{
}


i cała klasa:
C/C++
class books //glowna klasa programu
{
private:
    string autor, tytul, wydawnictwo, xautor, xtytul, xwydawnictwo, sciezka, fraza;
    int rok, strony, xrok, xstrony, ilosc, n, x, liczba, dol, gora;
    size_t ZnalezionaFraza;
    fstream plik;
    books( string xautor, string xtytul, string xwydawnictwo, int xrok, int xstrony );
    vector < books > ksiazka;
public:
    int wybor1, wybor2, wybor3;
    bool sprawdz;
    books();
    void clear();
    void header();
    void add_book();
    void edit_book();
    void remove_book();
    void search_autor();
    void search_tytul();
    void search_wydawnictwo();
    void search_rok();
    void search_strony();
    void view_all_books();
    void create_file();
    void remove_file();
    void load_file();
    void path_file();
    void view_path_file();
    void information();
};
P-61299
DejaVu
» 2012-07-28 21:54:52
Twój opis problemu to jeden wielki chaos. Równie dobrze mógłbyś napisać 'coś nie działa' i czekać na odpowiedź :) System nie ma nic wspólnego z tym, że się program kompiluje lub nie. Skoro robiłeś reinstalację systemu to nie skonfigurowałeś właściwie środowiska C++, którego używasz.
P-61325
yoogi
» 2012-07-28 22:13:53
Może skompilowałeś plik jako "debug" i nie masz zainstalowanego SDK i ci nie działają, albo brakuje jakichś libków
P-61328
RazzorFlame
» 2012-07-28 22:37:12
Eeeej moge sie mylic ale chyba nie deklaruje sie konstruktorów jako
private:
 Czyż nie?
Jeszcze nigdy nie robilem konstruktorów prywatnych. Moze dlatego masz ten błąd. Zawsze można sprawdzić :P
P-61331
Unlimited
Temat założony przez niniejszego użytkownika
» 2012-07-29 00:19:49
System nie ma nic wspólnego z tym. To była pomyłka. Co do problemu to nie mogę skompilować programu jak dodam do kodu linijkę odpowiedzialną za dodanie danych do tablicy vector czyli
ksiazka.push_back( books( xautor, xtytul, xwydawnictwo, xrok, xstrony ) );
Błąd jaki dostaje to (dość nietypowy) otwiera mi się jakiś plik w środowisku code::blocks ios_base.h z zaznaczoną na czerwono linijką nr 790.
Jeszcze tutaj dane z build messages:
||=== Uproject, Debug ===|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|47|instantiated from 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const _Tp&) [with _Tp = books]'|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\stl_vector.h|737|instantiated from 'void std::vector<_Tp, _Alloc>::push_back(const _Tp&) [with _Tp = books, _Alloc = std::allocator<books>]'|
 C++\Uproject\function.cpp|54|instantiated from here|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\ios_base.h|790|error: 'std::ios_base::ios_base(const std::ios_base&)' is private|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|47|error: within this context|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|87|note: synthesized method 'std::basic_ios<char, std::char_traits<char> >::basic_ios(const std::basic_ios<char, std::char_traits<char> >&)' first required here |
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\streambuf|770|error: 'std::basic_streambuf<_CharT, _Traits>::basic_streambuf(const std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char, _Traits = std::char_traits<char>]' is private|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|78|error: within this context|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|87|instantiated from 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const _Tp&) [with _Tp = books]'|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\stl_vector.h|737|instantiated from 'void std::vector<_Tp, _Alloc>::push_back(const _Tp&) [with _Tp = books, _Alloc = std::allocator<books>]'|
 C++\Uproject\function.cpp|54|instantiated from here|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|87|note: synthesized method 'std::basic_filebuf<char, std::char_traits<char> >::basic_filebuf(const std::basic_filebuf<char, std::char_traits<char> >&)' first required here |
 C++\Uproject\function.hpp|12|note: synthesized method 'std::basic_fstream<char, std::char_traits<char> >::basic_fstream(const std::basic_fstream<char, std::char_traits<char> >&)' first required here |
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\ext\new_allocator.h||In member function 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const _Tp&) [with _Tp = books]':|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\stl_vector.h|737|instantiated from 'void std::vector<_Tp, _Alloc>::push_back(const _Tp&) [with _Tp = books, _Alloc = std::allocator<books>]'|
 C++\Uproject\function.cpp|54|instantiated from here|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\ext\new_allocator.h|105|note: synthesized method 'books::books(const books&)' first required here |
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\ios_base.h||In member function 'std::basic_ios<char, std::char_traits<char> >& std::basic_ios<char, std::char_traits<char> >::operator=(const std::basic_ios<char, std::char_traits<char> >&)':|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|47|instantiated from 'void std::vector<_Tp, _Alloc>::_M_insert_aux(__gnu_cxx::__normal_iterator<typename std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type::pointer, std::vector<_Tp, _Alloc> >, const _Tp&) [with _Tp = books, _Alloc = std::allocator<books>]'|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\stl_vector.h|741|instantiated from 'void std::vector<_Tp, _Alloc>::push_back(const _Tp&) [with _Tp = books, _Alloc = std::allocator<books>]'|
 C++\Uproject\function.cpp|54|instantiated from here|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\ios_base.h|793|error: 'std::ios_base& std::ios_base::operator=(const std::ios_base&)' is private|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|47|error: within this context|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd||In member function 'std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::operator=(const std::basic_istream<char, std::char_traits<char> >&)':|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|53|note: synthesized method 'std::basic_ios<char, std::char_traits<char> >& std::basic_ios<char, std::char_traits<char> >::operator=(const std::basic_ios<char, std::char_traits<char> >&)' first required here |
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd||In member function 'std::basic_iostream<char, std::char_traits<char> >& std::basic_iostream<char, std::char_traits<char> >::operator=(const std::basic_iostream<char, std::char_traits<char> >&)':|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|59|note: synthesized method 'std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::operator=(const std::basic_istream<char, std::char_traits<char> >&)' first required here |
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd||In member function 'std::basic_fstream<char, std::char_traits<char> >& std::basic_fstream<char, std::char_traits<char> >::operator=(const std::basic_fstream<char, std::char_traits<char> >&)':|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|87|note: synthesized method 'std::basic_iostream<char, std::char_traits<char> >& std::basic_iostream<char, std::char_traits<char> >::operator=(const std::basic_iostream<char, std::char_traits<char> >&)' first required here |
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\streambuf||In member function 'std::basic_filebuf<char, std::char_traits<char> >& std::basic_filebuf<char, std::char_traits<char> >::operator=(const std::basic_filebuf<char, std::char_traits<char> >&)':|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\streambuf|778|error: 'std::basic_streambuf<_CharT, _Traits>& std::basic_streambuf<_CharT, _Traits>::operator=(const std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char, _Traits = std::char_traits<char>]' is private|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|78|error: within this context|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd||In member function 'std::basic_fstream<char, std::char_traits<char> >& std::basic_fstream<char, std::char_traits<char> >::operator=(const std::basic_fstream<char, std::char_traits<char> >&)':|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|87|instantiated from 'void std::vector<_Tp, _Alloc>::_M_insert_aux(__gnu_cxx::__normal_iterator<typename std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type::pointer, std::vector<_Tp, _Alloc> >, const _Tp&) [with _Tp = books, _Alloc = std::allocator<books>]'|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\stl_vector.h|741|instantiated from 'void std::vector<_Tp, _Alloc>::push_back(const _Tp&) [with _Tp = books, _Alloc = std::allocator<books>]'|
 C++\Uproject\function.cpp|54|instantiated from here|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|87|note: synthesized method 'std::basic_filebuf<char, std::char_traits<char> >& std::basic_filebuf<char, std::char_traits<char> >::operator=(const std::basic_filebuf<char, std::char_traits<char> >&)' first required here |
 C++\Uproject\function.hpp||In member function 'books& books::operator=(const books&)':|
 C++\Uproject\function.hpp|12|note: synthesized method 'std::basic_fstream<char, std::char_traits<char> >& std::basic_fstream<char, std::char_traits<char> >::operator=(const std::basic_fstream<char, std::char_traits<char> >&)' first required here |
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\vector.tcc||In member function 'void std::vector<_Tp, _Alloc>::_M_insert_aux(__gnu_cxx::__normal_iterator<typename std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type::pointer, std::vector<_Tp, _Alloc> >, const _Tp&) [with _Tp = books, _Alloc = std::allocator<books>]':|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\stl_vector.h|741|instantiated from 'void std::vector<_Tp, _Alloc>::push_back(const _Tp&) [with _Tp = books, _Alloc = std::allocator<books>]'|
 C++\Uproject\function.cpp|54|instantiated from here|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\vector.tcc|312|note: synthesized method 'books& books::operator=(const books&)' first required here |
||=== Build finished: 8 errors, 0 warnings ===|
P-61338
Unlimited
Temat założony przez niniejszego użytkownika
» 2012-07-29 14:43:03
Nie rozumiem dlaczego ten program działa:
C/C++
#include <iostream>
#include <string>
#include <vector>
#include <cstdlib>
using namespace std;

class samochody
{
private:
    string marka, model, paliwo, Xmarka, Xmodel, Xpaliwo, fraza;
    int pojemnosc, rok, Xpojemnosc, Xrok, x;
    size_t ZnalezionaFraza;
    samochody( string xmarka, string xmodel, string xpaliwo, int xpojemnosc, int xrok );
    vector < samochody > samochod;
public:
    samochody() { };
    void wyswietl();
    void dodaj();
    void edytuj();
    void usun();
    void szukaj();
};

samochody::samochody( string xmarka, string xmodel, string xpaliwo, int xpojemnosc, int xrok )
    : marka( xmarka )
    , model( xmodel )
    , paliwo( xpaliwo )
    , pojemnosc( xpojemnosc )
    , rok( xrok )
{
}

void samochody::wyswietl()
{
    for( unsigned int i = 0; i < samochod.size(); i++ )
    {
        cout << endl;
        cout << i + 1 << ". Marka: " << samochod[ i ].marka << endl;
        cout << "   Model: " << samochod[ i ].model << endl;
        cout << "   Paliwo: " << samochod[ i ].paliwo << endl;
        cout << "   Pojemnosc: " << samochod[ i ].pojemnosc << endl;
        cout << "   Rok: " << samochod[ i ].rok << endl;
    }
    cout << endl;
    system( "pause" );
}

void samochody::dodaj()
{
    cout << endl;
    cout << "Podaj marke: ";
    cin >> Xmarka;
    cout << "Podaj model: ";
    cin >> Xmodel;
    cout << "Podaj paliwo: ";
    cin >> Xpaliwo;
    cout << "Podaj pojemnosc: ";
    cin >> Xpojemnosc;
    cout << "Podaj rok: ";
    cin >> Xrok;
    samochod.push_back( samochody( Xmodel, Xmarka, Xpaliwo, Xpojemnosc, Xrok ) );
    cout << endl << "Dodano pomyslnie!" << endl << endl;
    system( "pause" );
}

void samochody::edytuj()
{
    cout << endl;
    cout << "Podaj index pojazdu: ";
    cin >> x;
    cout << endl << "Aktualne zestawienie dla indeksu nr " << x << ":" << endl;
    cout << x << ". Marka: " << samochod[ x - 1 ].marka << endl;
    cout << "   Model: " << samochod[ x - 1 ].model << endl;
    cout << "   Paliwo: " << samochod[ x - 1 ].paliwo << endl;
    cout << "   Pojemnosc: " << samochod[ x - 1 ].pojemnosc << endl;
    cout << "   Rok: " << samochod[ x - 1 ].rok << endl;
    cout << endl << "Podaj nowe zestawienie: " << endl;
    cout << x << ". Marka: ";
    cin >> samochod[ x - 1 ].marka;
    cout << "   Model: ";
    cin >> samochod[ x - 1 ].model;
    cout << "   Paliwo: ";
    cin >> samochod[ x - 1 ].paliwo;
    cout << "   Pojemnosc: ";
    cin >> samochod[ x - 1 ].pojemnosc;
    cout << "   Rok: ";
    cin >> samochod[ x - 1 ].rok;
    cout << endl << "Zedytowano pomyslnie!" << endl << endl;
    system( "pause" );
}

void samochody::usun()
{
    cout << endl;
    cout << "Podaj index pojazdu: ";
    cin >> x;
    samochod.erase( samochod.begin() + x - 1 );
    cout << endl << "Usunieto pomyslnie!" << endl << endl;
    system( "pause" );
}

void samochody::szukaj()
{
    cout << "Podaj fraze wyszukiwania: ";
    cin.sync();
    getline( cin, fraza );
    for( unsigned int i = 0; i < samochod.size(); i++ )
    {
        ZnalezionaFraza = samochod[ i ].marka.find( fraza );
        if( ZnalezionaFraza != string::npos )
        {
            cout << endl << i + 1 << ". Znaleziono";
        }
        else
        {
            ZnalezionaFraza = samochod[ i ].model.find( fraza );
            if( ZnalezionaFraza != string::npos )
            {
                cout << endl << i + 1 << ". Znaleziono";
            }
            else
            {
                ZnalezionaFraza = samochod[ i ].paliwo.find( fraza );
                if( ZnalezionaFraza != string::npos )
                {
                    cout << endl << i + 1 << ". Znaleziono";
                }
            }
        }
    }
    cout << endl << endl;
    system( "pause" );
}

int main()
{
    int wybor;
    samochody car;
   
    do
    {
        system( "cls" );
        cout << "[1] Wyswietl samochody" << endl;
        cout << "[2] Dodaj nowy samochod" << endl;
        cout << "[3] Edytuj samochod" << endl;
        cout << "[4] Usun wpis samochodu" << endl;
        cout << "[5] Szukaj" << endl;
        cout << "[0] Zakoncz" << endl << endl;
        cout << "Twoj wybor: ";
        cin >> wybor;
       
        switch( wybor )
        {
        case 1:
            {
                car.wyswietl();
                break;
            }
        case 2:
            {
                car.dodaj();
                break;
            }
        case 3:
            {
                car.edytuj();
                break;
            }
        case 4:
            {
                car.usun();
                break;
            }
        case 5:
            {
                car.szukaj();
                break;
            }
        }
    } while( wybor != 0 );
   
    return 0;
}


a ten nie:
C/C++
// Platforma: Windows (x32 & x64)
// Kompilator: GNU GCC
// Srodowisko: Code::Blocks 10.05
// Autor: W. Michal
// E-mail: unlimited@onet.pl

#include <iostream> //podstawowa biblioteka do obslugi m.in. cout, cin
#include <fstream> //biblioteka do obslugi plików
#include <string> //biblioteka do obslugi lancuchów znaków
#include <cstdlib> //biblioteka do obslugi komend m.in. ( zatrzymanie programu, usuwanie pliku )
#include <vector> //biblioteka potrzebna do stworzenia nieskonczonej tablicy
using namespace std; //zadeklarowanie przestrzeni nazw

class books //glowna klasa programu
{
private:
    string autor, tytul, wydawnictwo, Xautor, Xtytul, Xwydawnictwo, sciezka, fraza;
    int rok, strony, Xrok, Xstrony, ilosc, n, x, liczba, dol, gora;
    size_t ZnalezionaFraza;
    fstream plik;
    books( string xautor, string xtytul, string xwydawnictwo, int xrok, int xstrony );
    vector < books > ksiazka;
public:
    int wybor1, wybor2, wybor3;
    bool sprawdz;
    books();
    void clear();
    void header();
    void add_book();
    void edit_book();
    void remove_book();
    void search_autor();
    void search_tytul();
    void search_wydawnictwo();
    void search_rok();
    void search_strony();
    void view_all_books();
    void create_file();
    void remove_file();
    void load_file();
    void path_file();
    void view_path_file();
    void information();
};

books::books( string xautor, string xtytul, string xwydawnictwo, int xrok, int xstrony ) //konstruktor nr 1
    : autor( xautor )
    , tytul( xtytul )
    , wydawnictwo( xwydawnictwo )
    , rok( xrok )
    , strony( xstrony )
{
}

books::books() //konstruktor nr 2
{
    n = 0;
}

void books::clear()
{
    cin.clear();
    cin.sync();
}

void books::header()
{
    cout << "\t\t    Witaj w programie! Created by Unlimited!" << endl;
    cout << "\t\t       [ Projekt: zadanie domowe z PSiO ]" << endl << endl;
}

void books::add_book()
{
    header();
    n++;
    clear();
    cout << "Podaj tytul ksiazki: ";
    getline( cin, Xtytul );
    cout << "Podaj autora: ";
    getline( cin, Xautor );
    cout << "Podaj wydawnictwo ksiazki: ";
    getline( cin, Xwydawnictwo );
    do
    {
        cout << "Podaj rok wydania: ";
        clear();
        cin >> Xrok;
        sprawdz = cin.good();
    } while( sprawdz == false );
   
    do
    {
        cout << "Podaj ilosc stron: ";
        clear();
        cin >> Xstrony;
        sprawdz = cin.good();
    } while( sprawdz == false );
   
    ksiazka.push_back( books( Xautor, Xtytul, Xwydawnictwo, Xrok, Xstrony ) );
}

void books::edit_book()
{
    header();
    if( n > 0 )
    {
        do
        {
            cout << "Podaj LP wpisu ksiazki: ";
            clear();
            cin >> x;
            sprawdz = cin.good();
        } while( sprawdz == false || x > n || x <= 0 );
       
        cout << endl << "Aktualne zestawienie: " << endl;
        cout << x << ". Tytul: " << ksiazka[ x - 1 ].tytul << endl;
        cout << "   Autor: " << ksiazka[ x - 1 ].autor << endl;
        cout << "   Wydawnictwo: " << ksiazka[ x - 1 ].wydawnictwo << endl;
        cout << "   Rok wydania: " << ksiazka[ x - 1 ].rok << endl;
        cout << "   Ilosc stron: " << ksiazka[ x - 1 ].strony << endl << endl;
        cout << "Podaj nowe zestawienie:" << endl;
        clear();
        cout << x << ". Tytul: ";
        getline( cin, ksiazka[ x - 1 ].tytul );
        cout << "   Autor: ";
        getline( cin, ksiazka[ x - 1 ].autor );
        cout << "   Wydawnictwo: ";
        getline( cin, ksiazka[ x - 1 ].wydawnictwo );
        do
        {
            cout << "   Rok wydania: ";
            clear();
            cin >> ksiazka[ x - 1 ].rok;
            sprawdz = cin.good();
        } while( sprawdz == false );
       
        do
        {
            cout << "   Ilosc stron: ";
            clear();
            cin >> ksiazka[ x - 1 ].strony;
            sprawdz = cin.good();
        } while( sprawdz == false );
       
        cout << endl << "Zedytowano pomyslnie!" << endl << endl;
    }
    else
    {
        cout << "Brak ksiazek!" << endl << endl;
    }
    system( "pause" );
}

void books::remove_book()
{
   
}

void books::search_autor()
{
   
}

void books::search_tytul()
{
   
}

void books::search_wydawnictwo()
{
   
}

void books::search_rok()
{
   
}

void books::search_strony()
{
   
}

void books::view_all_books()
{
   
}

void books::create_file()
{
   
}

void books::remove_file()
{
   
}

void books::load_file()
{
   
}

void books::path_file()
{
   
}

void books::view_path_file()
{
   
}

void books::information()
{
    books::header();
    cout << "Wykonanie: W. Michal" << endl;
    cout << "Klasa: III bT (2012/2013)" << endl;
    cout << "Srodowisko: Code::Bloks 10.05" << endl;
    cout << "Kompilator: GNU GCC" << endl;
    cout << "E-mail: unlimited@onet.pl" << endl << endl;
    cout << "Dodatkowe:" << endl;
    cout << "   + Program zabezpieczony jest przed 'niesfornym' uzytkownikiem" << endl;
    cout << "     i nie da sie go 'zcrashowac' np podajac litere badz wyraz" << endl;
    cout << "     do zmiennej 'int' (rok wydania, ilosc stron)." << endl;
    cout << "   + Program dostepny na platformy: Linux / Windows (x32, x64)" << endl;
    cout << "   + Nieograniczona tablica na ksiazki ( vector )" << endl;
    cout << "   + Mozliwe wczytywanie pliku z ksiazkami do programu" << endl;
    cout << "   - Program konsolowy. Byc moze niedlugo bedzie graficzny." << endl;
    cout << "   - Nie gwarantuje poprawnosci kodu zrodlowego programu z innymi" << endl;
    cout << "     kompilatorami niz w/w." << endl << endl;
    system( "pause" );
}

int main() //glowna czesc programu
{
    books book;
   
    do
    {
        do
        {
            system( "cls" );
            book.header();
            cout << "[1] Dodaj nowa ksiazke" << endl;
            cout << "[2] Edytuj ksiazke" << endl;
            cout << "[3] Usun ksiazke" << endl;
            cout << "[4] Wyswietl/Wyszukaj ksiazki" << endl;
            cout << "[5] Opcje" << endl;
            cout << "[6] Wykonanie/Kontakt" << endl;
            cout << "[0] Zakoncz" << endl << endl;
            cout << "Twoj wybor: ";
            book.clear();
            cin >> book.wybor1;
            book.sprawdz = cin.good();
            system( "cls" );
        } while( book.sprawdz == false );
       
        switch( book.wybor1 )
        {
        case 1:
            {
                book.add_book();
                break;
            }
        case 2:
            {
                book.edit_book();
                break;
            }
        case 3:
            {
                book.remove_book();
                break;
            }
        case 4:
            {
                do
                {
                    do
                    {
                        system( "cls" );
                        book.header();
                        cout << "[1] Szukaj - Tytul" << endl;
                        cout << "[2] Szukaj - Autor" << endl;
                        cout << "[3] Szukaj - Wydawnictwo" << endl;
                        cout << "[4] Szukaj - Rok wydania" << endl;
                        cout << "[5] Szukaj - Ilosc stron" << endl;
                        cout << "[6] Pokaz wszystkie" << endl;
                        cout << "[0] Powrot" << endl << endl;
                        cout << "Twoj wybor: ";
                        book.clear();
                        cin >> book.wybor2;
                        book.sprawdz = cin.good();
                        system( "cls" );
                    } while( book.sprawdz == false );
                   
                    switch( book.wybor2 )
                    {
                    case 1:
                        {
                            book.search_tytul();
                            break;
                        }
                    case 2:
                        {
                            book.search_autor();
                            break;
                        }
                    case 3:
                        {
                            book.search_wydawnictwo();
                            break;
                        }
                    case 4:
                        {
                            book.search_rok();
                            break;
                        }
                    case 5:
                        {
                            book.search_strony();
                            break;
                        }
                    case 6:
                        {
                            book.view_all_books();
                            break;
                        }
                    }
                } while( book.wybor2 );
               
                break;
            }
        case 5:
            {
                do
                {
                    do
                    {
                        system( "cls" );
                        book.header();
                        cout << "[1] Utworz plik z danymi" << endl;
                        cout << "[2] Usun plik z danymi" << endl;
                        cout << "[3] Podaj sciezke pliku" << endl;
                        cout << "[4] Zaladuj plik" << endl;
                        cout << "[5] Sprawdz aktualny odnosnik pliku" << endl;
                        cout << "[0] Powrot" << endl << endl;
                        cout << "Twoj wybor: ";
                        book.clear();
                        cin >> book.wybor3;
                        book.sprawdz = cin.good();
                        system( "cls" );
                    } while( book.sprawdz == false );
                   
                    switch( book.wybor3 )
                    {
                    case 1:
                        {
                            book.create_file();
                            break;
                        }
                    case 2:
                        {
                            book.remove_file();
                            break;
                        }
                    case 3:
                        {
                            book.path_file();
                            break;
                        }
                    case 4:
                        {
                            book.load_file();
                            break;
                        }
                    case 5:
                        {
                            book.view_path_file();
                            break;
                        }
                    }
                } while( book.wybor3 );
               
                break;
            }
        case 6:
            {
                book.information();
                break;
            }
        }
    } while( book.wybor1 );
   
    return 0; //zamkniecie programu
}
P-61372
mostrom
» 2012-07-29 16:01:01
Edit: Nie dopatrzyłem się wywołania konstruktora prywatnego. Jak Stawiasz w main() obiekt typu Book, to wywoływany jest konstruktor domyślny, czyli wypełniasz pole n=0.
Edit 2: DOpatrzyłem sie.. przepraszam.

Twój kompilator ma jakiś problem z alokowaniem pamięci elementów wektora.

może masz starą wersję kompilatora i musisz deklarować wektor tak:  std::vector<books, allocator> baza;

Edit 3: Nie czytaj tego na górze :P

Wykasuj w sekcji prywatnej klasy books pole:
C/C++
fstream plik;
P-61379
Unlimited
Temat założony przez niniejszego użytkownika
» 2012-07-29 16:26:47
Faktycznie danie w komentarz linijki
fstream plik;
 rozwiązało problem. Lecz dlaczego tak się dzieje?

Nie mogę zrezygnować z obsługi plików bo to mi jest potrzebne. Co zrobić?
P-61384
« 1 » 2
  Strona 1 z 2 Następna strona