Nie działająca funkcja getline(cin, napis) w klasie
Ostatnio zmodyfikowano 2015-03-20 21:23
Mlorism Temat założony przez niniejszego użytkownika |
Nie działająca funkcja getline(cin, napis) w klasie » 2015-03-20 20:56:19 Korzystam z code::blocksa. Zacząłem ćwiczyć z klasami i chciałem, aby w trakcie wprowadzania w voidzie danych, była możliwość do stringa wprowadzić napis dłuższy niż jedno słowo, więc skorzystałem ze znanej mi funkcji getline(cin, napis). Funkcja ta mi prawidłowo działa w mainie, ale jako część klasy już nie i jest ignorowana przez program. Co muszę dopisać, aby zadziałało? #include <iostream> #include <cstdlib>
using namespace std;
class bohater { public: string imie, klasa, poczucie_humoru; int wiek; void stworz_bohatera() { cout << "Hej! Stworzymy razem bohatera! Opowiedz cos o nim." << endl; cout << "Podaj imie: "; cin >> imie; cout << "Podaj wiek: "; cin >> wiek; cout << "Podaj klase postaci/zawod: "; cin >> klasa; cout << "Podaj jakie ma poczucie humoru: "; getline( cin, poczucie_humoru ); } void pokaz_bohatera() { system( "cls" ); cout << "No dobrze, to teraz podsumujmy:" << endl; cout << "Byl sobie " << imie << ", mowiono, ze z niego " << klasa << ". " << endl << "Na karku mial " << wiek << " wiosen, a jego poczucie humoru bylo " << poczucie_humoru << "."; } };
int main() { bohater pierwszy; pierwszy.stworz_bohatera(); pierwszy.pokaz_bohatera(); cout << endl; return 0; }
|
|
Lora |
» 2015-03-20 21:15:04 spróbuj użyć funkcji przed getline. |
|
Mlorism Temat założony przez niniejszego użytkownika |
» 2015-03-20 21:23:48 Dziękuję, zadziałało. :) |
|
« 1 » |