|
|
Subject:
C++ Program
Category: Computers > Programming Asked by: shock1-ga List Price: $10.00 |
Posted:
04 Mar 2005 16:28 PST
Expires: 06 Mar 2005 14:52 PST Question ID: 484883 |
It's about writing a program to tally the number of A's, B's, C's, D's and F's based upon a list of scores entered by a user. After all the scores are entered, the program summarizes the results and displays a graph of the number of each grade. Operation: The program starts and prompts you to either enter a test score or end the program by entering a -1. Like the following: Number of A's: 0 Number of B's: 0 Number of C's: 0 Number of D's: 0 Number of F's: 0 Enter a score (%) or -1 to end: 90 As you enter each score, the application decides whether the score is an A, B, C, D or F and adds one to the letter-grade tally. Like the following: Number of A's: 1 Number of B's: 0 Number of C's: 0 Number of D's: 0 Number of F's: 0 Enter a score (%) or -1 to end: 95 Each time you enter a score, the program updates the tally. Like the following: Number of A's: 2 Number of B's: 0 Number of C's: 0 Number of D's: 0 Number of F's: 0 Enter a score (%) or -1 to end: -1 When you are done entering scores, the program displays a horizontal bar graph of the tally for A's, B's, C's, D's and F's. Like the following: A's: ** B's: C's: D's: F's: Specifications: 1. Make a program to tally the number of A's, B's, C's, D's and F's based upon a list of scores entered by a user. 2. Tally the number of A's, B's, C's, D's and F's using the following scale: Numerical Grade Letter Grade greater than or equal to 90 A less than 90 but greater than or equal to 80 B less than 80 but greater than or equal to 70 C less than 70 but greater than or equal to 60 D less than 60 F 3. After all the scores are entered, the program must display a horizontal bar graph of the number tallied for each grade like that shown in the Operation section. 4. The tally graph must display a single '*' for each unit tallied. 5. When a user enters a -1, the program must display the final graph and exit. 6. The output of your program must display prompts and a tally graph like that shown in the Operation section above. 7. You may assume that a user will enter numbers only. |
|
There is no answer at this time. |
|
Subject:
Re: C++ Program
From: reemul-ga on 05 Mar 2005 17:43 PST |
First of all, I'd like some more details: what OS will be the one the program runs on? What development environment did you have in mind? Secondly, a C++ program making what you require is quite easy to write, even a 'professional' one... but of course one cannot post it here, and surely I wont do it, unless I get the 10 bucks (I am not a google 'Researcher'). For any questions (I have been writing C++ programs as a job for more than 7 years), just drop me an email: reemul@softhome.net |
Subject:
Here's the solution ...
From: dound-ga on 06 Mar 2005 04:26 PST |
#include <iostream> using namespace std; enum gradeIndex { GRADE_A, GRADE_B, GRADE_C, GRADE_D, GRADE_F }; enum gradingScale { GRADESCL_A=90, GRADESCL_B=80, GRADESCL_C=70, GRADESCL_D=60 }; //returns the corresponding letter grade index for given percentage static int getGradeIndex( double percentage ); //returns the correseponding letter grade defined by gradeIndex static char getGradeLetter( int index ); //prints the char n times static void printChar(char c, int n, ostream &OUT); int main() { double testScore; //store inputted test scores int numLG[5]={0,0,0,0,0}; //stores # of each letter grade entered bool firstLoop=true; //loop until the user is done entering scores (enters -1) do { //find the letter grade entered and increment its counter if( !firstLoop) { int index = getGradeIndex( testScore ); numLG[index] += 1; } else firstLoop = false; //output the tally for(int i=0; i<5; i++) cout << "Number of " << getGradeLetter(i) << "'s: " << numLG[i] << endl; //prompt the user for another test score cout << "Enter a score (%) or -1 to end: "; cin >> testScore; } while( testScore != -1 ); //print bar graph for(int i=0; i<5; i++) { cout << getGradeLetter(i) << "'s: "; printChar( '*', numLG[i], cout ); cout << endl; } return 0; } static int getGradeIndex( double percentage ) { if( percentage >= GRADESCL_A ) return GRADE_A; else if( percentage >= GRADESCL_B) return GRADE_B; else if( percentage >= GRADESCL_C) return GRADE_C; else if( percentage >= GRADESCL_D) return GRADE_D; else return GRADE_F; } static char getGradeLetter( int index ) { switch( index ) { case GRADE_A: return 'A'; case GRADE_B: return 'B'; case GRADE_C: return 'C'; case GRADE_D: return 'D'; default: return 'F'; } } static void printChar(char c, int n, ostream &OUT) { while( n > 0 ) { OUT << c; n -= 1; } } |
Subject:
... the solution, cont.
From: dound-ga on 06 Mar 2005 04:30 PST |
In case you want the convenience of just being able to download the cpp file (google inserted endlines to make the code fit its max width) I have posted it at http://www.dound.com/temp/gradeGrapher.cpp -- you may also view the screenshot of it working on the particular input you provided above at http://www.dound.com/temp/screen1.jpg ... it meets the specifications you provided. Thanks for the question and please let me know if you have any trouble. |
Subject:
Re: C++ Program
From: shock1-ga on 06 Mar 2005 10:28 PST |
Thanks for the program, it works. Will you do me a big favor? Can you rewrite it in C++ language like: cout << cin >> thanks |
If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you. |
Search Google Answers for |
Google Home - Answers FAQ - Terms of Service - Privacy Policy |