我的目标是拿(3)学生,给他们每个(3)的成绩,然后每个学生的这些成绩的平均值以及字母等级。这部分运作良好。我需要的最后一部分是取这些(3)平均成绩,加上它们,然后再取平均值作为班级平均成绩。C++ |一个数组,switch语句?需要一些指导
我应该怎样才能让班级平均?阵列?切换语句?我问的原因是因为我真的不知道。我完全无能为力,因为我如何才能做到这一点。
#include <iostream>
#include <ostream>
#include "stdafx.h"
using namespace std;
// start the program
int main() {
// LOCAL VARIABLES
// int student1, student2, student3; //the (3) students -- NOT EVEN SURE
// I NEED THIS
int all_students; // number of students
double grade1, grade2, grade3; // the (3) grade variable declarations
double grade_total; // holds the sum of all grades
double grade_avg; // holds the average of the sum of grades
cout << "Enter the number of students in the class: "; // number of students
// request
cin >> all_students;
all_students = 1; // initialize counter for the loop
// need to create a loop for all three students and input for 3
// grades/student
while (all_students <= 3) // start the loop for the students
{
cout << "\n\nPlease enter (3) numeric grades for student "
<< all_students << ":"; // enters the 3 grades for student
cin >> grade1 >> grade2 >>
grade3; // the grades are stored in these 3 variables
grade_total = grade1 + grade2 +
grade3; // sum is the 3 sets of graders added together
grade_avg = grade_total/3; // avg. is the sum divided by 3
// displays the output for the student grades, grade average, and letter
// grade
cout << "Student " << all_students << " grades are \n" << grade1 << "\n"
<< grade2 << "\n" << grade3 << "\n"
<< "with an average of: " << grade_avg
<< ", which is letter grade: "; // need this line to also read the
// letter grade for the average
// grade
if (grade_avg >= 90) // 90+ gets an A
cout << "A";
else if (grade_avg >= 80) // 80-89 gets a B
cout << "B";
else if (grade_avg >= 70) // 70-79 gets a C
cout << "C";
else if (grade_avg >= 60) // 60-69 gets a D
cout << "D";
else // anything less than a 60% is an F
cout << "F";
// increases counter! Incrementer.
all_students++; // Yes, I want to increment the count after the loop.
//****************************************************************//
// I need to figure out how to create an array to hold //
// each student average in order to calculate the overall //
// class average. Or use a switch statement? Advice? //
//****************************************************************//
//****************************************************************//
//****************************************************************//
}
}
我同意的平均值的averge。我会刚刚返回一个字符串/字符,但我不想更改他的代码太多。我会更新示例以反映您的评论。 – ventsyv 2014-09-23 17:54:44
太棒了。我会重做我的代码以反映您的建议。谢谢。我会回来看看其他人是否还有其他建议。我感谢你的时间。 – 2014-09-23 17:58:14
因此,在添加void函数时,编译器告诉我:错误C2601:'displayLetterGrade':本地函数定义是非法的。它告诉我,在(浮动等级)之后{<---应该有一个';',这是没有意义的。不知道该怎么做。 – 2014-09-24 15:44:20