私は現在、複数の機能を持つプログラム(楽しいため、これは割り当てではありません)に取り組んでいます。私は昨日前にWin32を使用していないので、私はむしろ新しいです。 TheForgerのチュートリアルを使い始めました。今、私はそれに4つの編集ボックス、charge1、charge2、charge3、および粒子間の距離を持つダイアログフォームを持っています。私はこの情報を得て、粒子間の力の大きさを解くために式に差し込んでいます。私は私が編集ボックスからデータを取得しています部分を取得する場合ダイアログ編集コントロールからダブルを読む
、私はここで0
を受け付けております私の現在のコードです:
case ID_SOLVE:
{
ZeroMemory(coulombDisplay, sizeof(coulombDisplay));
GetDlgItemText(g_hCoulombs, IDC_DISTANCE, value1, 10);
coulombsDistance = atof(value1);
GetDlgItemText(g_hCoulombs, IDC_CHARGE1, value2, 10);
coulombsStrength1Base = atof(value2);
GetDlgItemText(g_hCoulombs, IDC_CHARGE2, value3, 10);
coulombsStrength2Base = atof(value3);
if(coulombsDistance == 0.0)
{
MessageBox(NULL, "WHAT", "WHAT", MB_OK | MB_ICONEXCLAMATION);
DestroyWindow(g_hCoulombs);
}
coulombsResult = (coulombsStrength1Base * coulombsStrength2Base);
coulombsResult /= (pow(coulombsDistance, 2));
coulombsResult *= kConstant;
sprintf(coulombDisplay, "%g", coulombsResult);
SendDlgItemMessage(g_hCoulombs, IDC_FORCE, WM_SETTEXT, 0, (LPARAM)(LPCSTR)coulombDisplay);
}
break;
value1
、value2
、value3
、およびcoulombDisplay
はすべて
coulombsResult
をzero'dされているchar[]
、coulombsDistance
、coulombsStrength1Base
、ありますはすべてdouble
s
メッセージボックスは、プログラムを実行するたびに「何」がポップアップしているかを示します。 VC++ 2010のマルチバイト文字セットを使用しています。
ご協力いただけると助かります。
デバッガをご利用いただけませんか?あなたはVC++ 2010 Expressを使用していますかプロフェッショナルですか? – macduff
エクスプレス、現在は非アクティブです。このコンピュータが登録キーを入力する管理者権限がありません。 – that0n3guy
'atof'を呼び出すたびに' errno'があなたに与えることは何ですか? – 0xC0000022L