내 문제는 내 프로그램에서 키보드로 입력 한 값을 읽지 않고 첫 번째, 두 번째 및 마지막으로 읽는 것입니다. 나는 cin.ignore()로 시도했다. 및 기타 솔루션 그러나 작동하지 않습니다.C++ cin.getline() fail
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);
}
영어를 제 2 언어로 사용하는 사람으로서 영어로 코딩을 시작 하시길 바랍니다. StackOverlow와 같은 사이트에서 도움을 요청하는 것이 훨씬 쉽습니다 (코드가 자체 문서화한다고 가정). – suszterpatt
키보드에서 입력 한 내용을 정확하게 (정확히) 이해하는 데 도움이되며 입력 내용 중 실제로 개행 문자와 같은 데이터 구조의 부분에 기록 된 내용이 무엇인지 파악하는 데 도움이됩니다. 또한 문제 (예 : 함수의 처음 몇 줄과 같은)와 관련이없는 소스 코드 부분을 삭제하는 것이 좋을 수도 있습니다. – Jollymorphic
@suszterpatt && @Jollymorphic : 내가 해준 조언에 감사드립니다! – freinn