Je lis un fichier dans le format suivantC++ problème avec flux de chaîne istringstream
1001 16000 300 12.50
2002 24000 360 10.50
3003 30000 300 9.50
où les éléments sont les suivants: id prêt, principal, mois, taux d'intérêt. Je ne suis pas sûr de ce que je fais mal avec mon flux de chaîne d'entrée, mais je ne lis pas les valeurs correctement parce que seul l'ID de prêt est lu correctement. Tout le reste est nul. Désolé c'est un devoir, mais je voulais juste savoir si vous pourriez m'aider à identifier mon erreur.
if(inputstream.is_open()){
/** print the results **/
cout << fixed << showpoint << setprecision(2);
cout << "ID " << "\tPrincipal" << "\tDuration" << "\tInterest" << "\tPayment" <<"\tTotal Payment" << endl;
cout << "---------------------------------------------------------------------------------------------" << endl;
/** assign line read while we haven't reached end of file **/
string line;
istringstream instream;
while(inputstream >> line){
instream.clear();
instream.str(line);
/** assing values **/
instream >> loanid >> principal >> duration >> interest;
/** compute monthly payment **/
double ratem = interest/1200.0;
double expm = (1.0 + ratem);
payment = (ratem * pow(expm, duration) * principal)/(pow(expm, duration) - 1.0);
/** computer total payment **/
totalPayment = payment * duration;
/** print out calculations **/
cout << loanid << "\t$" << principal <<"\t" << duration << "mo" << "\t" << interest << "\t$" << payment << "\t$" << totalPayment << endl;
}
}
vous avez raison. cela a réglé le problème. Merci. – user69514