| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 836 人关注过本帖, 1 人收藏
标题:一个关于c#中变量在使用的问题,请各位大侠帮忙
取消只看楼主 加入收藏
dyc1229
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-11-30
收藏(1)
 问题点数:0 回复次数:4 
一个关于c#中变量在使用的问题,请各位大侠帮忙
我在编辑一个计算器的时候遇到一个问题。
比如说有三个变量,
a=1
b和c为要输入的变量
公式为
b=a*2
c=b*2
我现在可以计算出c来,可是算出来以后,b的结果就不能变了
我想改变b的时候把c的结果得出来,请问应该怎么实现呢?
问题可能比较菜,希望能得到前辈们的帮助。谢谢
还有一点,我使用的textbox作为输入输出的工具

[[italic] 本帖最后由 dyc1229 于 2007-11-30 11:34 编辑 [/italic]]
搜索更多相关主题的帖子: 变量 
2007-11-30 11:10
dyc1229
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-11-30
收藏
得分:0 
这是我写的公式:其中k得值计算出来的时候我想改变他,让他继续往下算,得到W
现在的情况是,我把x,z,a,m的值输进去,k就计算出来了,但是没法改变他了,我就是想问问,怎么在k计算出来的时候修改它,然后给他一个值在继续算出W来
private void button1_Click(object sender, EventArgs e)
        {
            double x, z, a, k, i, wkx, h, wx, W, invA, m;
            x = Convert.ToDouble(this.textBox1.Text.Trim());
            z = Convert.ToDouble(this.textBox2.Text.Trim());
            a = Convert.ToDouble(this.textBox3.Text.Trim());
            m = Convert.ToDouble(this.textBox5.Text.Trim());
            invA = Convert.ToDouble(this.textBox7.Text.Trim());
            


            i = (a / 180 * z) + (0.5) + (2 * x * (1 / Math.Tan(a))) / 3.14;
            k = Math.Round(i, 0, MidpointRounding.AwayFromZero);
            h = (Math.PI* (k - 0.5)) + z * invA;
            wkx = 1 / Math.Tan(a) * h;
            wx = 2 * x * Math.Sin(a);
            W = (wkx + wx) * m;
            this.textBox4.Text = Convert.ToString(k);
            this.textBox6.Text = Convert.ToString(W);
这是我写的公式
2007-11-30 15:50
dyc1229
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-11-30
收藏
得分:0 
我觉得这样比较麻烦,可不可以直接刷新k,在k改变的时候,直接将后面的W算出来呢?
主要是k算出来以后可能和我的要求不很一样,我想通过修改k 来得到我想要的W来。
麻烦各位再帮我想想啊,求求你们了。5555555555
2007-11-30 19:06
dyc1229
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-11-30
收藏
得分:0 
我现在想了一个笨办法方法如下:
 private void textBox7_TextChanged(object sender, EventArgs e)
        {
            double x, z, a, k, i, wkx, h, wx, W, invA, m;
            x = Convert.ToDouble(this.textBox1.Text.Trim());
            z = Convert.ToDouble(this.textBox2.Text.Trim());
            a = Convert.ToDouble(this.textBox3.Text.Trim());
            m = Convert.ToDouble(this.textBox4.Text.Trim());
            invA = Convert.ToDouble(textBox7.Text);
            i = (a / 180 * z) + (0.5) + (2 * x * (1 / Math.Tan(a))) / 3.14;
            k = Math.Round(i, 0, MidpointRounding.AwayFromZero);



            h = (Math.PI * (k - 0.5)) + z * invA;
            wkx = 1 / Math.Tan(a) * h;
            wx = 2 * x * Math.Sin(a);
            W = (wkx + wx) * m;
            this.textBox5.Text = Convert.ToString(k);
            this.textBox6.Text = Convert.ToString(W);

        }
private void button1_Click(object sender, EventArgs e)
        {
            double x, z, a, k, i, wkx, h, wx, W, invA, m;

            x = Convert.ToDouble(this.textBox1.Text.Trim());
            z = Convert.ToDouble(this.textBox2.Text.Trim());
            a = Convert.ToDouble(this.textBox3.Text.Trim());
            m = Convert.ToDouble(this.textBox4.Text.Trim());
            k = Convert.ToDouble(textBox5.Text);
            invA = Convert.ToDouble(textBox7.Text);
            i = (a / 180 * z) + (0.5) + (2 * x * (1 / Math.Tan(a))) / 3.14;
            h = (Math.PI * (k - 0.5)) + z * invA;
            wkx = 1 / Math.Tan(a) * h;
            wx = 2 * x * Math.Sin(a);
            W = (wkx + wx) * m;
            this.textBox5.Text = Convert.ToString(k);
            this.textBox6.Text = Convert.ToString(W);
         
            
        }
意思就是再往输入框里输入数字的时候把k先算出来,当我改了k以后再按butteon让他计算,不过有个缺点,必须是把四个框里的数字按顺序输入,否则出错,而且不方便,各位有没有更好的办法,谢谢了
2007-11-30 19:40
dyc1229
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-11-30
收藏
得分:0 
非常感谢,大侠的帮忙,谢谢你的热心帮助,太感动了
2007-12-01 09:45
快速回复:一个关于c#中变量在使用的问题,请各位大侠帮忙
数据加载中...
 
   



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

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