Windows 加法计算器.doc_第1页
Windows 加法计算器.doc_第2页
Windows 加法计算器.doc_第3页
Windows 加法计算器.doc_第4页
Windows 加法计算器.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验报告1 任务概述(任务说明) 设计一个计算器2设计思路(包括技术基础等) 先画出文本框EDIT,在画出按键BUTTON,接受数据后再转换成数据类型int,最后将运算后的结果又粘贴到文本框中。3程序结构描述4源码,文档化加法计算器.h#pragma once#include resource.hResource.h/NO_DEPENDENCIES/ Microsoft Visual C+ generated include file./ Used by 加法计算器.rc/#define IDS_APP_TITLE103#define IDC_EDIT1 1001#define IDC_EDIT2 1002#define IDC_EDIT3 1003#define IDC_BUTTON1 1004#define IDC_BUTTON2 1005#define IDC_BUTTON3 1006#define IDC_BUTTON4 1007#define IDR_MAINFRAME128#define IDD_MY_DIALOG102#define IDD_ABOUTBOX103#define IDM_ABOUT104#define IDM_EXIT105#define IDI_MY107#define IDI_SMALL108#define IDC_MY109#define IDC_MYICON2#ifndef IDC_STATIC#define IDC_STATIC-1#endif/ 新对象的下一组默认值/#ifdef APSTUDIO_INVOKED#ifndef APSTUDIO_READONLY_SYMBOLS#define _APS_NO_MFC130#define _APS_NEXT_RESOURCE_VALUE129#define _APS_NEXT_COMMAND_VALUE32771#define _APS_NEXT_CONTROL_VALUE1000#define _APS_NEXT_SYMED_VALUE110#endif#endif#define IDI_CALWINAPI107#define IDI_SMALL108#define IDC_CALWINAPI109#define IDC_MYICON2#ifndef IDC_STATIC#define IDC_STATIC-1#define IDC_EDIT1 1001#define IDC_EDIT2 1002#define IDC_EDIT3 1003#define IDC_BUTTON1 1004#define IDC_BUTTON2 1005#define IDC_BUTTON3 1006#define IDC_BUTTON4 1007#endif加法计算器.cpp/ 加法计算器.cpp : 定义应用程序的入口点。/#include stdafx.h#include #include Resource.h#define MAX_LOADSTRING 100/ 全局变量:HINSTANCE hInst;/ 当前实例TCHAR szTitleMAX_LOADSTRING;/ 标题栏文本TCHAR szWindowClassMAX_LOADSTRING;/ 主窗口类名/ 此代码模块中包含的函数的前向声明:ATOMMyRegisterClass(HINSTANCE hInstance);BOOLInitInstance(HINSTANCE, int);LRESULT CALLBACKWndProc(HWND, UINT, WPARAM, LPARAM);INT_PTR CALLBACKAbout(HWND, UINT, WPARAM, LPARAM);int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)UNREFERENCED_PARAMETER(hPrevInstance);UNREFERENCED_PARAMETER(lpCmdLine); / TODO: 在此放置代码。MSG msg;HACCEL hAccelTable;/ 初始化全局字符串LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);LoadString(hInstance, IDC_MY, szWindowClass, MAX_LOADSTRING);MyRegisterClass(hInstance);/ 执行应用程序初始化:if (!InitInstance (hInstance, nCmdShow)return FALSE;hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MY);/ 主消息循环:while (GetMessage(&msg, NULL, 0, 0)if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)TranslateMessage(&msg);DispatchMessage(&msg);return (int) msg.wParam;ATOM MyRegisterClass(HINSTANCE hInstance)WNDCLASSEX wcex;wcex.cbSize = sizeof(WNDCLASSEX);wcex.style= CS_HREDRAW | CS_VREDRAW;wcex.lpfnWndProc= WndProc;wcex.cbClsExtra= 0;wcex.cbWndExtra= 0;wcex.hInstance= hInstance;wcex.hIcon= LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY);wcex.hCursor= LoadCursor(NULL, IDC_ARROW);wcex.hbrBackground= (HBRUSH)(COLOR_WINDOW+1);wcex.lpszMenuName= MAKEINTRESOURCE(IDC_MY);wcex.lpszClassName= szWindowClass;wcex.hIconSm= LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL);return RegisterClassEx(&wcex);BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) HWND hWnd; hInst = hInstance; / 将实例句柄存储在全局变量中 hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); if (!hWnd) return FALSE; ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); return TRUE;LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)int wmId, wmEvent;PAINTSTRUCT ps;HDC hdc;static HWND hEdit1,hEdit2,hResult1,hButton1,hStatic1,hStatic2;static HWND hEdit3,hEdit4,hResult2,hButton2,hStatic3,hStatic4;static HWND hEdit5,hEdit6,hResult3,hButton3,hStatic5,hStatic6;static HWND hEdit7,hEdit8,hResult4,hButton4,hStatic7,hStatic8;switch (message)case WM_CREATE:hEdit1=:CreateWindowA(EDIT,NULL,WS_CHILD | WS_VISIBLE|WS_BORDER ,30,30,100,20,hWnd,(HMENU) IDC_EDIT1,hInst,NULL);hEdit2=:CreateWindowA(EDIT,NULL,WS_CHILD | WS_VISIBLE|WS_BORDER ,230,30,100,20,hWnd,(HMENU) IDC_EDIT2,hInst,NULL);hEdit3=:CreateWindowA(EDIT,NULL,WS_CHILD | WS_VISIBLE|WS_BORDER ,30,130,100,20,hWnd,(HMENU) IDC_EDIT3,hInst,NULL);hEdit4=:CreateWindowA(EDIT,NULL,WS_CHILD | WS_VISIBLE|WS_BORDER ,230,130,100,20,hWnd,(HMENU) IDC_EDIT1,hInst,NULL);hEdit5=:CreateWindowA(EDIT,NULL,WS_CHILD | WS_VISIBLE|WS_BORDER ,30,230,100,20,hWnd,(HMENU) IDC_EDIT3,hInst,NULL);hEdit6=:CreateWindowA(EDIT,NULL,WS_CHILD | WS_VISIBLE|WS_BORDER ,230,230,100,20,hWnd,(HMENU) IDC_EDIT1,hInst,NULL);hEdit7=:CreateWindowA(EDIT,NULL,WS_CHILD | WS_VISIBLE|WS_BORDER ,30,330,100,20,hWnd,(HMENU) IDC_EDIT3,hInst,NULL);hEdit8=:CreateWindowA(EDIT,NULL,WS_CHILD | WS_VISIBLE|WS_BORDER ,230,330,100,20,hWnd,(HMENU) IDC_EDIT1,hInst,NULL);hResult1=:CreateWindowA(EDIT,NULL,WS_CHILD | WS_VISIBLE|WS_BORDER ,430,30,150,20,hWnd,(HMENU) IDC_EDIT2,hInst,NULL);hResult2=:CreateWindowA(EDIT,NULL,WS_CHILD | WS_VISIBLE|WS_BORDER ,430,130,150,20,hWnd,(HMENU) IDC_EDIT3,hInst,NULL);hResult3=:CreateWindowA(EDIT,NULL,WS_CHILD | WS_VISIBLE|WS_BORDER ,430,230,150,20,hWnd,(HMENU) IDC_EDIT3,hInst,NULL);hResult4=:CreateWindowA(EDIT,NULL,WS_CHILD | WS_VISIBLE|WS_BORDER ,430,330,150,20,hWnd,(HMENU) IDC_EDIT3,hInst,NULL);hButton1=:CreateWindowA(BUTTON,NULL,WS_CHILD | WS_VISIBLE|WS_BORDER ,30,430,100,20,hWnd,(HMENU) IDC_BUTTON1,hInst,NULL);hButton2=:CreateWindowA(BUTTON,NULL,WS_CHILD | WS_VISIBLE|WS_BORDER ,200,430,100,20,hWnd,(HMENU) IDC_BUTTON2,hInst,NULL);hButton3=:CreateWindowA(BUTTON,NULL,WS_CHILD | WS_VISIBLE|WS_BORDER ,370,430,100,20,hWnd,(HMENU) IDC_BUTTON3,hInst,NULL);hButton4=:CreateWindowA(BUTTON,NULL,WS_CHILD | WS_VISIBLE|WS_BORDER ,540,430,100,20,hWnd,(HMENU) IDC_BUTTON4,hInst,NULL);:SetWindowText(hButton1,加法);:SetWindowText(hButton2,减法);:SetWindowText(hButton3,乘法);:SetWindowText(hButton4,除法);hStatic1=:CreateWindowA(STATIC,NULL,WS_CHILD | WS_VISIBLE ,150,30,20,20,hWnd,NULL,hInst,NULL);hStatic2=:CreateWindowA(STATIC,NULL,WS_CHILD | WS_VISIBLE ,350,30,20,20,hWnd,NULL,hInst,NULL);hStatic3=:CreateWindowA(STATIC,NULL,WS_CHILD | WS_VISIBLE ,150,130,20,20,hWnd,NULL,hInst,NULL);hStatic4=:CreateWindowA(STATIC,NULL,WS_CHILD | WS_VISIBLE ,350,130,20,20,hWnd,NULL,hInst,NULL);hStatic5=:CreateWindowA(STATIC,NULL,WS_CHILD | WS_VISIBLE ,150,230,20,20,hWnd,NULL,hInst,NULL);hStatic6=:CreateWindowA(STATIC,NULL,WS_CHILD | WS_VISIBLE ,350,230,20,20,hWnd,NULL,hInst,NULL);hStatic7=:CreateWindowA(STATIC,NULL,WS_CHILD | WS_VISIBLE ,150,330,20,20,hWnd,NULL,hInst,NULL);hStatic8=:CreateWindowA(STATIC,NULL,WS_CHILD | WS_VISIBLE ,350,330,20,20,hWnd,NULL,hInst,NULL);:SetWindowText(hStatic1,+);:SetWindowText(hStatic2,=);:SetWindowText(hStatic3,-);:SetWindowText(hStatic4,=);:SetWindowText(hStatic5,*);:SetWindowText(hStatic6,=);:SetWindowText(hStatic7,/);:SetWindowText(hStatic8,=);break;case WM_COMMAND:wmId = LOWORD(wParam);wmEvent = HIWORD(wParam);/ 分析菜单选择:switch (wmId)case IDC_BUTTON1:/加法char op111,op211,result11;int n1,n2,nResult;:GetWindowText(hEdit1,op1,10);:GetWindowText(hEdit2,op2,10);n1=atoi(op1);n2=atoi(op2);nResult=n1+n2;:sprintf(result,%d,nResult);:SetWindowText(hResult1,result);break;case IDC_BUTTON2:/减法char op311,op411,result111;int n3,n4,nResult1;:GetWindowText(hEdit3,op3,10);:GetWindowText(hEdit4,op4,10);n3=atoi(op3);n4=atoi(op4);nResult1=n3-n4;:sprintf(result1,%d,nResult1);:SetWindowText(hResult2,result1);break;case IDC_BUTTON3:/乘法char op511,op611,result211;int n5,n6,nResult2;:GetWindowText(hEdit5,op5,10);:GetWindowText(hEdit6,op6,10);n5=atoi(op5);n6=atoi(op6);nResult2=n5*n6;:sprintf(result2,%d,nResult2);:SetWindowText(hResult3,result2);break;case IDC_BUTTON4:/除法char op711,op811,result311;int n7,n8,nResult3;:GetWindowText(hEdit7,op7,10);:GetWindowText(hEdit8,op8,10);n7=atoi(op7);n8=atoi(op8);if(n8 = 0):SetWindowText(hResult4,error:除数不能为0.);break;nResult3=n7/n8;:sprintf(result3,%d,nResult3);:SetWindowText(hResult4,result3);break;case IDM_ABOUT:DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);break;case IDM_EXIT:DestroyWindow(hWnd);break;default:return DefWindowProc(hWnd, messag

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论