Correct call?
How to correctly call function add_quiz so it would do the couts?
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
|
#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=number=0;
}
void setName(string studentName){
name = studentName;
}
string get_name(){
return name;
}
int add_quiz(int, int);
double get_total_score(){
return total;
}
double get_average_score(){
return total/number;
}
};
int Quizdata::add_quiz(int n, int grade)
{
int quizNum = n;
int score = grade;
cout << "How many quizes grades would you like to enter? ";
cin >> quizNum; //why cant move to add_auiz???
cout << "Enter " << quizNum << " quize grades: ";
while ( n!=0){
cin>> grade;
if (grade>=10 && grade<=100){
total +=grade;
number++;
n--;
}
else
{
cout << "Invalid input, score range is from 10 to 100";
}
}
}
void printresults(Quizdata);
int main()
{
string name;
int quizNum, score, total;
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? ";
getline(cin, name);
Quizdata student1(name);
Quizdata add_quiz(int, int);
printresults(student1);
return 0;
}
void printresults(Quizdata student1)
{
cout << "\nStudent's name is:\t" << student1.get_name() <<endl;
cout << "Student's total is:\t" << student1.get_total_score()<< endl;
cout << fixed << showpoint << setprecision(2);
cout << "Student's average is:\t" << student1.get_average_score()<< endl;
}
|
Topic archived. No new replies allowed.