reading from stdin in c++

Solution 1:

You have not defined the variable input_line.

Add this:

string input_line;

And add this include.

#include <string>

Here is the full example. I also removed the semi-colon after the while loop, and you should have getline inside the while to properly detect the end of the stream.

#include <iostream>
#include <string>

int main() {
    for (std::string line; std::getline(std::cin, line);) {
        std::cout << line << std::endl;
    }
    return 0;
}

Solution 2:

//declaration:    
    int i2;
    double d2;
    string s2;
//reading by keyboard

    cin >> i2;
    cin >> d2;
    cin.get();
    getline(cin, s2);
//printing:
    cout << i+i2 << endl;    
    cout<< std::fixed <<std::setprecision(1)<< d + d2 << endl;
    cout << s << s2;

you can run this code:

#include <iostream>
#include <iomanip>
#include <limits>

using namespace std;

int main() {
    int i = 4;
    double d = 4.0;
    string s = "hi ";
    

    int i2;
    double d2;
    string s2;
    cin >> i2;
    cin >> d2;
    cin.get();
    getline(cin, s2);
    cout << i+i2 << endl;
    cout<< std::fixed <<std::setprecision(1)<< d + d2 << endl;
    cout << s << s2;

    return 0;
}