こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

c++ 電卓制作

今使ったのはMicrosoft Visual Studio 2010のアプリ
以下のプログラムはダイアログボックス表示で0から9のボタン入れでます、普通の電卓作りたいです、計算のプログラムわからないので、どうすればいいですか?


#include <windows.h>
#include "resource.h"
#include <tchar.h>

// プロトタイプ宣言
BOOL CALLBACK DlgWndProc ( HWND , UINT , WPARAM , LPARAM ) ;
void sub( int no , HWND hWnd ) ;
static int cnt ;

int a , b ;
static int c ;

// エントリポイント

int APIENTRY WinMain ( HINSTANCE hInstance ,
HINSTANCE hPrevInstance ,
LPSTR lpCmdLine ,
int nCmdShow )
{
DialogBox(hInstance ,
MAKEINTRESOURCE(IDD_DIALOG1) ,
NULL , (DLGPROC) DlgWndProc ) ;

return 0 ;
}


/* ------ ダイアログボックスウインドウプロシージャ ----- */
BOOL CALLBACK DlgWndProc ( HWND hWnd ,
UINT message ,
WPARAM wParam ,
LPARAM lParam )
{

TCHAR s[80] ;

switch( message )
{
case WM_INITDIALOG :
cnt = 0 ;
return TRUE ;

case WM_COMMAND :
switch ( LOWORD(wParam) )
{
case IDC_1 :
sub ( 1 , hWnd ) ;
return TRUE ;
case IDC_2 :
sub ( 2 , hWnd ) ;
return TRUE ;
case IDC_3 :
sub ( 3 , hWnd ) ;
return TRUE ;
case IDC_4 :
sub ( 4 , hWnd ) ;
return TRUE ;
case IDC_5 :
sub ( 5 , hWnd ) ;
return TRUE ;
case IDC_6 :
sub ( 6 , hWnd ) ;
return TRUE ;
case IDC_7 :
sub ( 7 , hWnd ) ;
return TRUE ;
case IDC_8 :
sub ( 8 , hWnd ) ;
return TRUE ;
case IDC_9 :
sub ( 9 , hWnd ) ;
return TRUE ;
case IDC_0 :
sub ( 0 , hWnd ) ;
return TRUE ;

case IDC_CLOSE :
EndDialog( hWnd , 0 ) ;
return TRUE ;
default :
return FALSE ;
}
default :
return FALSE ;
}
}

/* ------------------------------------- */
/*表示 */
/* ------------------------------------- */
void sub( int no , HWND hWnd )
{
TCHAR s[20] ;

cnt *= 10 ;
cnt += no ;
wsprintf( s , TEXT("%d") , cnt ) ;
SetWindowText( GetDlgItem(hWnd , IDC_EDIT1) , s ) ;



}

投稿日時 - 2014-09-29 21:26:18

QNo.8773182

すぐに回答ほしいです

質問者が選んだベストアンサー

「わかりません」の一言では何が/どうわからんのかが伝ってこないので答えようがない。

投稿日時 - 2014-09-29 22:47:21

このQ&Aは役に立ちましたか?

8人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問