2017-10-19 4 views
-2

Hallo Ich fragte mich, ob jemand erklären könnte, wie diese Methode eine laufende Zählung und Durchschnitt zu machen, und nicht nur anzeigen, sobald der Benutzer die Eingabe seiner Daten beendet hat?Display läuft insgesamt

public void InScreen() 
{ 
    int count = 0; 
    double total = 0.0; 
    double average = 0.0; 
    double number; 

    Console.WriteLine("Enter the set of scores (enter 0 to indicate end of set)"); 

    number = double.Parse(Console.ReadLine()); 

    while(number != 0) 
    { 
     total += number; 
     count++; 
     number = double.Parse(Console.ReadLine()); 
    } 

    if (count != 0) 
     average = total/count; 

    Console.Beep(20000, 2000); 
    Console.WriteLine("The user has entered {0} scores.", count); 
    Console.WriteLine("The sum of scores entered = {0}", total); 
    Console.WriteLine("The average of scores entered = {0}", average); 
} 
+5

Bitte mehr Pflege übernehmen, wie Sie Ihren Code vor. Ohne Einrückung ist es wirklich schwer zu lesen. Als nächstes, was hast du * probiert * um eine laufende Zählung und Durchschnitt anzuzeigen? Tipp: Du würdest die Ausgabe in die 'while' Schleife schreiben ... –

+3

Also verschiebe einfach deinen Zusammenfassungscode in die While-Schleife – musefan

+0

danke tut mir leid, dass viel einfacher dann dachte ich es wäre –

Antwort

0

einfach diesen versuchen

static void Main(string[] args) 
    { 
     try 
     { 
      StringBuilder runningtotal = new StringBuilder(); 

      int count = 0; 
      double total = 0.0; 
      double average = 0.0; 
      double number; 

      Console.WriteLine("Enter the set of scores (enter 0 to indicate end of set)"); 

      number = double.Parse(Console.ReadLine()); 
      runningtotal.Append(number.ToString()); 
      while (number != 0) 
      { 

       total += number; 
       count++; 
       number = double.Parse(Console.ReadLine()); 
       if (number!=0) 
       { 
        runningtotal.Append("+" + number.ToString()); 
       } 

      } 
      if (count != 0) 
       average = total/count; 
      Console.Beep(20000, 2000); 
      Console.WriteLine("The user has entered {0} scores.", count); 
      Console.WriteLine("The sum of scores entered = {0}", total); 
      Console.WriteLine("The average of scores entered = {0}", average); 
      Console.WriteLine(runningtotal); 
      string[] inputs = runningtotal.ToString().Split('+'); 
      Console.WriteLine("Running total"); 
      int temp=0; 
      for (int i = 0; i <inputs.Length; i++) 
      { 
       if (temp==0) 
       { 
        Console.WriteLine("{0} = {1}",inputs[i],inputs[i]); 
        temp = Convert.ToInt32(inputs[i]); 
       } 
       else 
       { 
        Console.WriteLine("{0} = {1}", inputs[i], Convert.ToInt32(inputs[i]) + temp); 
        temp = Convert.ToInt32(inputs[i]) + temp; 
       } 



      } 

      Console.ReadLine(); 
     } 
     catch (Exception ex) 
     { 
      Console.WriteLine(ex.Message); 
      Console.ReadLine(); 
     } 

     Console.ReadLine(); 
    } 

Ausgabe Screenshot

enter image description here

lesen Here