Hello, i am new to this board and to c++.
anyway, this question i have is this...
i wrote this program, and although it is functional, i think it could 
be written simpler. can anyone take a look at it and give me your 
thoughts?

thank you

/* This is a program that generates letter grades
 * and a +, -, or <blank> when given a numerical grade.
 * Although functional I think it could be made easier.
*/

#include <iostream.h>
#include <stdlib.h>
using namespace std;

int num_grade;      // number grade
int grade;          // temp place holder
char final;         // letter grade
char post;          // +, -, or <blank>

int main()
{
      // intro
      cout << "This one is a little trickier." << endl;
      cout << "You give me the number grade and I will return the 
letter grade." << endl;

      // input
        cout << "Please enter the number grade: ";
        cin >> num_grade;
      
      if (num_grade >= 101 || num_grade <= -1)
         cout << "Invalid input" << endl;

      else
         while (num_grade >= 0 && num_grade <= 100) {
            while (num_grade <= 100 && num_grade >= 91)  {
               final = 'A';
               grade = num_grade - 90;
                     if (grade >= 1 && grade <= 3)
                        post = '-';
                     if (grade >= 4 && grade <= 7)
                        post = ' ';
                     if (grade >= 8 && grade <= 10)
                        post = '+';
                        break;
                   }
            while (num_grade <= 90 && num_grade >= 81)  {
               final = 'B';
               grade = num_grade - 80;
                     if (grade >= 1 && grade <= 3)
                        post = '-';
                     if (grade >= 4 && grade <= 7)
                        post = ' ';
                     if (grade >= 8 && grade <= 10)
                        post = '+';
                        break;
                   }
            while (num_grade <= 80 && num_grade >= 71)  {
               final = 'C';
               grade = num_grade - 70;
                     if (grade >= 1 && grade <= 3)
                        post = '-';
                     if (grade >= 4 && grade <= 7)
                        post = ' ';
                     if (grade >= 8 && grade <= 10)
                        post = '+';
                        break;
                   }

            while (num_grade <= 70 && num_grade >= 61)  {
               final = 'D';
               grade = num_grade - 60;
                     if (grade >= 1 && grade <= 3)
                        post = '-';
                     if (grade >= 4 && grade <= 7)
                        post = ' ';
                     if (grade >= 8 && grade <= 10)
                        post = '+';
                        break;
                   }
            while (num_grade <= 60 && num_grade >= 0){
               final = 'F';
               post = ' ';
               break;
                   }

      // output
            cout << "Your letter grade is a(n) " << final << post << 
endl;
            break;
            }
      
      system("PAUSE");
      return 0;
}





>-----------------------------------------~-~>
CHECK THE ARCHIVE BEFORE POSTING!!!! Archive is available at 
http://www.eScribe.com/software/C-Paradise/

>------------------------------------------_->


 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/C-Paradise/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Reply via email to