I am trying to store multiple words into a single string variable. I used getline(cin,stringname) but if I choose to do another formulation, the program skips over inputting a new name for the formulation and defaults it as blank the next time around the loop. How do I make it so that I can input a new formulation name the next time around the loop?
#include <iostream>
#include <string>
using namespace std;
//Declaring Variables
string formulation;
int main()
{
    int counter = 1, treatment;
    double hardness, max=-78688, max2 = -78687;
    char answer;
    //Input
    do{
    cout << "What is the name of the formulation?\n";
    getline(cin,formulation);
    cout << "How many treatments will the formulation " << formulation << " use?\n";
    cin >> treatment;
        while (treatment < 3)
        {
            cout << "Each formulation must use atleast three treatments. Please enter a valid value." << endl;
            cin >> treatment;
        }
        for (treatment; counter <= treatment; counter++ )
        {
            cout << "Please enter the hardness for treatment " << counter << " of formulation " << formulation <<
            ": ";
            cin >> hardness;
            while ((hardness <= 0) || (hardness > 11))
            {
                cout << "The value you have entered is invalid. The hardness must be greater than zero and less than or equal to 11. Please enter a new value" << endl;
                cin >> hardness;
             }
            if (hardness > max)
            {
                 max2 = max;
                 max = hardness;
            }
            else if (hardness > max2)
            {
                max2 = hardness;
            }
         }
         //output
         cout << "The highest hardness for " << formulation <<" is " << max << " mohs." << endl<< "The second highest hardness for " << formulation << " is " << max2 << " mohs." << endl;
        cout << "Are there any more formulations? [y/n]" << endl;
        cin >> answer;
    } while ((((answer == 'y') || answer == 'Y')) && (counter = 1)&& (max=-78688) && (max2=-78687));
    return 0;
}
