我被卡在一个奇怪的关闭我的小程序!即使我有cin.get(),程序也会停止。
程序会计算达到储蓄目标的年数。 但在代码中没有问题,我根本没有看到问题。当我运行程序时,它完全停止后,这也是当我把cin.get();这应该让程序等待按键。
未检测到错误。我还补充说明,我已经在VS 2015和Netbeans中使用了相同的代码,结果相同。我在VS中创建了一个新项目,并从netbeans复制了代码。
希望快速回答!
这是我的代码!
/* Savingscalculation.cpp : Defines the entry point for the console
application.*/
#include "stdafx.h"
#include "iostream"
using namespace std;
int main()
{
// Sätter variabler för programmet.
float inputsaving;
float savingoal;
int years = 0;
float interest;
float savingsum;
float savsum;
/* Sätter ett introduktionsmeddelande, som får programmet att upplevas mer
proffessionellt */
cout << " ------------------------------" << endl;
cout << "| Räkna ut hur många år ditt |" << endl;
cout << "| sparande kommer att ta! |" << endl;
cout << "| Tryck enter för att |" << endl;
cout << "| fortsätta. |" << endl;
cout << " ------------------------------" << endl;
cin.get();
cout << "---------------------------------" << endl;
cout << "Ange ett sparmål: "; // Användaren ombeds att ange ett sparmål
cin >> savingoal; // Det angivna sparmålet sätts till variabeln
cout << "---------------------------------" << endl;
cout << "Ange en årlig insättning: ";
// Användaren ombeds att ange en årlig insättning
cin >> inputsaving;
// Den angivna insättningen sätts till variabeln inputsaving
cout << "---------------------------------" << endl;
cout << "Ange en årlig sparränta: ";
// Användaren ombeds att ange en procentsats
cin >> interest; // Den angivna räntan sätts till variabeln interest
cout << "---------------------------------" << endl;
// Inmatning klar
// uträkning börjar //
// Algoritmen för att räkna ut en insättning + räntan för ett år
savingsum = inputsaving + inputsaving*(interest/100); cout << endl;
savsum = savingsum;
/* Den uträknade summan kopieras in i variabeln
savsum för vidare uträkning i loopen */
while (savingsum < savingoal)
/* Jämför sparandet per år med sparmålet,
loopen fortsätter tills sparmålet uppnåtts. */
{
years++; // Räknar ut antal år med +1 för varje varv i loopen
savingsum = savingsum + savsum; /* Lägger på 1 års insättning inkl.
räntan för varje nytt år (varv) */
}
// uträkning klar //
// Sparmålet uppnått och resultatet skrivs ut på skärmen.
cout << "------------------------------------" << endl;
cout << "Du har uppnått ditt mål efter " << years << " år" << endl;
// Skriver ut antal år tills sparmålet uppnåtts
cout << "Ditt saldo är då " << savingsum << "kr" << endl;
// Skriver ut saldot som är när sparmålet är nått
cout << "------------------------------------" << endl;
cin.get();
return 0;
}
问候 亨里克
我解决了!我加了3个cin.ignore(); 1)在“感兴趣”输入之后,2)在循环3)处于程序结束之前处于第一次计算。感谢所有关于我的问题的帮助! –