贷款计算器C#实现 课程作业一

Posted Draymonder

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了贷款计算器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();
            }
        }
    }
}

 

以上是关于贷款计算器C#实现 课程作业一的主要内容,如果未能解决你的问题,请参考以下文章

动态SQL基础概念复习(Javaweb作业5)

数据库大作业 C#实现驾校预约管理系统 课程设计

HTML5期末大作业:餐饮美食网站设计——咖啡(10页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 咖啡网页设计 美食餐饮网页设计...(代码片段

20155234 2017-2018-1《信息安全系统设计基础》课程总结

软件开发大作业 基于C#开发的汽车售票管理系统 数据库课程设计

02-方法 课程作业01:将课程作业010203的设计思想程序流程图源程序代码和结果截图整理成一篇博文