Taschenrechner Projekt mit C#?
Lerne seit ein paar Tagen C# habe hier mal versucht, einen kleinen Taschenrechner zu erstellen, wo man auswählen kann oben, welche Rechenart man haben möchte und unten die Zahlen eintragen kann, die man zur Rechnung verwenden möchte, jedoch funktioniert das in diesen Fall ja nur mit 2 Zahlen. Gibt es eine Möglichkeit, den einzelnen Klassen mehrere Werte zu zuordnen?
1 Antwort
Du kannst deine einzelnen Methoden mit weiteren Parametern ausstatten oder ihnen gar ein komplettes Array / eine Liste an Zahlen herüberschieben.
Beispiel mit einem Array:
static int GetSum(params int[] numbers)
{
int sum = 0;
for (int i = 0; i < numbers.Length; ++i)
{
sum += numbers[i];
}
return sum;
}
// in Main:
int sum1 = GetSum(1, 2);
int sum2 = GetSum(1, 2, 3, 4);
Des Weiteren könntest du dir in Program eine Klassenvariable anlegen, die Zwischenergebnisse speichert.
class Program
{
static int currentResult = 0;
static int GetSum(int number)
{
return currentResult + number;
}
/* ... */
}
Was im Übrigen günstig wäre: Wenn du eine Nutzereingabe via Konsole ermöglichen würdest und eine Operation erst durchführst, sobald (aufgrund der Prüfung des Rechenoperators) klar ist, dass sie überhaupt durchgeführt werden muss. Aktuell lässt du dein Programm ja in jeden Fall rechnen.
Bezogen auf die Division wäre eine Fallbehandlung günstig, sollte der Divisor den Wert 0 haben. Eine Division durch 0 ist nämlich nicht möglich.
Mit Console.ReadLine kannst du eine Eingabe einlesen. Zurück kommt ein String, den musst du je nach Bedarf erst noch zu einen entsprechenden Typ konvertieren. Diese Antwort sollte dir dabei weiterhelfen.
@regex9
Wow!! Vielen Dank für diese ausführliche Antwort das mit den Arrays leuchtet mir sofort ein. Habe dieses kleine Programm geschrieben, um meine bisherigen Kenntnisse zu vertiefen der Taschenrechner wird dann im Verlaufe meiner gewonnenen Kenntnisse aufgerüstet. Wie man den Nutzer dazu auffordert, eine Konsoleneingabe zu tätigen, ist mir leider noch nicht bewusst. Werde mich die nächsten Tage daran setzten und versuchen, deine Vorschläge umzusetzen.