2016-05-30 7 views
-1

Ich versuche, einen Notenrechner zu erstellen, aber ich bin völlig unsicher, wie man den Code dazu kompiliert.Gespeicherte Werte von Benutzerantwort in C speichern #

Bis jetzt habe ich die Fähigkeit, die Antwort eines Benutzers zu teilen, aber jetzt muss ich wissen, wie man diese Splits nimmt und sie als separate Werte verwendet, um einen Durchschnitt zu erstellen. Ich bin völlig ahnungslos wie ich das erreichen kann und ich suche seit 2 Tagen im Internet ohne Glück.

Console.WriteLine ("User response seperated by commas goes here."); 
string response = Console.ReadLine(); 
Char delimiter = ','; 
string[] splitResponses = response.Split (delimiter); 

Antwort

1

Ich muss wissen, wie man diese Splits zu nehmen und sie als separate Werte, um einen Durchschnitt zu erstellen verwenden.

nicht sicher, was Sie durch nehmen diese Splits bedeuten und verwenden sie als separate Werte, Ergebnis ist ein Array Sie Elemente Index wie splitResponseses[0]

verwendet, könnten die durchschnittlich Sie konvertieren müssen zu berechnen sie zu ints (oder entsprechende Typen) und Durchschnitt berechnen.

string[] splitResponses = response.Split (delimiter);  // Split string 

int sum=0; 
foreach(string s in splitResponses) 
{ 
    var valueInt = int.Parse(s); // convert string to an int. 

    sum+= valueInt; 
} 

double average = (double)sum/splitResponses.Length; 

Eine weitere einfache Lösung Linq Erweiterungen verwenden.

int[] splitResponses = response.Split (delimiter)  // Split string 
           .Select(int.Parse)  // Convert To int value; 
           .ToArray(); 

Nun könnte man durchschnittlich berechnen

mit
splitResponses.Average(); // Average 
splitResponses.Sum();  // Sum 
+0

Ich folge nicht ganz, ich bin ziemlich neu in C# und ich habe gelernt, nur grundlegende C# in der Universität so weit, den Grund, warum ich‘ Ich versuche, diese Dinge herauszufinden, weil ich bald einen Advanced C# -Kurs beginne und ich will nicht verloren gehen. Dies ergab Fehler: 'Console.WriteLine (" Benutzer Antwort getrennt durch Kommas geht hier. "); \t \t \t Zeichenfolge Antwort = Console.ReadLine(); \t \t \t Zeichen delimiter = ','; \t \t \t int [] splitResponses = Antwort.Split (Begrenzer); \t \t \t int [] splitResponses = Antwort.Wählen (int.Parse); \t \t \t int [] splitResponses = Antwort.ToArray(); \t \t \t Console.WriteLine (splitResponses.Average()); ' – Kankuro

+0

@Kankuro Überprüfen Sie die aktualisierte Antwort, ich stellte einfache Looping-Lösung. Main catch hier konvertiert in int, da 'split' function ein Array von Strings zurückgibt, müssen Sie zuerst in' int' konvertieren und dann summieren. –

+0

Ich bekomme die Linq-Lösung nicht. Was wollen Sie sagen, wenn Sie .Select und .ToArray auf eine neue Zeile setzen? – Kankuro

Verwandte Themen