| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 408 人关注过本帖
标题:windows窗体应用问题
只看楼主 加入收藏
书中叶
Rank: 2
来 自:河北省唐山市
等 级:论坛游民
帖 子:38
专家分:25
注 册:2010-8-5
结帖率:80%
收藏
 问题点数:0 回复次数:1 
windows窗体应用问题
我想做一个计算器,使用VS2010 C++的windows窗体应用来做,我先在Form1.h里定义了两个个全局变量:
static double tmp=0;
static int state=0;//1为+,2为-,3为*,4为/
tmp用于暂存得数,state用于指明上一次运算的类型,之后我又在public ref class Form1里面写了:
程序代码:
private: void judge()
         {
             double t;
             t=Convert::ToDouble(this->text->Text);
             switch(state)
             {
             case 0:
                 {
                     tmp=t;
                 }
             case 1:
                 {
                    
                     tmp+=t;
                 }
             case 2:
                 {
                     tmp-=t;
                 }
             case 3:
                 {
                     tmp*=t;
                 }
             case 4:
                 {
                     tmp/=t;
                 }
             }
         }
数字键:(以1为例)
private: System::Void b1_Click(System::Object^  sender, System::EventArgs^  e)
         {
             this->text->Text+="1";
         }
加号:
程序代码:
private: System::Void bplu_Click(System::Object^  sender, System::EventArgs^  e)
         {
             judge();
             state=1;
             this->text->Text="";
         }
等号:
程序代码:
private: System::Void bequ_Click(System::Object^  sender, System::EventArgs^  e)
         {
             judge();
             state=0;
             this->text->Text=Convert::ToString(tmp);
             tmp=0;
         }
在我运行程序的时候,我先点“1”的按钮(b1),文本框(text)里显示“1”,然后我点“+”(bplu),文本框内清空,之后我再点“2”的按钮(b2),文本框(text)里显示“2”,我再按“=”按钮(bequ),文本框内就显示“1”。这就不对了。
tmp只能记录第一次输入的数(第一次按加减乘除之前的那个数),judge()里的计算似乎只有tmp=t;执行了,请问这是为什么?

搜索更多相关主题的帖子: 计算器 windows 
2011-05-10 17:42
书中叶
Rank: 2
来 自:河北省唐山市
等 级:论坛游民
帖 子:38
专家分:25
注 册:2010-8-5
收藏
得分:0 
呃……忘了写break;……自己发现了,太低级的错误了……希望大家不要烦我的错误

科学家是要把可能的事变为可能,小说家是要把不可能的事变为可能
2011-05-10 18:26
快速回复:windows窗体应用问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015613 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved