944,059 Members | Top Members by Rank

Ad:
  • C++ Discussion Thread
  • Marked Solved
  • Views: 1478
  • C++ RSS
You are currently viewing page 1 of this multi-page discussion thread
Oct 30th, 2009
0

Computing Average Test Scores

Expand Post »
Hi guys. I am trying to write a program that asks the user how many test scores they have, then reads the test scores, averages them, then displays the average and a pass/fail grade (50+ is a pass), using a seperate function to average the input values.

I have been working on it for about 3 hours now, and I don't even know if I am going in the right direction. Worse, I don't know how to proceed. I have the program asking for the number of test scores, and reading the test scores. I have no idea how to write the function to average them.

Any help would be greaty appreciated:

C++ Syntax (Toggle Plain Text)
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8. cout << "This program computes the average of a set of test scores."<<endl;
  9. cout << "How many test scores would you like to average? ";
  10. int numValues;
  11. cin >> numValues;
  12. for (int count = 1; count <= numValues; count++)
  13. {
  14. cout << "\nEnter the test score: ";
  15. int n;
  16. cin >> n;
  17. }
  18. }
Reputation Points: 10
Solved Threads: 0
Newbie Poster
cole davidson is offline Offline
20 posts
since Oct 2009
Oct 30th, 2009
0
Re: Computing Average Test Scores
Well, your int n; is local to that block so it's going to disappear shortly thereafter. A lot of this depends on the specification of your problem. Can you use arrays? You don't have to, and it's more effective without them, but if that helps you understand then go for it. Write out an average of a set of numbers on a piece of paper and see how you do it, step by step.... i.e., add numbers up, divide by count of numbers, etc.
Sponsor
Featured Poster
Reputation Points: 1165
Solved Threads: 578
Quantitative Phrenologist
jonsca is offline Offline
4,271 posts
since Sep 2009
Oct 30th, 2009
-7
Re: Computing Average Test Scores
you will need to declare an array of ints that hold the individual test scores so that they can be averaged later. Then pass that array to the function to computes the average. Declare and allocate the array between lines 11 and 12 of the code you posted. int* arry = new int[numValues];

Then delete line 15, and change line 16 to cin >> arry[count];
Last edited by Ancient Dragon; Oct 30th, 2009 at 2:42 pm.
Sponsor
Team Colleague
Featured Poster
Reputation Points: 5608
Solved Threads: 2282
Retired and Enjoying Life
Ancient Dragon is offline Offline
21,954 posts
since Aug 2005
Oct 30th, 2009
-7
Re: Computing Average Test Scores
Click to Expand / Collapse  Quote originally posted by jonsca ...
Can you use arrays? You don't have to,
Since the average has to be done in a separate function I don't see any other way to do it but use an array. The number of scores is unknown until runtime so its not possible to just declare a bunch of integers.
Sponsor
Team Colleague
Featured Poster
Reputation Points: 5608
Solved Threads: 2282
Retired and Enjoying Life
Ancient Dragon is offline Offline
21,954 posts
since Aug 2005
Oct 30th, 2009
0
Re: Computing Average Test Scores
Thanks! I think I understand what you guys are saying, however we have not learned arrays yet. Are there no other ways? Or if there aren't, could you explain how to use arrays?
Last edited by cole davidson; Oct 30th, 2009 at 2:54 pm.
Reputation Points: 10
Solved Threads: 0
Newbie Poster
cole davidson is offline Offline
20 posts
since Oct 2009
Oct 30th, 2009
-7
Re: Computing Average Test Scores
There are lots of tutorials on the net, here's just one of them.
Sponsor
Team Colleague
Featured Poster
Reputation Points: 5608
Solved Threads: 2282
Retired and Enjoying Life
Ancient Dragon is offline Offline
21,954 posts
since Aug 2005
Oct 30th, 2009
0
Re: Computing Average Test Scores
I see your point Ancient. I guess I supposed that passing a running total and a number of scores into a function constructed thusly might be just as valid in this context.
Sponsor
Featured Poster
Reputation Points: 1165
Solved Threads: 578
Quantitative Phrenologist
jonsca is offline Offline
4,271 posts
since Sep 2009
Oct 31st, 2009
0
Re: Computing Average Test Scores
Ok. I have managed to figure it out. I have the program working as far as returning the average, but now I am having trouble getting it to display the pass or fail. I think I have written the function correctly for it (please correct me if I'm wrong), but the stupid thing is I can't the main function to display it! Agh! It frustrates me so much sometimes!

Anyways, here's the code. How do I get the main function to display the result of the pass or fail function (string grade), if that function is even correct!?

C++ Syntax (Toggle Plain Text)
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. string grade(double sum, int num);
  6. void average (int num)
  7. {
  8. double sum =0;
  9. double score;
  10. for (int count = 1; count <= num; count++)
  11.  
  12. {
  13.  
  14. cout <<"\nEnter the test score: ";
  15.  
  16. cin >>score;
  17. sum =sum +score;
  18. }
  19. cout <<"The average is " <<sum/num<<endl;
  20. }
  21.  
  22.  
  23.  
  24. int main()
  25. {
  26.  
  27. cout <<"This program computes the average of a set of test scores."<<endl;
  28. cout <<"How many test scores would you like to average? ";
  29. int numValues;
  30. cin >> numValues;
  31.  
  32. average (numValues);
  33.  
  34.  
  35. }
  36. string grade(double sum, int num)
  37. {
  38. if (sum/num >= 50)
  39. return "This student has passed!";
  40. else if (sum/num < 50)
  41. return "This student has failed.";
  42. }
Reputation Points: 10
Solved Threads: 0
Newbie Poster
cole davidson is offline Offline
20 posts
since Oct 2009
Oct 31st, 2009
-7
Re: Computing Average Test Scores
make the function averate() return the average so that main() can determine whether it is pass or fail.
C++ Syntax (Toggle Plain Text)
  1. int average(int n)
  2. {
  3. ...
  4. ... <snip>
  5. return sum/num;
  6. }
Sponsor
Team Colleague
Featured Poster
Reputation Points: 5608
Solved Threads: 2282
Retired and Enjoying Life
Ancient Dragon is offline Offline
21,954 posts
since Aug 2005
Oct 31st, 2009
0
Re: Computing Average Test Scores
Or another thing you can do is to call the grade function from Average ().
Reputation Points: 673
Solved Threads: 125
Practically a Posting Shark
Sky Diploma is offline Offline
818 posts
since Mar 2008

This thread is solved

Either the thread starter or a moderator has marked this thread as solved. You can most likely trust the responses and answers given. There is most likely no reason for any further responses to be posted here. If you have a related question, please start a new thread in this forum instead.

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in C++ Forum Timeline: Conversion to any base, with a fixed number of digits
Next Thread in C++ Forum Timeline: count a pointer, help





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC