Call to a function
Sep 21, 2014 at 8:06pm UTC
Helle, i need a function printsresults, not a member function, to print out final couts. I don't understand how to call that function from the main and what parameters it should receive.
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
#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;
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" ;
}
}
}
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);
cout << "How many quizes grades would you like to enter? " ;
cin >> quizNum; //why cant move to add_auiz???
cout << "Enter " << quizNum << " quize grades: " ;
student1.add_quiz(quizNum, score);
//Move to printresults???
cout << fixed << showpoint << setprecision(2) << endl;;
cout << "\nStudent's name is:\t" << student1.get_name() <<endl;
cout << "Student's total is:\t" << student1.get_total_score()<< endl;
cout << "Student's average is:\t" << student1.get_average_score()<< endl;
return 0;
}
Sep 21, 2014 at 8:35pm UTC
try the following?
1 2 3 4
void printresults(Quizdata student_to_print)
{
// code to print here
}
Sep 21, 2014 at 11:08pm UTC
doesnt seem to work, It must be the call from the main that wrong. What would the call look like?
Sep 22, 2014 at 1:57am UTC
Sep 22, 2014 at 5:33am UTC
so you need a function that takes in the object as a parameter?
1 2 3 4 5 6
void print(Quizdata qd)
{
// then print anything associated with the class like:
cout << qd.name << endl;
}
When you call the function it will look like this
1 2 3 4
Quizdata student; //declare your object
print(student); // pass in the instance of the object name
Last edited on Sep 22, 2014 at 5:37am UTC
Topic archived. No new replies allowed.