Dlaczego ten program wypisuje tylko tekst "Podaj imie i nazwisko" i kończy działanie, po wybraniu opcji '2', która wywołuje funkcję func1
, która pyta o imię i nazwisko a następnie je pobiera przez getline(cin, name)
? Powinien czekać na wpisanie imienia nazwiska a później je wypisać.
#include <iostream>
using namespace std;
void func1()
{
string name;
cout << "Podaj imie i nazwisko: \n";
getline(cin, name);
cout << name;
}
int main()
{
cout << "Wybierz odpowiednia opcje: \n";
cout << "1. Wypisz 1 \n";
cout << "2. Podaj imie i nazwisko \n";
cout << "3. Wypisz 3 \n";
cout << "4. Wypisz 4 \n";
char choice;
cin >> choice;
switch (choice)
{
case '1':
cout << 1;
break;
case '2':
func1();
break;
case '3':
cout << 3;
break;
case '4':
cout << 4;
break;
default:
cout << "Wybrales zla opcje";
break;
}
return 0;
}