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.