-2
我有一个任务来编程C#Consolecalculator。什么是C#中的“88型”,我该如何使用它?
我的问题是我没有什么“88型”,以及如何使用它。我必须使用它来保证用户只能使用+
,-
,*
, /
。
以下是我的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace gmaare_consolen_rechner_1._0
{
class Program
{
public static void Main(string[] args)
{
string jaNein, rechenzeichen;
do {
int zahl_1 = Convert.ToInt32(null);
zahl_1 = (Fehlerklasse.fehlerzahl_1(zahl_1));
rechenzeichen = Console.ReadLine();
int zahl_2 = Convert.ToInt32(null);
zahl_2 = (Fehlerklasse.fehlerzahl_2(zahl_2));
var ergebnis = Ergebnis.rechenmethode(zahl_1, zahl_2, rechenzeichen);
Console.WriteLine(ergebnis);
Console.WriteLine("Möchten sie erneut eine Rechnung stellen ? (ja/nein)");
do
{
jaNein = Console.ReadLine();
if (!(jaNein == "ja" | jaNein == "nein"))
{
Console.WriteLine("Ungültige Antwort, bitte wählen sie (ja/nein)");
}
}
while (!(jaNein == "ja" | jaNein == "nein"));
Console.Clear();
}
while (jaNein == "ja");
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace gmaare_consolen_rechner_1._0
{
class Rechner
{
Fehlerklasse fehlerbehen = new Fehlerklasse();
public int plus(int zahl_1, int zahl_2)
{
return zahl_1 + zahl_2;
}
public int minus(int zahl_1, int zahl_2)
{
return zahl_1 - zahl_2;
}
public int mal(int zahl_1, int zahl_2)
{
return zahl_1 * zahl_2;
}
public int geteiltdurch(int zahl_1, int zahl_2)
{
if(zahl_2!= 0)
{
return zahl_1/zahl_2;
}
else
{
Console.WriteLine("Die Division durch 0 ist verboten!");
return zahl_2;
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace gmaare_consolen_rechner_1._0
{
class Ergebnis
{
public static int rechenmethode(int zahl_1, int zahl_2, string rechenzeichen)
{
var ergebnis = 0;
Rechner rechnen = new Rechner();
switch (rechenzeichen)
{
case "+":
ergebnis = rechnen.plus(zahl_1, zahl_2);
break;
case "-":
ergebnis = rechnen.minus(zahl_1, zahl_2);
break;
case "*":
ergebnis = rechnen.mal(zahl_1, zahl_2);
break;
case "/":
ergebnis = rechnen.geteiltdurch(zahl_1, zahl_2);
break;
}
return ergebnis;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace gmaare_consolen_rechner_1._0
{
class Fehlerklasse
{
public static int fehlerzahl_1(int zahl_1)
{
bool tryAgain = true;
while (tryAgain)
{
try
{
zahl_1 = Convert.ToInt32(Console.ReadLine());
tryAgain = false;
}
catch (FormatException)
{
Console.WriteLine("Geben sie eine gültige Zahl ein!");
}
catch (OverflowException)
{
Console.WriteLine("Die Zahl ist zu gross, geben sie eine gültige Zahl ein!");
}
}
return zahl_1;
}
public static int fehlerzahl_2(int zahl_2)
{
bool tryAgain = true;
while (tryAgain)
{
try
{
zahl_2 = Convert.ToInt32(Console.ReadLine());
tryAgain = false;
}
catch (FormatException)
{
Console.WriteLine("Geben sie eine gültige Zahl ein!");
}
catch (Exception)
{
Console.WriteLine("Die Zahl ist zu gross, geben sie eine gültige Zahl ein!");
}
}
return zahl_2;
}
}
}
你在哪里使用魔术'88'类型?我没看到它。 (我的德语理解不好,但并不坏)。唯一知道的'88型'不是中国的主战坦克就是中国的狙击步枪。同时请阅读[mcve]并考虑如何将代码降低到产生您所看到的问题所需的最低限度。 – theB
我知道88的唯一含义是第三帝国之一,我怀疑你的意思。 – HimBromBeere
也许我们的任务是模拟TI-88计算器?还有一个卡西欧88. http://www.datamath.org/Sci/Slanted/TI-88.htm http://www.casio-europe.com/euro/calc/tax/ms88eco/ – gdir