欢迎来到天天文库
浏览记录
ID:37848603
大小:584.00 KB
页数:14页
时间:2019-06-01
《MFC-计算器程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算器题目目录1.绪论12.系统分析12.1数据需求12.2数据需求13.总体设计13.1功能模块设计13.2系统设计方案24.详细设计64.1四则运算模块64.2小数点模块64.3数字0—9模块74.4开平方模块84.5取倒数模块84.6等于号模块94.7清零符号模块105.调试与测试105.1调试105.2测试10结束语11参考文献11附录-用户手册1213计算器1.绪论计算器一般是指“电子计算器”,该名词由日文传入中国。计算器能进行数学运算的手持机器,拥有集成电路芯片,但结构简单,比现代电脑结构简单得多,可以说是第一代的电子计算机
2、(电脑),且功能也较弱,但较为方便与廉价,可广泛运用于商业交易中,是必备的办公用品之一。本实验通过按钮输入数字,运算符,实现整数和小数的加减乘除,开平方,取倒数等运算功能,以及必要的错误处理。2.系统分析2.1数据需求本实验通过按钮输入数字,运算符,通过按钮实现退格,清零功能,实现整数和小数的加减乘除四则运算,开平方,取倒数等运算功能,以及必要的错误处理,如在进行除零的操作,以及负数开平方操作时弹出错误窗口。2.2数据需求计算器主要用于商业交易中,所包含的数据有:加,减,乘,除,小数点,数字0—9,开平方,取倒数,等于号,退格,清除符号
3、。3.总体设计3.1功能模块设计通过分析,整个系统根据要实现的功能可分为四则运算模块包含加号,减号,乘号,除号四个字模块,小数点模块,数字模块,开平方模块,取倒数模块,等于号模块,清零符号模块包含退格和清除两个子模块。功能:能够实现整数小数的四则运算,能够进行开平方,取倒数,清除操作。13计算器图1功能模块图3.2系统设计方案文件和类的说明:创建一个头文件:Caculate.h内容如下:eum_signlen_LastSignl;BOOLb_Hasdiv;BOOLb_Hasmul;voidRunOperation(eum_signlen
4、_signl);voidInitAllDate();voidPutIntoNum(intn);BOOLb_Hasport;//是否输入了小数点BOOLb_Start;//是否开始输入一个数据intm_i;//记录当前使用哪个CStringCStringcs_Num[2];//存两个数据if(!b_Start)//退格:将数字逐渐减一位{return;}doublenum;CStringtemp;intlen;CHARtemp_ch[32];GetDlgItemText(IDC_EDIT_SHOW,temp);//AfxMessageBo
5、x(temp);num=atof(temp);sprintf(temp_ch,"%g",num);num=0;13计算器//AfxMessageBox(temp_ch);len=strlen(temp_ch);intte_i=len-1;if(temp_ch[te_i]=='.')te_i-=1,b_Hasport=FALSE;temp_ch[te_i]=' ';////////////////////////////////////////////////////////////////////////////AfxMessageB
6、ox(temp_ch);if(strlen(temp_ch)==0){temp_ch[0]='0';temp_ch[1]=' ';}//////////////////////////////////////////////////////////////////////////sscanf(temp_ch,"%lf",&num);temp.Format("%g",num);//AfxMessageBox(temp);SetDlgItemText(IDC_EDIT_SHOW,b_Hasport?temp:temp+".");InitA
7、llDate();//清空:能将所有数字清空PutIntoNum(1);//数字1PutIntoNum(2);//数字2PutIntoNum(3);//数字3PutIntoNum(4);//数字4PutIntoNum(5);//数字5PutIntoNum(6);//数字6PutIntoNum(7);//数字7PutIntoNum(8);//数字8PutIntoNum(9);//数字9if(cs_Num[m_i]=="0")数字0:如果第一次输入数字0{return;}cs_Num[m_i]+="0";SetDlgItemText(IDC
8、_EDIT_SHOW,cs_Num[m_i]);if(!b_Hasport){CStringtemp;GetDlgItemText(IDC_EDIT_SHOW,temp);temp+=".";SetDlgI
此文档下载收益归作者所有