黑马程序员技术交流社区
标题:
加减乘除的小程序,!大家帮我看看有什么地方需...
[打印本页]
作者:
李伟斌
时间:
2012-12-4 18:32
标题:
加减乘除的小程序,!大家帮我看看有什么地方需...
本帖最后由 李伟斌 于 2012-12-5 12:49 编辑
namespace 练习
{
class Program
{
public double num1 { get; set; } //运算数字1
public double num2 { get; set; } //运算数字2
public double num3 { get; set; } //运算结果
public string fuHao { get; set; } //运算符号
//定义委托 下面的委托方法,我觉要不要都无所谓。
public delegate void YunSuanDelegate(string fuHao);
public void FuHao(string fuHao, YunSuanDelegate yunSuan)
{
yunSuan(fuHao);
}
//加法
public void JiaFa(string fuHao)
{
num3 = num1 + num2;
}
//减法
public void JianFa(string fuHao)
{
num3 = num1 - num2;
}
//乘法
public void chengFa(string fuHao)
{
num3 = num1 * num2;
}
//除法
public void chuFa(string fuHao)
{
do //当输入的除数为零的时候进入循环
{
if (num2 == 0)
{
Console.WriteLine("除数不能为零(0),请重新输入:");
num2 = double.Parse(Console.ReadLine());
}
} while (num2 == 0); //只要输入的除数为零(0)时就继续循环
num3 = num1 / num2;
}
static void Main(string[] args)
{
Program program = new Program();
try
{
Console.WriteLine("输入第一个运算的数:");
program.num1 = double.Parse(Console.ReadLine());
Console.WriteLine("请选择运算符号:+.- * /");
program.fuHao = Console.ReadLine();
Console.WriteLine("请输入第二个运算的数:");
program.num2 = double.Parse(Console.ReadLine());
switch (program.fuHao)
{
case "+":
program.JiaFa("+");
break;
case "-":
program.JianFa("-");
break;
case "*":
program.chengFa("*");
break;
case "/":
program.chuFa("/");
break;
default:
Console.WriteLine("你的输入的运算符号有误!!");
break;
}
Console.WriteLine("运算的结果是:" + program.num3);
Console.ReadLine();
}
catch (DataException dataException)
{
Console.WriteLine(dataException.ToString());
}
}
}
}
大家帮看看还有什么可以改进的,给点意见吧!!!谢谢
作者:
生活墨墨
时间:
2012-12-5 10:21
你的用委托写的有点麻烦,看看我的,一目了然
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class 计算器
{
static void main(string[] ager) {
CCount count = new CCount();
Console.Write("请输入第一个数:\n");
int a = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入第二个数:\n");
int b = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入运算符符号(+-*/):\n");
string type = Console.ReadLine();
Console.Write(count.Sum(a,b,type)+"\n");
Console.ReadLine();
}
}
public class CCount {
public int Sum(int a,int b,string type) {
switch (type)
{
case "+":
return a + b;
break;
case "-":
return a - b;break;
case "*":
return a * b;break;
case "/":
return a / b;break;
default:
return 0; break;
}
}
}
}
复制代码
作者:
生活墨墨
时间:
2012-12-5 10:25
加减法操作可以放在一个方法里面,不用每个都写一个方法,既不美观,也不方便阅读
作者:
李伟斌
时间:
2012-12-5 12:49
{:2_33:} 受教了!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2