| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1132 人关注过本帖
标题:C#小程序的编写
只看楼主 加入收藏
MyStar
Rank: 1
等 级:新手上路
帖 子:75
专家分:9
注 册:2010-3-30
结帖率:93.75%
收藏
已结贴  问题点数:20 回复次数:9 
C#小程序的编写
公式.rar (1.49 KB)
刚学C#,还不怎么会写程序!!!请大家帮忙编一个小程序把计算附件里的公式,要求保留小数点后8位。谢谢啦。
搜索更多相关主题的帖子: 编写 
2010-10-12 09:36
c1_wangyf
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:7
帖 子:665
专家分:2832
注 册:2010-5-24
收藏
得分:20 
仅供参考:
using System;
using System.Collections.Generic;
using
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Formula
{
    public partial class Form1 : Form
    {
        public bool X = false;
        public bool N = false;
        public Form1()
        {
            InitializeComponent();
            bt_calculate.Enabled = false;
        }

        private int doMutiN(int n)
        {
            int total = 1;
            for (int i = n; i >= 1; i--)
            {
                total *= i;
            }
            return total;
        }
        private void bt_calculate_Click(object sender, EventArgs e)
        {
            int n = Convert.ToInt16( textBox_N.Text);
            double x = Convert.ToSingle(textBox_X.Text);
            double result = 1 + x - Math.Pow(x, 2) / doMutiN(2) + Math.Pow(x, 3) / doMutiN(3) + Math.Pow(-1, n + 1) * Math.Pow(x, n) / doMutiN(n);
            textBox_result.Text =  result.ToString("f8");
        }
        private void doCheck_X_N()
        {
            if (X & N)
            {
                bt_calculate.Enabled = true;
            }
        }


        private void textBox_N_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
            if(textBox_N.Text!="")
            {
                N = true;
            }
            doCheck_X_N();
        }

        private void textBox_X_KeyPress_1(object sender, KeyPressEventArgs e)
        {
            if (!char.IsDigit(e.KeyChar) && !char.IsPunctuation(e.KeyChar) && !char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
            if (textBox_X.Text != "")
            {
                X = true;
            }
            doCheck_X_N();
        }
      
    }
}
2010-10-12 15:59
MyStar
Rank: 1
等 级:新手上路
帖 子:75
专家分:9
注 册:2010-3-30
收藏
得分:0 
太长了吧!!!!我才刚学C#啊!!!这只是一道小作业题!!!
2010-10-13 21:40
c1_wangyf
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:7
帖 子:665
专家分:2832
注 册:2010-5-24
收藏
得分:0 
其实,这里面private void textBox_N_KeyPress(object sender, KeyPressEventArgs e)和private void textBox_X_KeyPress_1(object sender, KeyPressEventArgs e)是保证两个textbox里面输入的都是数字,而不是字母,在两个textbox都有输入的情况下,计算才可用。如果不用这两个事件,程序在输入都是数字的情况下也是可以执行的。
2010-10-13 21:51
MyStar
Rank: 1
等 级:新手上路
帖 子:75
专家分:9
注 册:2010-3-30
收藏
得分:0 
我们才开始用控制台应用程序。
2010-10-13 21:52
c1_wangyf
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:7
帖 子:665
专家分:2832
注 册:2010-5-24
收藏
得分:0 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace calculate
{
    class Program
    {
        private static int doMutiN(int n)
        {
            int total = 1;
            for (int i = n; i >= 1; i--)
            {
                total *= i;
            }
            return total;
        }

        static void Main(string[] args)
        {
            Console.WriteLine("Please input N:");
            int n = Convert.ToInt16(Console.ReadLine());
            Console.WriteLine("Please input X:");
            double x = Convert.ToDouble(Console.ReadLine());
            double result = 1 + x - Math.Pow(x, 2) / doMutiN(2) + Math.Pow(x, 3) / doMutiN(3) + Math.Pow(-1, n + 1) * Math.Pow(x, n) / doMutiN(n);
            Console.WriteLine("The result:"+result.ToString("f8"));
            Console.ReadLine();

        }
    }
}
这次应该可以吧?!
2010-10-14 09:12
MyStar
Rank: 1
等 级:新手上路
帖 子:75
专家分:9
注 册:2010-3-30
收藏
得分:0 
呵呵,麻烦了您了!谢谢啦!!
2010-10-14 10:31
MyStar
Rank: 1
等 级:新手上路
帖 子:75
专家分:9
注 册:2010-3-30
收藏
得分:0 
回复 6楼 c1_wangyf
Console.WriteLine("The result:"+result.ToString("f8"));
呵呵,就这一句代码就可以确定精确的位数了,我还以为要编一些代码才行呢!!!不可思议!!请问:result.ToString("f8")这是什么意思啦,为什么出来一个f8啊!!
2010-10-14 10:49
c1_wangyf
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:7
帖 子:665
专家分:2832
注 册:2010-5-24
收藏
得分:0 
你可以从MSDN的tostring()方法看看他的帮助,好像“f8”就是留8位小数。
2010-10-14 12:42
liu030319
Rank: 1
来 自:福建泉州
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-10-17
收藏
得分:0 
f8相当于flost 保留8位小数。flost表示单精度
2010-10-17 21:41
快速回复:C#小程序的编写
数据加载中...
 
   



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

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