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

Problem z wczytywanie tekstu do zmiennej

Ostatnio zmodyfikowano 2012-03-20 17:10
Autor Wiadomość
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!
C/C++
#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;
}
P-52941
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.
C/C++
#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;
}
P-52975
« 1 »
  Strona 1 z 1