Benutzer mit den meisten Antworten
Eingabewerte in einer Methode zu verwenden, ohne diese Eingabewerte zu speichern

Frage
-
Hallo,
ich habe folgendes Problem / Aufgabenstellung.
Ich soll mit Eingabewerten verschiedene mathematische Formeln (z.B. Varianz, Mittelwert, GGT, etc.) ausführen ... wobei aber die Eingabewerte nicht gespeichert werden dürfen. Wie mache ich das?
Danke für eure Codevorschläge
Grüsse
Artur
- Bearbeitet ArturTG Sonntag, 12. Oktober 2014 12:46
Antworten
-
Hallo,
in irgend einer Art- und Weise werden die Eingabewerte immer gespeichert. Das ist auch notwendig, denn mit nicht vorhandenen Daten kann nicht gerechnet werden.Grundsätzlich wird es immer eine Form ähnlich zu der folgenden haben.
double a,b; if(!double.TryParse(textBox1.Text, out a) ||!double.TryParse(textBox1.Text, out a)){ MessageBox.Show("Fehlerhafte Eingabe"); } else{ var c = CalcGCD(a,b); } double CalcGCD(double a, double b) { //Berechte ggT }
Hier werden die Werte aus 2 TextBoxen ausgelesen (auch dort ist der Wert schon gespeichert) und dann in 2 double-Werte konvertiert (2. mal gespeichert).
Tom Lambert - C# MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort vorgeschlagen Aleksander Chalabashiev Montag, 13. Oktober 2014 06:24
- Als Antwort markiert Aleksander Chalabashiev Montag, 20. Oktober 2014 09:19
-
Hallo,
das ändert nichts an der Kernaussage. Gespeichert wird immer.Was ich mir noch vorstellen könnte wäre ein verschachtelter Aufruf von Methoden. Einen wirklichen Unterschied macht das aber auch nicht.
double ReadDouble(){ double d; while(!double.TryParse(Console.ReadLine(), out d)) Console.WriteLine("Ungültige Eingabe!"); return d; } void DoSome(){ var result = CalcGCD(ReadDouble(), ReadDouble()); }
Tom Lambert - C# MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort vorgeschlagen Aleksander Chalabashiev Montag, 13. Oktober 2014 06:25
- Als Antwort markiert Aleksander Chalabashiev Montag, 20. Oktober 2014 09:19
Alle Antworten
-
Hallo,
in irgend einer Art- und Weise werden die Eingabewerte immer gespeichert. Das ist auch notwendig, denn mit nicht vorhandenen Daten kann nicht gerechnet werden.Grundsätzlich wird es immer eine Form ähnlich zu der folgenden haben.
double a,b; if(!double.TryParse(textBox1.Text, out a) ||!double.TryParse(textBox1.Text, out a)){ MessageBox.Show("Fehlerhafte Eingabe"); } else{ var c = CalcGCD(a,b); } double CalcGCD(double a, double b) { //Berechte ggT }
Hier werden die Werte aus 2 TextBoxen ausgelesen (auch dort ist der Wert schon gespeichert) und dann in 2 double-Werte konvertiert (2. mal gespeichert).
Tom Lambert - C# MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort vorgeschlagen Aleksander Chalabashiev Montag, 13. Oktober 2014 06:24
- Als Antwort markiert Aleksander Chalabashiev Montag, 20. Oktober 2014 09:19
-
Hallo Tom,
Danke.
Aber ich habe wohl die Aufgabenstellung nicht klar erläutert.
Ich vermute mal, dass ich eine Methode aus einer Methode aufrufen soll. D.h. für die Berechnung der Varianz rufe ich in der Varianzmethode die Eingabemethode auf (wobei die Eingabewerte nicht gespeichert werden sollen). Geht das?
Ist irgendwie widersprüchlich ...Grüsse
Artur -
Hallo,
das ändert nichts an der Kernaussage. Gespeichert wird immer.Was ich mir noch vorstellen könnte wäre ein verschachtelter Aufruf von Methoden. Einen wirklichen Unterschied macht das aber auch nicht.
double ReadDouble(){ double d; while(!double.TryParse(Console.ReadLine(), out d)) Console.WriteLine("Ungültige Eingabe!"); return d; } void DoSome(){ var result = CalcGCD(ReadDouble(), ReadDouble()); }
Tom Lambert - C# MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort vorgeschlagen Aleksander Chalabashiev Montag, 13. Oktober 2014 06:25
- Als Antwort markiert Aleksander Chalabashiev Montag, 20. Oktober 2014 09:19