Problem z wczytywanie tekstu do zmiennej
Ostatnio zmodyfikowano 2012-03-20 17:10
wojownik266 Temat założony przez niniejszego użytkownika |
Problem z wczytywanie tekstu do zmiennej » 2012-03-19 18:26:13 Poniżej zamieszczam program który na tym etapie na jakim się znajduje powinien od użytkownika pobrać w jednej funkcji tytuły książek a w drugiej funkcji te tytuły wyświetlić.. Czy ktoś wie co w tym programie zrobiłem źle i dlaczego nie pokazuje tytułów zakupionych książek? Wiem że rozwiązanie tego problemu jest zapewne banalnie proste... ale jest zawsze jakieś ale! #include <iostream> #include <vector> #include <cstring> using namespace std;
class Book { private: vector < string > lib; vector < string >::iterator pos; string tytul; int ile, i; public: Book(); ~Book(); int pobierz(); int pokarz(); }; Book::Book() { } Book::~Book() { } int Book::pobierz() { cout << "KSIEGARNIA INFORMATYCZNA - DZIAL SPRZEDAZY" << endl; cout << "-------------------------------------------" << endl; cout << "Ile ksiazek chcesz kupic?:"; cin >> ile; i = 0; do { cout << "Podaj tytul ksiazki:"; getline( cin, tytul ).get(); lib.push_back( tytul ); ++i; } while( i < ile ); return 0; } int Book::pokarz() { for( pos = lib.begin(); pos != lib.end(); ++pos ) { cout << "[" << i << "] " << "Kupiles ksiazke pt: " <<* pos << endl; } return 0; } int main() { Book bo; bo.pobierz(); bo.pokarz(); cin.get(); return 0; }
|
|
wojownik266 Temat założony przez niniejszego użytkownika |
» 2012-03-20 17:10:38 W oczekiwaniu na pomoc, diametralnie zmodyfikowałem kod programu który niechciał działac z powodu drobnej instrukcji cin.get()... Ponizej działający program zamieszczam w celech edukacyjnych. Może komuś się przyda. #include <iostream> #include <string> using namespace std;
class Book { private: string tytul[ 30 ]; string sum[ 30 ]; int i, ile, razem; public: Book(); ~Book(); int sprzedaj_tytul(); int pokarz_tytul(); int pokarz_cene(); int podlicz(); }; Book::Book() { i = 0, ile = 0, razem = 0; } Book::~Book() { } int Book::sprzedaj_tytul() { cout << endl; cout << "KSIEGARNIA INFORMATYCZNA - SPRZEDAZ" << endl; cout << "-----------------------------------" << endl; cout << "Ile Ksiazek chcesz kupic?:"; cin >> ile; cin.get(); do { for( int j = 0; j < ile; ++j ) { cout << "Podaj tytul ksiazki:"; getline( cin, tytul[ j ] ); for( int j = 0; j < ile; ++j ) sum[ j ] = tytul[ j ]; } } while( i >= ile ); } int Book::pokarz_tytul() { cout << endl; cout << "KUPIONE KSIAZKI" << endl; cout << "-----------------" << endl; for( int i = 0; i < ile; ++i ) { cout << "[" << i + 1 << "] " << sum[ i ] << endl; } } int Book::pokarz_cene() { cout << endl; cout << "CENA ZAKUPIONEJ KSIAZKI" << endl; cout << "------------------------" << endl; for( int i = 0; i < ile; ++i ) { cout << "[" << i + 1 << "] " << sum[ i ] << " : " << i + 100 << " $ " << endl; razem += i + 100; } } int Book::podlicz() { cout << endl; cout << "DO ZAPLATY" << endl; cout << "----------" << endl; cout << "Kwota nalezna:" << razem << " $ " << endl; }
int main() { Book bo; bo.sprzedaj_tytul(); bo.pokarz_tytul(); bo.pokarz_cene(); bo.podlicz(); cin.get(); return 0; } |
|
« 1 » |