vector
Ostatnio zmodyfikowano 2011-05-25 19:54
czasas Temat założony przez niniejszego użytkownika |
vector » 2011-05-25 18:25:32 Witam serdecznie wlasnie bawie sie vectorami mam programik ale nie wiem jak dodawac do wektora kolejne samochody, proszę o pomoc. Oto pliki: plik.h #ifndef SAMOCHOD_H #define SAMOCHOD_H #include <string> #include <iostream>
using namespace std;
class samochod { public: void wypisz(); int waga, rok; string nazwa; };
#endif
plik.cpp #include <iostream> #include <vector> #include "plik.h" using namespace std;
void samochod::wypisz() { cout << rok << endl << waga; }
i main #include <cstdlib> #include <iostream> #include <vector> #include <conio.h> #include "plik.h" using namespace std;
int main() { vector < samochod > samochody; samochod fiesta; fiesta.waga = 30; fiesta.rok = 12990; fiesta.nazwa = "zenon"; samochody.push_back( fiesta ); samochod samara; samara.waga = 44; samara.rok = 43; samara.nazwa = "janina"; samochody.push_back( samara ); samochod samara2; samara2.waga = 424; samara2.rok = 243; samara2.nazwa = "janina2"; samochody.push_back( samara2 ); while( 1 ) { cout << "-------------------------" << endl; cout << "1: usun samochod z bazy." << "|" << endl; cout << "2: wyswietl samochody." << " |" << endl; cout << "-------------------------" << endl; cout << endl; int s; cout << endl; cin >> s; switch( s ) { case 1: int pos; cout << "Ktory samochod usunac? "; cin >> pos; { cout << endl; samochody.erase( samochody.begin() + pos - 1 ); } break; case 2: for( int i = 0; i < samochody.size(); i++ ) { cout << "Rocznik samochodu: " << samochody[ i ].rok << endl; cout << "Waga auta: " << samochody[ i ].waga << endl; cout << "Nazwa: " << samochody[ i ].nazwa << endl; cout << endl; } break; case 3: case '2': cout << "\n\n\n|----DODAWANIE_samochodu_DO_LISTY-----|"; cout << "\nPodaj wage: "; int waga; cin >> waga; cout << "rok: "; int rok; cin >> rok; cout << "nazwa: "; string nazwa; cin >> nazwa; samochody.push_back( samochod( waga, rok, nazwa ) ); cout << "\n<***ZAKONCZONO_Z_SUKCESEM***>"; break; } } system( "PAUSE" ); return EXIT_SUCCESS; }
samochod::samochod( int x_waga, int x_rok, string x_nazwa ) : waga( x_waga ) , rok( x_rok ) , nazwa( x_nazwa ) { }
Probowalem to zrobic tak ale nie idzie gdzie popelniam blad? |
|
DejaVu |
» 2011-05-25 18:54:02 |
|
czasas Temat założony przez niniejszego użytkownika |
» 2011-05-25 19:07:57 mógłbyś bardziej sprecyzować swoją wypowiedź? bo nie za bardzo wiem jak to poprawic |
|
malan |
» 2011-05-25 19:16:18 A co jest nie tak? |
|
czasas Temat założony przez niniejszego użytkownika |
» 2011-05-25 19:19:16 kompilujac ten przyklad wyskauje mi :
no matching function for call to `samochod::samochod()' candidates are: samochod::samochod(const samochod&) samochod::samochod(int, int, std::string) void std::vector<_Tp, _Alloc>::push_back(const _Tp&) [with _Tp = samochod, _Alloc = std::allocator<samochod>] |
|
programista12 |
» 2011-05-25 19:39:03 W klasie nie ma konstruktora. Spróbuj tak: class samochod { public: samochod( int rok, int waga, string nazwa ) { this->rok = rok; this->waga = waga; this->nazwa = nazwa; } samochod() { } };
Używanie: vector < samochod > samochody; samochody.push_back( samochod( 2011, 10000, "Samochodzik" );
|
|
szyx_yankez |
» 2011-05-25 19:52:27 Wystarczy, że do klasy 'samochod' dopiszesz:
samochod( int, int, string ); samochod() { }
|
|
czasas Temat założony przez niniejszego użytkownika |
» 2011-05-25 19:54:25 sorki cos z pętlą - dzieki programista12 działa ;D |
|
« 1 » |