'getline (cin, string)' работает эффективно, когда в моем коде нет предыдущего ввода.
Когда есть предыдущий ввод (тип данных int), компилятор игнорирует код для ввода строкового типа данных 'getline (cin, string) 'и продолжает работу с остальной частью программы.
Это просто домашнее задание, я уже пытался изменить тип данных.Я написал cin.clear ();и cin.sync ();до функции getline.
#include <iostream>
#include <string>
using namespace std;
int main() {
const int SECRET =11;
double num1;
double num2;
int newNum;
string name;
cout <<"Please enter two whole numbers" <<endl;
cin >>num1 >>num2; /*HERE I MADE THIS LINE A COMMENT AND THE GETLINE FUNTION WORKED AS USUAL.*/
cout <<"\nThe value of the first number is " <<num1 <<" and the value of the second number is " <<num2 <<endl;
newNum =(num1*2) +num2;
cout <<"The new number is: "<< newNum <<endl;
newNum =newNum +SECRET;
cout <<"The UPDATED new number is: " <<newNum <<endl;
cin.clear();
cin.sync();
cout <<"Imput your name" <<endl;
getline (cin,name);
cout <<"Your name is " <<name <<endl;
return 0;
}
Я ожидал ввести данные 'name' в программу.Но программа перешла строку кода или использовала оставшиеся данные.