I use getline command in a while loop. The command works fine in the first loop. But after the second loop, it just passes the getline commands and doesn't allow me to enter
I tried cin.get and cin.getline but the problem is not fixed
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int price;
void addItem(){
    string product;
    cout << "Please enter product's name: " << endl;
    getline(cin, product);
    cout << "Please enter product's price: " ;
    cin >> price;
    cout << "You have added " << product << " with a price of $" << price << " to your cart." << endl;
}
int main() {
    char answer = 'y';
    int total = 0;
    while (answer == 'y'){
        addItem();
        total += price;
        cout << "Do you want to add another product (y/n)? " ;
        cin >> answer;
    }
    if (answer != 'y'){
        cout << "Your total is $" << total << endl;
    }
    return 0;
}
 
     
     
    