2015-10-20 92 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;