моя проблема в том, что моя программа не читает значения, которые я ввожу с клавиатуры, читает только 1, 2 и последнее. Я пытался с cin.ignore (); и другие решения, но не работает.
Это ввод:
Insurance 1
Model: mazda
serial number: 60
Price: 9999
Contract number: 76Z
Contract money: 12
// после всех символов был \ n ввод.
Это вывод:
Insurance 1
Model: mazda
serial number: 60
Price: 0
Contract number:
Contract money: 12
Я пишу здесь только функцию, а не всю программу:
struct tseg{
char model[15]; //nombre del modelo
char serialnumber[15]; //número de serie del coche
double price; //precio de compra del coche
char contractnumber[15]; //numero del seguro
double contractmoney; //importe del contrato
};
bool registrarSeguro(tconces *a, int p, int total){ //p is the position!!!
a[p].contrato = new tseg[a[p].numSegurosActuales];
cout << "Enter model: " <<endl;
cin.ignore();
cin.getline(a[p].contrato[a[p].numSegurosActuales].model, 15);
cout << "Enter serial number: " <<endl;
cin.ignore();
cin.getline(a[p].contrato[a[p].numSegurosActuales].serialnumber, 15);
cout << "Enter price: " <<endl;
cin.ignore();
cin >> a[p].contrato[a[p].numSegurosActuales].price;
cout << "Enter contract number: " <<endl;
cin.ignore();
cin.getline(a[p].contrato[a[p].numSegurosActuales].numContrato, 15);
cout << "Enter contract number: " <<endl;
cin >> a[p].contrato[a[p].numSegurosActuales].impContrato;
a[p].numSegurosActuales++;
sw = true;
return (sw);
}