我正在做的编程基本上要求用户提供他的名字和测验分数。然后它会累计用户输入的所有测验分数,计算输入的测验数量,然后对它们进行平均。
我遇到的问题是我得到的一些错误。我得到的第一个错误是“'student :: add_quiz':函数调用缺少参数列表;使用'& student:add_quiz'创建指向成员的指针”
我对其余的功能也得到了同样的错误,我不知道怎么绕过它,因为我以为我正确地调用它。我尝试按照错误消息说并使用“& student”,但这只会产生更多错误,我认为如果我正确地遵循我的笔记,我甚至不需要这样做。
我遇到的第二个问题是一个逻辑问题。我不确定如何获得用户输入的总分数,以便我可以对其进行平均。 (例如用户总分输入= 50 + 80 + 90 + 60 + 70 = 350)
我对如何平均它有一个想法,我只会做“total_score / quiz_count”,但我不确定如何在C ++中总输入用户。这是完全和平均的正确方法吗?
//Implement a class Student.For the purpose of this exercise, a student has a name and
//a total quiz score.Supply an appropriate constructor and functions get_name(),
//add_quiz(int score), get_total_score(), and get_average_score().To compute the latter,
//you also need to store the number of quizzes that the student took.
#include <iostream>
#include <iomanip>
#include <string>
#include <cmath>
using namespace std;
class Student
{
public:
void get_name();
void add_quiz(int score);
void get_total_score();
void get_average_score();
private:
int quiz_count;
int total_score;
double average_score;
};
void Student::get_name()
{
string name;
cout << "Enter name" << endl;
cin >> name;
cout << endl;
}
void Student::add_quiz(int score)
{
cout << "enter score: " << endl;
cin >> score;
quiz_count++;
}
void Student:: get_average_score()
{
average_score = total_score / quiz_count;
}
void Student:: get_total_score()
{
cout << "Total score: " << total_score << endl;
}
int main ()
{
Student student1;
cout << student1.add_quiz << endl;
cout << student1.get_name << endl;
cout << student1.get_total_score << endl;
cout << student1.get_average_score << endl;
return 0;
}
答案 0 :(得分:1)
你忘了括号:它应该是student1.get_total_score()
答案 1 :(得分:1)
也许可以添加()到所有函数,并在开始时初始化对象..
答案 2 :(得分:0)
应该是这样的:
void Student::add_quiz()
{
cout << "enter score: " << endl;
int score;
cin >> score;
total_score += score;
quiz_count++;
}
int main ()
{
Student student1;
student1.add_quiz();
student1.get_name();
student1.get_total_score();
student1.get_average_score();
return 0;
}