#c #if-statement #cin #weighted-average #interpretation
#c #если-заявление #cin #средневзвешенное значение #толкование
Вопрос:
Это мой проект кодекса. Мне нужно вычислить среднее значение пользователя. Письменный экзамен состоит из 40 предметов, в то время как практический экзамен состоит из 60 предметов, в общей сложности 100. Затем мне нужно отобразить среднее значение, его эквивалентный средний балл и его устную интерпретацию и определить, сдал ли студент или не сдал, используя средний балл. Моя проблема в том, что для того, чтобы определить, прошел пользователь или не прошел, мне нужно использовать соответствующий средний балл. Но я не знаю, как я собираюсь это сделать, так как пользовательский ввод в среднем, а не в формате GPA. Поэтому я спрашиваю, возможно ли, чтобы я мог скрыть среднее значение в эквивалентный средний балл или сделать так, чтобы среднее значение и средний балл были сопоставлены, чтобы я мог использовать его для определения того, прошел ли пользователь или потерпел неудачу.
#include lt;iostreamgt; using namespace std; int main() { float average, w_average, p_average, GPA, w_mathematics, w_science, w_english, w_filipino, w_MAPEH, p_mathematics, p_science, p_english, p_filipino, p_MAPEH; int student_num; string fname; string mname; string lname; cout lt;lt; "Enter your first name: "; getline(cin, fname); cout lt;lt; "Enter your middle name: "; cin gt;gt; mname; cin.ignore(); cout lt;lt; "Enter your last name: "; getline(cin, lname); cout lt;lt; "Enter your student number: "; cin gt;gt; student_num; cout lt;lt; "Enter your written exam grade in Mathematics : "; cin gt;gt; w_mathematics; cout lt;lt; "Enter your written exam grade in Science : "; cin gt;gt; w_science; cout lt;lt; "Enter your written exam grade in English : "; cin gt;gt; w_english ; cout lt;lt; "Enter your written exam grade in Filipino : "; cin gt;gt; w_filipino; cout lt;lt; "Enter your written exam grade in in MAPEH : "; cin gt;gt; w_MAPEH; cout lt;lt; "Enter your practical exam grade in Mathematics : "; cin gt;gt; p_mathematics; cout lt;lt; "Enter your practical exam grade in Science : "; cin gt;gt; p_science; cout lt;lt; "Enter your practical exam grade in English : "; cin gt;gt; p_english ; cout lt;lt; "Enter your practical exam grade in Filipino : "; cin gt;gt; p_filipino; cout lt;lt; "Enter your practical exam grade in in MAPEH : "; cin gt;gt; p_MAPEH; w_average = (w_mathematics w_science w_english w_filipino w_MAPEH) /5; p_average = (p_mathematics p_science p_english p_filipino p_MAPEH) /5; average = w_average p_average; cout lt;lt; "Name : "lt;lt; fname lt;lt;" "lt;lt; mname lt;lt;" "lt;lt; lname lt;lt;endl; cout lt;lt; "Student Number : " lt;lt; student_num lt;lt; endl; cout lt;lt; "Your average grade is : " lt;lt; average lt;lt; endl; if (average gt;= 95.50 amp;amp; average lt;= 100) cout lt;lt;"Your GPA is 1.00" lt;lt; endl; else if (average gt;= 91.50 amp;amp; average lt;= 95.49) cout lt;lt;"Your GPA is 1.25" lt;lt; endl; else if (average gt;= 85.50 amp;amp; average lt;= 91.49) cout lt;lt;"Your GPA is 1.50" lt;lt; endl; else if (average gt;= 81.50 amp;amp; average lt;= 85.49) cout lt;lt;"Your GPA is 1.75" lt;lt; endl; else if (average gt;= 75.50 amp;amp; average lt;= 81.49) cout lt;lt;"Your GPA is 2.00" lt;lt; endl; else if (average gt;= 71.50 amp;amp; average lt;= 74.49) cout lt;lt;"Your GPA is 2.25" lt;lt; endl; else if (average gt;= 65.50 amp;amp; average lt;= 71.49) cout lt;lt;"Your GPA is 2.50" lt;lt; endl; else if (average gt;= 61.50 amp;amp; average lt;= 64.49) cout lt;lt;"Your GPA is 2.75" lt;lt; endl; else if (average gt;= 55 amp;amp; average lt;= 55) cout lt;lt;"Your GPA is 3.00" lt;lt; endl; if (GPA lt;= 3.0){ cout lt;lt; "You passed" lt;lt; endl; } else { cout lt;lt; "You failed" lt;lt; endl; } if (average gt;= 95.50 amp;amp; average lt;= 100) cout lt;lt;"Excellent" lt;lt; endl; else if (average gt;= 91.50 amp;amp; average lt;= 95.49) cout lt;lt;"Very Satisfactory" lt;lt; endl; else if (average gt;= 85.50 amp;amp; average lt;= 91.49) cout lt;lt;"Very Satisfactory" lt;lt; endl; else if (average gt;= 81.50 amp;amp; average lt;= 85.49) cout lt;lt;"Satisfactory" lt;lt; endl; else if (average gt;= 75.50 amp;amp; average lt;= 81.49) cout lt;lt;"Satisfactory" lt;lt; endl; else if (average gt;= 71.50 amp;amp; average lt;= 74.49) cout lt;lt;"Satisfactory" lt;lt; endl; else if (average gt;= 65.50 amp;amp; average lt;= 71.49) cout lt;lt;"Needs Improvement" lt;lt; endl; else if (average gt;= 61.50 amp;amp; average lt;= 64.49) cout lt;lt;"Needs Improvement" lt;lt; endl; else if (average gt;= 55 amp;amp; average lt;= 55) cout lt;lt;"Highly Needs Improvement" lt;lt; endl; return 0; }
Комментарии:
1. На несвязанной ноте, почему бы вам
getline
mname
также не использовать, чтобы получить?2.
if (average lt;= 3.0)
за пройденное? Это кажется очень низким средним показателем. И среднее значение выше этого означает, что вы потерпели неудачу? Это кажется странным.3. о, это система оценки с Филиппин, поэтому я думаю, что она отличается от других стран
4. Следуйте своему коду, и каков средний балл, если в среднем он составляет 40%?
5.
else if (average gt;= 55 amp;amp; average lt;= 55)
— Это верно только в том случае, если средний показатель составляет ровно 55. Во-вторых, и это может быть полезно для вас, заключается в том, что вы можете поместить всю эту логику в таблицу и выполнить поиск, и все это без многочисленныхif
else-if
операторов и. На самом деле, это то, что вы, вероятно, сделали бы, если бы это была не компьютерная программа, а вместо этого вы сидели за столом, оценивая учеников, верно? Поэтому имитируйте это в компьютерной программе (опять же, может быть, продвинутой, но именно так подошел бы к этому хороший программист).