In pratica ho una struct, con una stringa e un float.
Vorrei prendere in input questi ultimi, e terminare quando la stringa è uguale ad "exit".
#include <iostream>
#include <string>
using namespace std;
struct Item {
string name;
float price;
} NewItem;
int main()
{
do
{
cout << "Nome: "; getline(cin, NewItem.name);
cout << "Prezzo: "; cin >> NewItem.price;
} while (NewItem.name != "exit");
}
Il problema viene dopo la prima esecuzione del ciclo, dalla seconda volta salta direttamente alla seconda istruzione..
Cioe:
Nome: Primo
Prezzo: 1.00;
Nome: Prezzo: 2.00
Nome: Prezzo: 3.00
In pratica non mi fa inserire la stringa piu' volte, e vorrei sapere il perchè