计算器
- 格式:doc
- 大小:89.00 KB
- 文档页数:10
高级语言程序设计说明书工资缴税计算器系别计算机工程系专业班级10软件工程2班学生姓名苏炜靖指导教师李妍目录概述 (3)程序概要设计 (3)模块一:程序流程图 (3)模块二:程序文件介绍 (3)程序详细设计 (5)主要功能程序分析 (5)(5)模块一:计算器Dlg.cpp中“Dlg::OnBnClickedButton1(){}”函数的分析(7)模块二:计算器Dlg.cpp中“Dlg::OnBnClickedButton2(){}”函数的分析次要功能程序分析 (8)(9)模块一:计算器Dlg.cpp中“Dlg::OnEnChangeEdit4 (){}”函数的分析·····(9)模块二:计算器Dlg.cpp中“Dlg::OnEnChangeEdit24(){}”函数的分析······(9)模块三:无用函数的说明·······································总结 (9)一、概述1.需求说明:发了工资必然需要纳税,叫上我朝的劳动力资源十分丰富,这就导致了税务局使用人力计算器的不可行性。
因此开发一款工资缴税计算器十分必要,这可以大幅度的缩短计算缴税额的时间,从根本上优化了这一过程。
2.功能分析:通过输入你的工资总额和工资中不需要缴税的部分,加上程序预设的扣税标准。
从而,计算出你应缴纳的税款。
其中扣税标准可以通过你自定义而改变。
而且,扣税标准可以以二进制代码的形式输出,作为一种数据而保留。
3.开发环境:我的程序是在Microsoft Visual Studio 2010上进行编译,以MFC作为平台而进行开发。
4. 技术要求:会使用Microsoft Visual Studio 2010,了解C++和MFC的基本编程要求,会使用循环、数组、条件语句,能在MFC中把各独立部分进行关联。
二、程序概要设计1.程序流程:2.程序文件介绍:计算器.vcxproj这是使用应用程序向导生成的 VC++ 项目的主项目文件。
它包含生成该文件的 Visual C++ 的版本信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。
计算器.vcxproj.filters这是使用“应用程序向导”生成的 VC++ 项目筛选器文件。
它包含有关项目文件与筛选器之间的关联信息。
在 IDE 中,通过这种关联,在特定节点下以分组形式显示具有相似扩展名的文件。
例如,“.cpp”文件与“源文件”筛选器关联。
计算器.h这是应用程序的主要头文件。
它包括其他项目特定的头文件(包括 Resource.h),并声明 C 计算器App 应用程序类。
计算器.cpp这是包含应用程序类 C计算器App 的主要应用程序源文件。
计算器.rc这是程序使用的所有 Microsoft Windows 资源的列表。
它包括 RES 子目录中存储的图标、位图和光标。
此文件可以直接在 Microsoft Visual C++ 中进行编辑。
项目资源位于 2052 中。
res\计算器.ico这是用作应用程序图标的图标文件。
此图标包括在主要资源文件计算器.rc 中。
res\My.rc2此文件包含不在 Microsoft Visual C++ 中进行编辑的资源。
您应该将不可由资源编辑器编辑的所有资源放在此文件中。
///////////////////////////////////////////////////////////////////////////// 应用程序向导创建一个对话框类:计算器Dlg.h,计算器Dlg.cpp - 对话框这些文件包含 C计算器Dlg 类。
该类定义应用程序主对话框的行为。
该对话框的模板位于计算器.rc 中,该文件可以在 Microsoft Visual C++ 中进行编辑。
///////////////////////////////////////////////////////////////////////////// 其他功能:ActiveX 控件应用程序包括对使用 ActiveX 控件的支持。
/////////////////////////////////////////////////////////////////////////////其他标准文件:StdAfx.h,StdAfx.cpp这些文件用于生成名为计算器.pch 的预编译头 (PCH) 文件和名为 StdAfx.obj 的预编译类型文件。
Resource.h这是标准头文件,它定义新的资源 ID。
Microsoft Visual C++ 读取并更新此文件。
计算器.manifest应用程序清单文件供 Windows XP 用来描述应用程序对特定版本并行程序集的依赖性。
加载程序使用此信息从程序集缓存加载适当的程序集或从应用程序加载私有信息。
应用程序清单可能为了重新分发而作为与应用程序可执行文件安装在相同文件夹中的外部 .manifest 文件包括,也可能以资源的形式包括在该可执行文件中。
/////////////////////////////////////////////////////////////////////////////其他注释:应用程序向导使用“TODO:”指示应添加或自定义的源代码部分。
如果应用程序在共享的 DLL 中使用 MFC,则需要重新发布这些 MFC DLL;如果应用程序所用的语言与操作系统的当前区域设置不同,则还需要重新发布对应的本地化资源MFC100XXX.DLL。
有关这两个主题的更多信息,请参见 MSDN 文档中有关 Redistributing Visual C++ applications (重新发布 Visual C++ 应用程序)的章节。
/////////////////////////////////////////////////////////////////////////////三、程序详细设计1.主要功能程序分析:Δ计算器Dlg.cpp中“Dlg::OnBnClickedButton1(){}”函数的分析:int a1;double a2=0;int b1,b2;int x[9],y[9],m[9],n[9];int i,l;a1=GetDlgItemInt(IDC_EDIT1);b1=GetDlgItemInt(IDC_EDIT3);b2=GetDlgItemInt(IDC_EDIT4);x[0]=GetDlgItemInt(IDC_EDIT24);y[0]=GetDlgItemInt(IDC_EDIT25);m[0]=GetDlgItemInt(ID C_EDIT6);n[0]=GetDlgItemInt(IDC_EDIT15);x[1]=GetDlgItemInt(IDC_EDIT26);y[1]=GetDlgItemInt(IDC_EDIT27);m[1]=GetDlgItemInt(ID C_EDIT7);n[1]=GetDlgItemInt(IDC_EDIT16);x[2]=GetDlgItemInt(IDC_EDIT28);y[2]=GetDlgItemInt(IDC_EDIT29);m[2]=GetDlgItemInt(ID C_EDIT8);n[2]=GetDlgItemInt(IDC_EDIT17);x[3]=GetDlgItemInt(IDC_EDIT30);y[3]=GetDlgItemInt(IDC_EDIT31);m[3]=GetDlgItemInt(ID C_EDIT9);n[3]=GetDlgItemInt(IDC_EDIT18);x[4]=GetDlgItemInt(IDC_EDIT32);y[4]=GetDlgItemInt(IDC_EDIT33);m[4]=GetDlgItemInt(IDC_ED IT10);n[4]=GetDlgItemInt(IDC_EDIT19);x[5]=GetDlgItemInt(IDC_EDIT34);y[5]=GetDlgItemInt(IDC_EDIT35);m[5]=GetDlgItemInt(ID C_EDIT11);n[5]=GetDlgItemInt(IDC_EDIT20);x[6]=GetDlgItemInt(IDC_EDIT36);y[6]=GetDlgItemInt(IDC_EDIT37);m[6]=GetDlgItemInt(ID C_EDIT12);n[6]=GetDlgItemInt(IDC_EDIT21);x[7]=GetDlgItemInt(IDC_EDIT38);y[7]=GetDlgItemInt(IDC_EDIT39);m[7]=GetDlgItemInt(ID C_EDIT13);n[7]=GetDlgItemInt(IDC_EDIT22);x[8]=GetDlgItemInt(IDC_EDIT40);y[8]=GetDlgItemInt(IDC_EDIT41);m[8]=GetDlgItemInt(ID C_EDIT14);n[8]=GetDlgItemInt(IDC_EDIT23);double z;int s=0,u=0;这个部分主要建立各部分按钮的连接和定义各个变量的类型,从而激活各个次要部分的功能,例如“x[8]=GetDlgItemInt(IDC_EDIT40);”这个语句就是将IDC_EDIT40 的值赋给x[8]这个变量。
for(i=0;i<8;i++){if(x[i]>y[i]){MessageBox(_T("输入的数值错误"));s=10;break;}}for(i=0;i<7;i++){if(x[i+1]<y[i]){MessageBox(_T("输入的数值错误"));u=10;break;}}这个部分是分析“扣税标准”部分的上下限问题,很明显,无论你怎么修改扣税标准,II级的下限不能低于I级的上限,II级的下限不能高于II的上限。
而我写的这个两个for语句就很好的解决了这个问题。