2014-02-17 75 views
1

嘿,我試圖通過開關盒添加兩個數字。C#開關盒如何計算

我有3個輸入,號碼1和號碼2的第三輸入是我倒是希望計算數1和2(例如+-*/,等...)

該方法

現在的問題是如何創建「this」之類的東西?我嘗試過這種方式,但它不起作用...
是否有可能使開關盒如此:case %: ???

感謝

string firstNumber; 
string secondNumber; 
string method; 

//get numbers 
Console.WriteLine ("Get first number"); 
firstNumber = Console.ReadLine(); 

Console.WriteLine ("get 2nd number"); 
secondNumber = Console.ReadLine(); 

Console.WriteLine ("the method to calculate with"); 

Console.WriteLine (" 1:\"*\""); 
Console.WriteLine (" 2:\"/\""); 
Console.WriteLine (" 3:\"+\""); 
Console.WriteLine (" 4:\"-\""); 
method = Console.ReadLine(); 

//convert 
int methodNew = Convert.ToInt32 (method); 
int firstNumberNew = Convert.ToInt32 (firstNumber); 
int secondNumberNew = Convert.ToInt32 (secondNumber); 

switch (methodNew) { 
    case 1: 
     firstNumberNew *= secondNumberNew; 
     break; 
    default: 
     Console.WriteLine ("check the methods."); 
     break; 
} 

Console.WriteLine (methodNew); 
+0

你的問題不清楚。你能描述一下「我該如何製作它」?實際上,你能描述你的目標是什麼嗎? –

+0

只是想編輯它。但是因爲(我認爲)你正在編輯帖子,所以沒能夠...對不起 – user3320668

+0

你面臨什麼問題? – Sachin

回答

1

當然,你也可以在char閱讀併爲它做一個switch-case

int c = Console.Read(); // read from console 
switch(c) { 
    case '/': 
     // work 
     break; 
    case '%': 
     // work 
     break; 
    case '*': 
     // work 
     break; 
    case '+': 
     // work 
     break; 
} 
+0

但是這兩個數字如何得到正確的大小寫呢? 我寫下(例如) 案例'/': firstNumber/secondNumber 我不明白這一步。 – user3320668

+0

謝謝,我明白了。 :-) – user3320668

+0

@ user3320668不客氣,請「upvote」答案,如果它幫助你:) – poitroae

1

首先獲得,在操作者使用switch這樣的:

char method = Console.ReadKey().KeyChar; 
double result = 0.0; 
switch (method) 
{ 
    case '+': 
     result = firstNumberNew + secondNumberNew; 
     break; 
    case '-': 
     result = firstNumberNew - secondNumberNew; 
     break; 
    case '/': 
     result = firstNumberNew/secondNumberNew; 
     break; 
    case '%': 
     result = firstNumberNew % secondNumberNew; 
     break; 
    default: 
     Console.WriteLine("Invalid value, try again"); 
     break; 
} 
Console.WriteLine(result); 

這將是bett呃如果您將firstNumberNewsecondNumberNew的類型更改爲double。所以您可以使用while循環強制用戶輸入有效字符。

+0

爲什麼你在乘除法和除法的情況? – poitroae

+0

@aoeu它只是一個錯字,感謝警告無論如何:) –