加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

设计连续的计算器源代码---C#控制台应用程序

(2011-03-27 13:52:32)
标签:

字符串

初始值

转化

构造函数

应用程序

源代码

分类: 软件工程

   作者:张文英
描述:
      按规范设计计算类:
       构造函数:传入初始值
       属性:运算结果,运算过程
       方法:加、减、乘、除

此代码为我初学C#时的源代码


 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入:");
            int m = int.Parse(Console.ReadLine());
            Calculator Cal = new Calculator(m);   //将输入的第一个值设为初始值

            while (true)
            {
                char op = char.Parse(Console.ReadLine());

                if (op == '=')
                    break;
                int n = int.Parse(Console.ReadLine());

                Cal.G(op, n);        //调用计算方法
                Console.WriteLine(Cal.Process + "=" + Cal.Result);
                //Console.WriteLine(Cal.Process + "=" + Cal.G(op, n)); 为什么不行呢
            }

            Console.WriteLine("您的计算过程为:");
            Console.WriteLine(Cal.Process + "=" + Cal.Result);


        }


        class Calculator
        {


            private float _result;      //保存结果
            private string _process;   //保存过程

            /// <summary>
            /// 构造函数 接受初始值,并转化为字符串
            /// </summary>
            /// <param name="data"></param>
            public Calculator(float data)
            {
                _result = data;
                _process = data.ToString();  //将其转化为字符串
            }

            /// <summary>
            /// 得到结果
            /// </summary>
            public float Result
            {
                get { return _result; }

            }

            /// <summary>
            /// 得到过程
            /// </summary>
            public string Process
            {
                get { return _process; }

            }

            /// <summary>
            /// 方法,实现计算
            /// </summary>
            /// <param name="op">符号</param>
            /// <param name="data">数据</param>
            public void G(char op, float data)
            {

                switch (op)
                {
                    case '+':
                        _result = _result + data;

                        break;
                    case '-':
                        _result = _result - data;
                        break;

                    case '*':
                        _result = _result * data;
                        break;

                    case '/':
                        _result = _result / data;
                        break;

                    default:
                        Console.WriteLine("请正确输入");
                        break;

                }

                _process += (op.ToString() + data.ToString());  //将传过来的符号和数据转化为字符串转化为字符串

            }


        }

    }
}

 

 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有