zoukankan      html  css  js  c++  java
  • 贷款计算器C#实现 课程作业一

    花了两个小时理解公式,我数学是不是太弱了..

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace 贷款计算机
    {
        public partial class Form1 : Form
        {
            int pos = 0;
            double year, cost, temp;//分别表示 年限 金额 利率
            public Form1()
            {
                InitializeComponent();
            }
    
            //pos == 1 表示等额本息
            private void checkBox1_CheckedChanged(object sender, EventArgs e)
            {
                if(checkBox1.Checked )
                {
                    checkBox2.Checked = false;
                    pos = 1;
                }
                else
                    pos = 0;
    
            }
    
    
            //pos == 2 表示等额本金
            private void checkBox2_CheckedChanged(object sender, EventArgs e)
            {
                if (checkBox2.Checked)
                {
                    checkBox1.Checked = false;
                    pos = 1;
                }
                else
                    pos = 0;
            }
    
            //计算按钮
            private void button1_Click(object sender, EventArgs e)
            {
                
                try //选择还款方式
                {
                    if ( pos == 0)
                        throw new Exception ();
                }
                catch (Exception)
                {
                    MessageBox.Show("先选择还款方式才能进行此运算!", "错误", MessageBoxButtons.OK);
                }
                try //输入贷款年限
                {
                    year = Convert.ToDouble(textBox1.Text);
                    year = year * 12;//转换成贷款月份
                }
                catch (Exception)
                {
                    MessageBox.Show("先输入贷款年限才能进行此运算!", "错误", MessageBoxButtons.OK);
                }
    
                try  //输入贷款金额
                {
                    cost = Convert.ToDouble(textBox2.Text);
                    cost = cost * 10000;// 贷款金额,单位元
                }
                catch (Exception)
                {
                    MessageBox.Show("先输入贷款金额才能进行此运算!", "错误", MessageBoxButtons.OK);
                }
    
                try  //输入贷款利率
                {
                    temp = Convert.ToDouble(textBox3.Text);
                    temp = temp / 1200;//贷款月利率
                }
                catch (Exception)
                {
                    MessageBox.Show("先输入贷款利率才能进行此运算!", "错误", MessageBoxButtons.OK);
                }
                textBox4.Text = "";
                textBox5.Text = "";
                textBox6.Text = "";
    
                if (checkBox1.Checked)
                {
                    double temp1 = cost * temp*Math.Pow(1 + temp, year+1) / (Math.Pow(1+temp,year) -1);//*temp * cost
                    double temp2 = temp1 * year -cost;
                    double temp3 = temp1 * year;
                    textBox4.Text = temp1.ToString();
                    textBox5.Text = temp2.ToString();
                    textBox6.Text = temp3.ToString();
                }
                else if(checkBox2.Checked)
                {
                    double temp1 = ((cost / year + cost * temp) + cost / year * (1 + temp)) / 2 ; //总利息
                    double temp2 = temp1 * year - cost ;
                    double temp3 = temp1 * year;
                    textBox4.Text = temp1.ToString();
                    textBox5.Text = temp2.ToString();
                    textBox6.Text = temp3.ToString();
                }
            }
    
    
            private void button2_Click(object sender, EventArgs e)
            {
                try //选择还款方式
                {
                    if (pos == 0)
                        throw new Exception();
                }
                catch (Exception)
                {
                    MessageBox.Show("先选择还款方式才能进行此运算!", "错误", MessageBoxButtons.OK);
                }
                try //输入贷款年限
                {
                    year = Convert.ToDouble(textBox1.Text);
                    year = year * 12;//转换成贷款月份
                }
                catch (Exception)
                {
                    MessageBox.Show("先输入贷款年限才能进行此运算!", "错误", MessageBoxButtons.OK);
                }
    
                try  //输入贷款金额
                {
                    cost = Convert.ToDouble(textBox2.Text);
                    cost = cost * 10000;// 贷款金额,单位元
                }
                catch (Exception)
                {
                    MessageBox.Show("先输入贷款金额才能进行此运算!", "错误", MessageBoxButtons.OK);
                }
    
                try  //输入贷款利率
                {
                    temp = Convert.ToDouble(textBox3.Text);
                    temp = temp / 1200;//贷款月利率
                }
                catch (Exception)
                {
                    MessageBox.Show("先输入贷款利率才能进行此运算!", "错误", MessageBoxButtons.OK);
                }
                textBox4.Text = "";
                textBox5.Text = "";
                textBox6.Text = "";
    
                if (checkBox1.Checked)
                {
                    double temp1 = cost * temp * Math.Pow(1 + temp, year + 1) / (Math.Pow(1 + temp, year) - 1);//*temp * cost
                    double temp2 = temp1 * year - cost;
                    double temp3 = temp1 * year;
                    textBox4.Text = temp1.ToString();
                    textBox5.Text = temp2.ToString();
                    textBox6.Text = temp3.ToString();
                }
                else if (checkBox2.Checked)
                {
                    double temp1 = ((cost / year + cost * temp) + cost / year * (1 + temp)) / 2; //总利息
                    double temp2 = temp1 * year - cost ;
                    double temp3 = temp1 * year;
                    textBox4.Text = temp1.ToString();
                    textBox5.Text = temp2.ToString();
                    textBox6.Text = temp3.ToString();
                }
            }
        }
    }
  • 相关阅读:
    jquery 监听input的value值改变
    Win10家庭版共享打印机启用Guest账户
    js数组操作大全(pop,push,unshift,splice,shift方法)
    EF Core索引
    工作经验(C++篇)
    FFmpeg编译i386 OSX 脚本
    xcrun -sdk 选择
    Unity GL 画圆
    OpenGL ES无法获取贴图数据原因
    Unity在Android和iOS中如何调用Native API
  • 原文地址:https://www.cnblogs.com/Draymonder/p/8038704.html
Copyright © 2011-2022 走看看