Problem z cin przy wprowadzaniu spacji przy użyciu klasy string

Mam następujący kod:

main.cpp
#include <iostream>
#include <string>

using namespace std;

string name;
string age;

int main() {
    cout <<"Name: ";
    cin >> name;
    cout << endl;
    cout <<"Age: ";
    cin >> age;
    cout << endl;
    cout << "Your name is " << name << ", and you are " << age << " years old."  << endl;
    cout << "Press enter to close this application" << endl;
    getchar();
    return 0;
}

Zauważyłem, że jeśli wstawię spację na wejściu dla nazwy, nie da mi to szansy na wpisanie nazwy i wyświetli wpis po przestrzeni jako wiek. Przepraszam, jeśli jest to błąd początkującego, który prawdopodobnie tak jest. Wcześniej zaprogramowałem Java i zdecydowałem, że chcę przełączyć się na C ++, ponieważ lepiej pasuje do moich potrzeb. Prawdopodobnie formatuję swój kod dziwnie do twoich standardów, popraw go, jeśli chcesz.

Zauważyłem również inny błąd, z którym nigdy nie miałem żadnych problemów w Javie. Nie wiem, jak zapobiec natychmiastowemu zamknięciu go po zakończeniu przetwarzania. Słyszałem, że możesz użyć "systemu. (" Pauza "); ale powiedziano mi również, żeby go nie używać. Naprawdę jestem zdezorientowany tym, czego użyć. Słyszałem, że użyłem getchar () ;, ale nie robi nic.

Każda pomoc byłaby bardzo mile widziana, ponieważ jestem kompletnym początkującym, jeśli chodzi o C ++.

questionAnswers(2)

yourAnswerToTheQuestion