C# :: Aufgabe #218 :: Lösung #2
5 Lösungen

#218
Messwerte mit Array und Methoden
Anfänger - C#
von syneex
- 29.06.2018 um 16:20 Uhr
Hallo Zusammen,
mal angenommen, man arbeitet in einer Fabrik, die Druckflaschen herstellt. Es werden pro Tag beliebig viele Flaschen fertiggestellt (n), da die Mitarbeiter nicht jeden Tag identisch schnell arbeiten. Am Ende des Tages muss der Druck in den Flaschen jedoch geprüft werden.
Aufgabe:
Die Aufgabe besteht hier in der Erstellung einer Konsolenanwendung mit folgendem Menü:
Menüpunkt 1 ruft eine Methode auf, die erst eine Eingabe der produzierten Flaschen erwartet. Danach wird für jede Flasche der zuvor gemessene Wert in ein Array (mit Gleitkommazahlen) eingegeben. Wenn man den letzten Wert eingegeben hat, wird wieder das Menü gezeigt.
Menüpunkt 2 ruft eine Methode auf, die für jede Flasche den Wert ausgibt. Nach der nächsten Eingabe wird wieder das Menü gezeigt.
Menüpunkt 3 errechnet den Mittelwert und gibt diesen aus. Anschließend wird wieder das Menü angezeigt.
Bei Wahl des Menüpunkts 4, schließt sich die Konsole.
Der Name der Konsole soll "Messwertecheck" sein.
Die Werte können frei erfunden werden. Es geht lediglich um die Funktionalität. :)
Grüße und viel Spaß beim Lösen ;)
mal angenommen, man arbeitet in einer Fabrik, die Druckflaschen herstellt. Es werden pro Tag beliebig viele Flaschen fertiggestellt (n), da die Mitarbeiter nicht jeden Tag identisch schnell arbeiten. Am Ende des Tages muss der Druck in den Flaschen jedoch geprüft werden.
Aufgabe:
Die Aufgabe besteht hier in der Erstellung einer Konsolenanwendung mit folgendem Menü:
-----------Messwerte-----------
1 Eingabe der Messwerte
2 Ausgabe der Messwerte
3 Berechnung des Mittelwertes
4 Ende
Menüpunkt 1 ruft eine Methode auf, die erst eine Eingabe der produzierten Flaschen erwartet. Danach wird für jede Flasche der zuvor gemessene Wert in ein Array (mit Gleitkommazahlen) eingegeben. Wenn man den letzten Wert eingegeben hat, wird wieder das Menü gezeigt.
Menüpunkt 2 ruft eine Methode auf, die für jede Flasche den Wert ausgibt. Nach der nächsten Eingabe wird wieder das Menü gezeigt.
Menüpunkt 3 errechnet den Mittelwert und gibt diesen aus. Anschließend wird wieder das Menü angezeigt.
Bei Wahl des Menüpunkts 4, schließt sich die Konsole.
Der Name der Konsole soll "Messwertecheck" sein.
Die Werte können frei erfunden werden. Es geht lediglich um die Funktionalität. :)
Grüße und viel Spaß beim Lösen ;)
#2

von Exception (7090 Punkte)
- 03.07.2018 um 20:16 Uhr

using System; using System.Linq; namespace Messwerte_mit_Array_und_Methoden_218 { class Program { private static double[] Measurements; static void Main(string[] args) { int selection = -1; Console.Title = "#218 Messwertecheck"; do { printMenue(); if (int.TryParse(Console.ReadLine(), out selection)) { selectAction(selection); } } while (selection != 4); Console.ReadKey(); } private static void selectAction(int selection) { switch (selection) { case 1: Console.Clear(); Console.WriteLine("1 Eingabe der Messwerte"); inputValues(); break; case 2: Console.Clear(); Console.WriteLine("2 Ausgabe der Messwerte"); printMeasurements(); break; case 3: Console.Clear(); Console.WriteLine("3 Berechnung des Mittelwertes"); Console.WriteLine("Mittelwert der {0} Messwerte: {1}", Measurements.Length, calcAverage()); Console.ReadKey(); break; case 4: Console.Clear(); Console.WriteLine("Bis bald..."); break; } } private static double calcAverage() { return Measurements.Average(); } private static void printMeasurements() { if(Measurements == null) { return; } for (int index = 0; index < Measurements.Length; index++) { Console.WriteLine("Messwert der {0}. Flasche: {1}", (index + 1), Measurements[index]); } Console.WriteLine("..."); Console.ReadKey(); } private static void inputValues() { double temp; bool acceptedInput = false; int currentAmount = 0; int totalAmount = 0; Measurements = null; do { Console.Clear(); Console.Write("Anzahl der Messwerte: "); if(int.TryParse(Console.ReadLine(), out totalAmount)) { if(totalAmount > 0) { acceptedInput = true; } } } while (!acceptedInput); Measurements = new double[totalAmount]; do { Console.Clear(); Console.Write("Eingabe Messwert ({0} / {1}): ", (currentAmount + 1), totalAmount); if(double.TryParse(Console.ReadLine(), out temp)) { Measurements[currentAmount] = temp; currentAmount++; } } while (currentAmount < totalAmount); Console.WriteLine("..."); } private static void printMenue() { Console.Clear(); Console.WriteLine("--- Messwerte ---"); Console.WriteLine("1 Eingabe der Messwerte"); Console.WriteLine("2 Ausgabe der Messwerte"); Console.WriteLine("3 Berechnung des Mittelwertes"); Console.WriteLine("4 Ende"); Console.Write("\n> "); } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1