2015-10-20 5 views
1
 if (grade < 0 || grade > 100) 
      { 
       outputFile << right << setw(2) << number << "." << setw(5) << grade << " INVALID" << endl; 
       ++number; 
       invalid++; 
      } 
      else 
      { 
       outputFile << right << setw(2) << number << "." << setw(5) << grade << endl; 
       ++number; 
       total += grade; 
       valid++; 
      } 

// Я новичок в этом, так что в принципе есть ли способ упростить этот цикл? в принципе я не хочу, чтобы отобразить OUTPUTFILE дважды с единственным отличием является недействительным слово в конце, если число меньше 0 или более 100Есть ли более простой способ написать эту часть кода?

ответ

3

Вот один из способов:

outputFile << right << setw(2) << number << "." << setw(5) << grade; 
if (grade < 0 || grade > 100) 
{ 
    outputFile << " INVALID"; 
    invalid++; 
} 
else 
{ 
    total += grade; 
    valid++; 
} 
outputFile << endl; 
++number; 
Смежные вопросы