问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mfc计算器的问题

发布网友 发布时间:2024-09-29 09:47

我来回答

1个回答

热心网友 时间:2024-09-29 10:16

1.输入按钮:要求能在文本框内显示按下的数字,若第一次输入为小数点,则小数点前加0;一串数字只允许一个小数点;第一个数按下之前若多次输入0则忽略之;若输入数字(包括小数点不包括正号)超过10个,则报错并且不接受继续输入的数,即最大输入数字为9999999999。
为了实现要求,设置一个class,以string储存输入数字,为适应操作数的需要,设置2个string。实现click方法时使用if语句来达到要求。代码为:

public class NumberKeys //数值键
{
public const string DefaultString="0";
private static string strLeftNum=string.Empty,strRightNum=string.Empty,strResult=string.Empty;

public static string StrLeftNum
{
get
{return strLeftNum;}
set
{strLeftNum=value;}
}
public static string StrRightNum
{
get
{return strRightNum;}
set
{strRightNum=value;}
}
public static string StrResult
{
get
{return strResult;}
set
{strResult=value;}
}

public static void NumBtn_Click(object sender)
{
Button numBtn=(Button)sender;
if(strRightNum.Length<=10)
{
if(!((numBtn.Text=="0"&&strRightNum.Length==0)||(numBtn.Text=="."&&strRightNum.IndexOf('.')!=-1)))
strRightNum+=numBtn.Text;
if(strRightNum==".")
strRightNum=strRightNum.Insert(0,"0");
}
else
{
MessageBox.Show("最多能输入10位数!");
}
}

}

(不知道怎么回事,代码总是无法对齐)
说明:1. 该类所有成员都是static,因为没有必要实例化。
2. strLeftNum,strRightNum,strResult分别表示左右操作数和运算结果,初始值都为string.Empty,最后不设为null,以免编译时要求实例化。这3个private成员都有相应的可读写属性。因为这3个变量在其他方法中也将频繁使用和修改。
3. 这里的Click方法并不是按钮的Click方法,需要在Form类中进一步实现(因为以我的水平还无法把整个Form类都改成static),这个很简单,就不提了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
大同四区和市区的区别 大同云冈属于哪里 大同市云冈区建成区范围都有哪些 it wasn't long before i found a job.---before是什么意思 It wasn't long before a man from It wasn't long before和It won't be long before有什么区别吗? it wasn't long before和it won't be long before有什么不同?_百度知 ... 微信怎么查和一个好友的红包记录 马龙巴黎奥运会夺冠了吗 明天是中国的情人节??? 电子政务是什么 跪求MFC写的计算器 作业用 来月经喝白酒会有什么影响 空调开机显示e4是为什么? 月经来了喝白酒有什么影响吗 来月经时喝白酒能使月经消失吗 空调为什么显示E4故障? 来月经的时候喝白酒会怎么样 大家常用的香皂粉有没有超能天然皂粉呢?谢谢 天然皂粉多不多,都有哪些皂粉是天然皂粉呢 任留街道沿革 任留乡社会活动 任留乡简介 幽门螺旋杆菌传染途径 幽门螺旋杆菌会通过什么传染 电脑键盘有的按键失灵该怎么办 幽门螺旋杆菌传染吗 ? 键盘有的字母没反应是怎么回事? 应届毕业生户口迁移证改签(地址需要变更)该怎么办呢?是到学校去办还是... 大学集体户口迁移成功会通知学生吗? mfc计算器的问题。。 华为手机上面有个耳机图标是怎么回事 华为手机上面有个耳机图标是什么意思 怎么消除华为手机的耳机标志? 每次打开电脑查看属性标签项,看到有的是32位,有的64位系统,这有什么区... v30pro更换屏幕总成带框 能率热水器怎么做到无体感温差?有没有大神来讲一下? 重新注册微信号是不是要解除原来的微信号? 母狗为什么不让公狗交配 狗长到好久可以交配? 3. 在C语言系统中,如果一个变量能正确存储的数据范围为整数-32768~3276... 借贷宝可有放款的? 有在借贷宝放款的吗?利息可以高,不要前期,急, 借贷宝借2000有老板放款没?一个星期还。要前期算了。我1124011243_百度知... na2co3,nahco3一起加热,为什么nahco3在里面小试管?这个试验目的是什么... ...碳酸氢钠受热分解为什么只能生成碳酸钠和水和二氧化碳而不是其他... 石墨烯地毯不开控制器自动加热怎么回事 苏州石墨烯工程墙暖发热画多少钱 扬州石墨烯工程墙暖发热画源头直供厂家 薪火相传代代是什么成语