2016-07-14 3 views
0

Мне нужно написать консольную программу для получения тестовых оценок и установить максимальное значение, которое должно быть больше 0 и не меньше, чем самый высокий результат, но я застрял на проверке «maxscore».Подтвердить ввод от пользователя

Это то, что я до сих пор:

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

Итак, вы хотите, чтобы подтвердить, что пользователь знает макс номер между 5 номерами, которые он уже предоставил? – user3185569

+0

В вашем случае, если вы проверите i вместо оценки [i] – User1234

+0

Эта программа не имеет смысла. Кроме того, переполнение стека не является бесплатным сервисом кодирования. – aadarshsg

ответ

3

Вы допустили ошибку при сравнении highScore с i вместо score[i]. И тогда вы должны также highScore = score[i].

1

Необходимо провести разницу между показателем i и счетом score[i]. i это счетчик, который вы используете в качестве индекса к элементу массива, в то время как score[i] фактическое значение партитуры внутри массива с именем score

for (int i = 0; i < 5; i++) 
{ 
    score[i] = Int32.Parse(Console.ReadLine()); 
    if (score[i] > highScore) 
    { 
     highScore = score[i]; 
     sum += score[i]; 
    } 
} 
Смежные вопросы