Nov 12, 2014 at 7:44pm Nov 12, 2014 at 7:44pm UTC
Hey guys. I have a programming class that I take once a week at my college. I had to miss last weeks class because of work, so I missed a ton of information. After reading through his notes online, I'm still lost. This is the last problem and I've been hung up on it for roughly an hour. This isn't the template code he gives you, this is what I've done after an hour. These are the instructions:
Modify the program above like this. We do not want to get scores, calculate and display their average in the main function. Instead, add a function getScoresFindAverage to perform these tasks. This function should return the average to main, so later it can be passed to toletterGrade to determine the letter grade.
This is the error I'm getting:
[Error] expected unqualified-id before '{' token
I'm assuming it's because I didn't do something with the getScoresFindAverage function in the beginning, but I'm really lost. Can anyone help?
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
// File: Lab21P2.cpp
// Created by Jason Goehring
#include <cstdlib>
#include <iostream>
using namespace std;
void toLetterGrade(double );
int main()
{
double midterm = 0.0;
double final = 0.0;
double project = 0.0;
double average = 0.0;
cout << "Enter midterm score: " ;
cin >> midterm;
cout << "Enter final score: " ;
cin >> final;
cout << "Enter project score: " ;
cin >> project;
cout << "Average Score: " << average << endl;
system("pause" );
return 0;
}
void toLetterGrade(double average)
{
char courseGrade = ' ' ;
if (average >= 90)
{
courseGrade = 'A' ;
}
else if (average >= 80 && average < 90)
{
courseGrade = 'B' ;
}
else if (average >= 70 && average < 80)
{
courseGrade = 'C' ;
}
else if (average >= 60 && average < 70)
{
courseGrade = 'D' ;
}
else if (average < 60)
{
courseGrade = 'F' ;
}
cout << "Course grade: " << courseGrade << endl;
}
double getScoresFindAverage(double );
{
average = (midterm + final + project)/3;
return average;
}
Last edited on Nov 12, 2014 at 7:46pm Nov 12, 2014 at 7:46pm UTC
Nov 12, 2014 at 7:49pm Nov 12, 2014 at 7:49pm UTC
Line 56: remove semicolon.
Nov 12, 2014 at 7:57pm Nov 12, 2014 at 7:57pm UTC
Now I get the following errors, all for line 58:
In function 'double getScoresFindAverage(double)':
[Error] 'average' was not declared in this scope
[Error] 'midterm' was not declared in this scope
[Error] 'final' was not declared in this scope
[Error] 'project' was not declared in this scope
Nov 12, 2014 at 8:02pm Nov 12, 2014 at 8:02pm UTC
You need to declare used variables. You probably want to pass midterm, final and project to function and declare local variable average, you will return later.
Nov 12, 2014 at 8:13pm Nov 12, 2014 at 8:13pm UTC
Got it to work, you are a god among men. I should've realized I wasn't calling average in main. I appreciate your help bro!
Nov 15, 2014 at 3:53pm Nov 15, 2014 at 3:53pm UTC
Do either of you guys mind looking over what I have here as well? I have run into the same problems discussed, and tried reviewing your suggestions, but can not get my program to run either.
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
// File : Lab 21 - Question 2
// Created by : Chase Wood 11/12/2014
// Scores on midterm, final, and project.
#include <cstdlib>
#include <iostream>
using namespace std;
//Function Prototype
//------
double scoreaverage(double , double , double , double );
void lettergrade(double );
int main()
{
//Intro
//-----
cout << "DID YOU PASS OR FAIL?!" << endl;
//Variables
//------
double midterm = 0.0;
double final = 0.0;
double project = 0.0;
double average = 0.0;
average = scoreaverage(midterm, final, project);
//Input
//-------
cout << "Please enter midterm score: " ;
cin >> midterm;
cout << "Please enter final score: " ;
cin >> final;
cout << "Please enter project score: " ;
cin >> project;
cout << "Average score: " << average << endl;
system("pause" );
return 0;
}
void lettergrade(double average)
{
char coursegrade = ' ' ;
if (average >= 90)
{
coursegrade = 'A' ;
}
else if (average >= 80 && average < 90)
{
coursegrade = 'B' ;
}
else if (average >= 70 && average < 80)
{
coursegrade = 'C' ;
}
else if (average >= 60 && average < 70)
{
coursegrade = 'D' ;
}
else if (average < 60)
{
coursegrade = 'F' ;
}
cout << "Course grade: " << coursegrade << endl;
}
double scoreaverage(double average, double midterm, double final, double project)
{
return (midterm + final + project)/3;
}
I keep returning [Error] too few arguments to function
Last edited on Nov 15, 2014 at 3:54pm Nov 15, 2014 at 3:54pm UTC
Nov 15, 2014 at 4:16pm Nov 15, 2014 at 4:16pm UTC
double scoreaverage(double average, double midterm, double final, double project)
Nov 16, 2014 at 12:40am Nov 16, 2014 at 12:40am UTC
we must be in the same class.... wow.
Last edited on Nov 16, 2014 at 12:52am Nov 16, 2014 at 12:52am UTC
Nov 19, 2014 at 9:48pm Nov 19, 2014 at 9:48pm UTC
Im having the same trouble, but instead its not displaying the course grade. Can someone look at my code and let me know what I am missing?
// File: Lab21P2.cpp
// Created by Melanie Gunn on 11/19/14
#include <cstdlib>
#include <iostream>
using namespace std;
void toLetterGrade(double);
double getScoresFindAverage(double, double, double);
int main()
{
double midterm = 0.0;
double final = 0.0;
double project = 0.0;
double average = 0.0;
cout << "Enter midterm score: ";
cin >> midterm;
cout << "Enter final score: ";
cin >> final;
cout << "Enter project score: ";
cin >> project;
average = getScoresFindAverage(midterm, final, project);
cout << "Average Score: " << average << endl;
system("pause");
return 0;
}
void toLetterGrade(double average)
{
char courseGrade = ' ';
if (average >= 90)
{
courseGrade = 'A';
}
else if (average >= 80 && average < 90)
{
courseGrade = 'B';
}
else if (average >= 70 && average < 80)
{
courseGrade = 'C';
}
else if (average >= 60 && average < 70)
{
courseGrade = 'D';
}
else if (average < 60)
{
courseGrade = 'F';
}
cout << "Course grade: " << courseGrade << endl;
}
double getScoresFindAverage(double midterm, double final, double project )
{
return (midterm + final + project)/3;
}
Nov 19, 2014 at 10:31pm Nov 19, 2014 at 10:31pm UTC
I don't see that you actually call the toLetterGrade() function that prints out the course grade.
Nov 19, 2014 at 10:55pm Nov 19, 2014 at 10:55pm UTC
can you give an example, im not sure where i should call the function that prints out the course grade other than how i did with "void toLetterGrade (double average)"
Nov 19, 2014 at 11:07pm Nov 19, 2014 at 11:07pm UTC
Function prototypes and definitions don't call the function to execute. You're calling a function (getScoresFindAverage) in main here.
average = getScoresFindAverage(midterm, final, project);
The letter grade function needs the average, so I'd call it after printing the average score.