Baza danych w konsoli (na klasach)
Ostatnio zmodyfikowano 2014-05-06 13:22
ulou Temat założony przez niniejszego użytkownika |
Baza danych w konsoli (na klasach) » 2014-05-02 19:55:53 #include <iostream> #include <string> #include <vector> #include <fstream>
using namespace std;
int p_ID = 0;
class produkt; class komputer; class konsola; class telefon;
bool warunek_k( komputer a, komputer b ); bool warunek_la( konsola a, konsola b ); bool warunek_t( telefon a, telefon b );
class komputer { friend class produkt; string k_nazwa; bool k_stan; float k_cena; int k_gwarancja; public: komputer() { }; ~komputer() { }; int generuj_ID() { return ++p_ID; } void dodaj_komputer() { cout << "Nazwa : "; cin.ignore(); getline( cin, k_nazwa ); cout << "Stan : "; cin >> k_stan; cout << "Cena : "; cin >> k_cena; cout << "Gwarancja :"; cin >> k_gwarancja; cout << "Produkt zostal dodany." << endl; } void wyswietl() { cout << "Nazwa: " << k_nazwa << endl; cout << "Stan(1-nowy, 0-uzywany): " << k_stan << endl; cout << "Cena: " << k_cena << endl; cout << "Gwarancja(mc-y): " << k_gwarancja << endl; } };
class produkt { friend class komputer; friend bool warunek_k( komputer a, komputer b ); vector < komputer > k_baza; public: void dodaj_komputer() { komputer pc; pc.dodaj_komputer(); k_baza.push_back( pc ); } void wyswietl() { if( k_baza.size() != 0 ) { for( int i = 0; i < k_baza.size(); i++ ) { cout << i + 1 << ". "; k_baza[ i ].wyswietl(); } } else { cout << "Baza jest pusta!" << endl; } } };
int main( int argc, const char * argv[] ) { menu: cout << "-------------------------------------------" << endl; cout << "1.Dodaj " << endl; cout << "2.Wyswietl " << endl; cout << "0.Wyjscie" << endl; cout << "-------------------------------------------" << endl; produkt pro; int wybor; char wybor2; cout << "Wybor: "; cin >> wybor; switch( wybor ) { case 1: pro.dodaj_komputer(); cout << endl; break; case 2: pro.wyswietl(); cout << endl; break; case 3: default: break; } cout << "Chcesz zakonczyc? ( T/N )"; cin >> wybor2; if( wybor2 == 'n' || wybor2 == 'N' ) { goto menu; } return 0; } 2 sprawy: 1) Nie wyświetla produktu, po dodaniu go do bazy. 2) Czy jeżeli będę chciał każdą klasę zrobić w osobnym pliku to będą musiał coś zmieniać czy wystarczy samo przekopiowanie odpowiednich elementów? |
|
alixir |
» 2014-05-06 13:22:03 Nie lubię instrukcji goto, ale ogólnie wyciągnij produkt pro; int wybor; char wybor2; przed menu: |
|
« 1 » |