Zaf*_*fee 0 .net c# default-value visual-studio visual-studio-2012
这是我学习目的的代码......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Calculator
{
abstract class calculator
{
internal abstract int add();
internal abstract int sub();
internal abstract int mul();
internal abstract int div();
internal abstract double square();
internal abstract double underroot();
}
class mycalculator : calculator
{
public mycalculator() :base()
{
}
private int num1, num2;
public int opr1
{
get { return num1; }
set{num1 = value;}
}
public int opr2
{
get { return num2; }
set { num2 = value; }
}
internal override int add() {
return num1 + num2;
}
internal override int sub()
{
return num2 - num1;
}
internal override int mul()
{
return num1 * num2;
}
internal override int div()
{
if(num1 > num2){
return num1 / num2;
}else
{
//Console.WriteLine(num1 + " Must be greater than " + num2 + " and " + num2 + "can not be zero" );
return 0;
}
}
internal override double square()
{
return num1 * num1;
}
internal override double underroot()
{
return Math.Sqrt(num1);
}
}
class Program
{
static void Main(string[] args)
{
char choice = 'y';
while (choice == 'Y' || choice == 'y')
{
Console.WriteLine("\n\nPlease Select your Operation....!\n\n\n\n\n");
Console.WriteLine("Press 1 for Addtion\n");
Console.WriteLine("Press 2 for Subtraction\n");
Console.WriteLine("Press 3 for Multiplication\n");
Console.WriteLine("Press 4 for Division\n");
Console.WriteLine("Press 5 for square\n");
Console.WriteLine("Press 6 for UnderRoot\n");
int opt;
opt = Convert.ToInt32(Console.Read());
mycalculator c = new mycalculator();
switch (opt)
{
case '1':
int a;
Console.WriteLine("Please Enter Your First Operand");
a = Convert.ToInt32(Console.Read());
// a = int.Parse(Console.ReadLine());
c.opr1 = a;
Console.WriteLine("Please Enter Your Second Operand");
c.opr2 = Convert.ToInt32(Console.Read());
Console.WriteLine(c.opr1 + " + " + c.opr2 + " = " + c.add());
break;
default:
Console.WriteLine("Invalid Choice");
break;
}
Console.WriteLine("\n\n\nDo you want to Perform more calculations??\n");
Console.WriteLine("Press 'Y' or 'y' to continue, any other key to exit");
choice = Console.ReadKey().KeyChar;
// Console.WriteLine(choice);
}
Console.Read();
}
}
}
Run Code Online (Sandbox Code Playgroud)
为了保持代码的大小,只省略了减法,乘法等的情况......
问题是:当我按1添加两个数字时,它应该采用第一个操作数和第二个操作数,然后,它应该显示结果...但相反,它显示
13 + 10 = 23
Run Code Online (Sandbox Code Playgroud)
如果我为任何其他函数做,请说它为乘法显示
13*10 = 130
Run Code Online (Sandbox Code Playgroud)
等等
13-10 = 3
Run Code Online (Sandbox Code Playgroud)
程序不要求我输入值,只显示结果,假定操作数1为13,操作数2为10 ....
我从来没有说过那样的东西..
有人能指出我从哪个地狱这两个数字是自动提交???
诅咒c#和Visual Studio 2012现在:(

我猜你正在输入'1',然后点击Enter键.Enter键将回车符和换行符发送到您的程序.这两个字符的ASCII码分别为13和10.所以你实际上进入了13和10,即使你不知道它.
| 归档时间: |
|
| 查看次数: |
131 次 |
| 最近记录: |