2016-07-14 1 views
0

Ich muss ein Konsolenprogramm schreiben, um Testergebnisse zu erhalten und den Maximalwert größer als 0 und nicht weniger als die höchste Punktzahl zu setzen, aber ich bin fest auf die Validierung der "Maxscore".Validate eine Eingabe von Benutzer

Dies ist, was ich bisher:

int[] score = new int[5]; 
int highScore = 0; 
int sum = 0; 
int ave = 0; 

//Requests the user to input 5 numbers 
Console.WriteLine("Please enter 5 test scores:"); 

//Obtains the input and sets the highScore as well as the sum for all the number entered 

for (int i = 0; i < 5; i++) 
{ 
    score[i] = Int32.Parse(Console.ReadLine()); 
    if (i > highScore) 
    { 
     highScore = i; 
     sum += score[i]; 
    } 
} 

//Requests the user to enter the max score 
Console.WriteLine("Please enter the max score:"); 
int maxScore = Int32.Parse(Console.ReadLine()); 
+0

So genannt, ist es prüfen möchten, dass der Benutzer die max weiß Nummer zwischen den 5 Nummern, die er bereits zur Verfügung gestellt hat? – user3185569

+0

In Ihrem, wenn Sie das i anstelle der Punktzahl überprüfen [i] – User1234

+0

Dieses Programm macht keinen Sinn. Stack-Überlauf ist auch kein kostenloser Codierungsdienst. – aadarshsg

Antwort

3

Sie einen Fehler haben, wenn highScore mit i statt score[i] zu vergleichen. Und dann solltest du auch highScore = score[i].

1

Sie müssen zwischen dem Index i und der Punktzahl score[i] unterscheiden. i ist der Zähler, die Sie als Index für das Array-Element verwenden, während score[i] der tatsächliche Wert der Partitur innerhalb des Arrays score

for (int i = 0; i < 5; i++) 
{ 
    score[i] = Int32.Parse(Console.ReadLine()); 
    if (score[i] > highScore) 
    { 
     highScore = score[i]; 
     sum += score[i]; 
    } 
} 
Verwandte Themen