简单计算器设计报告.docx
简单计算器设计报告简单计算器设计报告简单计算器设计报告045一、基本功能描述通过文本编辑框实现基本整数的加减乘除运算二、设计思路如下图是整个程序进行的流程图,基本方法是在ItemText 文本编辑框输入字符,程序对字符进行判断,若输入不是数字则提示错误。输入正常时,通过下拉框ComboBox_InsertString选择相应运算符。 点击等号 IDC_OK, 即可得出运算结果。操作简便,算法简单。三、软件设计1、设计步骤打开 Microsoft Visual C+ 6.0,在文件中点击新建,在弹出框内选择 MFC AppWizardexe工程,输入工程名zhoutong 及其所在位置,点击确定1将弹出 MFC AppWizard-step 1 对话框,选择基本对话框,点击完成MFC AppWizard 就建立了一个基于对话窗口的程序框架四、主要程序分析1、字符判定函数BOOL IsInt(TCHAR*str)int i=atoi(str);TCHAR strtemp256;wsprintf(strtemp,%i,i);if(strcmp(str,strtemp)!=0)return FALSE;Elsereturn TRUE;该函数通过 atoi 把文本编辑框读取的字符转换为数字,再通过 wsprintf 把转换数字转换为字符,通过 strcmp 比较原字符和转换得来的字符。如相同返回 true,不通则返回false.3、运算符选择程序BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus,LPARAM lParam)HWND hwndComboOP=GetDlgItem(hwnd,IDC_COMBOOP);ComboBox_InsertString(hwndComboOP,-1,TEXT(+);ComboBox_InsertString(hwndComboOP,-1,TEXT(-);ComboBox_InsertString(hwndComboOP,-1,TEXT(*);ComboBox_InsertString(hwndComboOP,-1,TEXT(/);return TRUE;3通过 ComboBox_InsertString 插入要输入的运算符4、主程序字符获取TCHAR str1256;TCHAR str2256;GetDlgItemText(hwnd,IDC_EDIT1,str1,sizeof(str1);GetDlgItemText(hwnd,IDC_EDIT2,str2,sizeof(str2);调用子程序判断输入是否为数字if(IsInt(str1)=FALSE)MessageBox(hwnd,TEXT( 第 一 个 数 不 是 合 法 整 数),TEXT(错误),MB_OK|MB_ICONERROR); return;if(IsInt(str2)=FALSE)MessageBox(hwnd,TEXT( 第 二 个 数 不 是 合 法 整 数),TEXT(错误),MB_OK|MB_ICONERROR); return;将输入字符转换为数字int i1=atoi(str1);int i2=atoi(str2);int i3=0;获取运算符HWND hwndComboOp=GetDlgItem(hwnd,IDC_COMBOOP);int curIndex=ComboBox_GetCurSel(hwndComboOp);运算switch(curIndex)case 0:i3=i1+i2;break;case 1:i3=i1-i2;break;case 2:i3=i1*i2;break;case 3:i3=i1/i2;break;运算结果转换为字符TCHAR str3256;itoa(i3,str3,10);输出运算结果SetDlgItemText(hwnd,IDC_EDIT3,str3);break;退出程序case IDC_EXIT:exit(0);break;五、结果分析该计算器只能实现简单的整数运算,不能对小数分数进行运算。 并且只能进行简单的加减乘除运算, 功能有待完善。六、心得体会通过编写该计算器程序,基本学会简单 API 函数的编写windows 界面化程序,有助今后进一步深化学习。5