-5
在輸入第一個值並嘗試繼續時,我無法解決爲什麼我在屏幕截圖中出現錯誤。C++「Program.exe已停止工作」
該錯誤僅在下面的代碼中發生。
任何幫助,將不勝感激!
//Darbas40
#include <io.h>
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
int n,
u,
m,
ms,
v,
vs,
i;
double vidvaikinu,
vidmerginu;
n = 7; m = 0; v = 0; ms = 0; vs = 0;
for (i = 1; i <= n; i++)
{
wcout << "Iveskite mokiniu ugius: "; cin >> u;
if (u > 0)
{
m++;
ms = ms + u;
}
else if (u < 0)
{
v++;
vs = vs + u;
}
vidmerginu = ms/m;
vidvaikinu = fabs(vs/v);
}
wcout << " " << endl;
wcout << "vidvaikinu = " << vidvaikinu << ", vidmerginu = " << vidmerginu << "." << endl;
return 0;
}
歡迎來到Stack Overflow。請花些時間閱讀[The Tour](http://stackoverflow.com/tour),並參閱[幫助中心](http://stackoverflow.com/help/asking)中的資料,瞭解您可以在這裏問。 –
'v'造成零除。這就是爲什麼你應該聲明和初始化*每行一個變量*,除了由於格式化和樣式不佳,你的代碼非常難以閱讀。 – CoryKramer
解決這些問題的正確工具是您的調試器。在*堆棧溢出問題之前,您應該逐行執行您的代碼。如需更多幫助,請閱讀[如何調試小程序(由Eric Lippert撰寫)](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)。至少,您應該\編輯您的問題,以包含一個[最小,完整和可驗證](http://stackoverflow.com/help/mcve)示例,該示例再現了您的問題,以及您在調試器。 –