Cant call function
Hello, why doesnt my printfunction call execute?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
class Quizdata
{
private:
string name;
double total;
int number;
public:
Quizdata(string n=" "){
setName(n);
total=0;
number=0;
}
void setName(string studentName){
name = studentName;
}
string get_name(){
return name;
}
int add_quiz(int);
double get_total_score(){
return total;
}
double get_average_score(){
return total/number;
}
};
int Quizdata::add_quiz(int score)
{
int grade = score;
if (grade>=10 && grade<=100){
total +=grade;
number++; //increments number by 1
}
else
{
cout << "Invalid input, score range is from 10 to 100";
}
}
void printresults(Quizdata);
const int NUM_STUDENT = 3;
int main()
{
string name;
int quizNum,
score;
Quizdata student[3];
cout << "This program accepts students' name,\n"
<< "number of quizes and their scores.\n"
<< "Quiz scores must be in the range of 10 to 100\n";
cout << "\nWhat is the students name? ";
for (int i=0; i<NUM_STUDENT; i++){
getline(cin,name);
student[i].setName(name);
cin>>quizNum;
for (int j=0; j<quizNum; j++){
cin >> score;
student[i].add_quiz(score);
}
printresults(student); //call to print out results
}
return 0;
}
void printresults(Quizdata student[]) //prints out results
{
for (int i=0; i<NUM_STUDENT; i++) {
cout << "Name of student " << (i+1) <<" is" << student[i].get_name();
cout << "Student's total is " << student[i].get_total_score();
cout << fixed << showpoint << setprecision(2);
cout << "Student's average is " << student[i].get_average_score();
}
}
|
Compile error.
main.cpp: In function 'int main()':
main.cpp:78: error: conversion from 'Quizdata*' to non-scalar type 'Quizdata' re
quested |
Your function prototype for printresults (line 54) doesn't match the signature in the definition (line 93).
Last edited on
Topic archived. No new replies allowed.