숙제가 아닙니다. 간단한 점수를 읽는 콘솔 프로그램이있어서 평균과 성적을 인쇄합니다. 지금까지 다음과 같습니다 :센티넬 컨트롤 루프 while C#
public static void Main()
{
int sum = 0;
int count = 0;
double average = 0;
Console.WriteLine ("Enter all your exam scores one by one. When finished, enter -99");
string scores = Console.ReadLine();
while (scores != "-99") {
sum += int.Parse (scores);
count++;
scores = Console.ReadLine();
}
if (scores == "-99") {
average = sum/count;
if (average >= 90)
Console.WriteLine ("Your average score is {0}. This is good for a letter grade of A", average);
Console.WriteLine(....more scores etc...);
이제 TryParse로 잘못된 항목을 확인하고 싶습니다.
Console.WriteLine ("Enter all your exam scores one by one. When finished, enter -99");
string scores = Console.ReadLine();
while (int.TryParse(scores, out numbers) == false){
Console.WriteLine("Please enter a valid integer")
scores = Console.ReadLine();
sum += int.Parse(scores);
count++;
}
while (scores != "-99" && int.TryParse(scores, out numbers) == true) {
sum += int.Parse (scores);
count++;
scores = Console.ReadLine();
}
if (scores == "-99") {
average = sum/count;
if (average >= 90)
Console.WriteLine ("Your average score is {0}. This is good for a letter grade of A", average); ...etc...
여기서 문제는 사용자가 다음 처음에 유효한 항목을 입력하고 경우 잘못된 하나를 입력하는 것입니다, 컴파일러 : 나는 다른 전에 다른 while 루프에 스틱과 같은 원래 하나를 변경 거라고 생각 잘못된 항목을 확인하기 위해 첫 번째 while 루프로 돌아갈 수 없습니다. 그래서 while 루프의 위치를 바꾸려고했습니다. 그러나 이것도 같은 효과가 있습니다. 유효하지 않은 항목이 입력 된 후 유효한 항목을 확인하기 위해 첫 번째 while 루프로 돌아갈 수 없습니다. 대답은 간단하지만 대부분 붙어 있습니다.
두 루프에서 벗어날 필요가 있으므로 두 번째 시도에서 -99를 입력하면주의해야합니다. 나는 위의 예에서 그렇게하는 방법을 포함하지 않았습니다. – JNYRanger