Click here to Skip to main content
15,888,286 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: Exception handler Pin
Greg Utas14-Jul-21 9:15
professionalGreg Utas14-Jul-21 9:15 
AnswerRe: Exception handler Pin
SeeSharp214-Jul-21 10:31
SeeSharp214-Jul-21 10:31 
GeneralRe: Exception handler Pin
Drugodrf15-Jul-21 6:15
Drugodrf15-Jul-21 6:15 
GeneralRe: Exception handler Pin
Victor Nijegorodov15-Jul-21 9:25
Victor Nijegorodov15-Jul-21 9:25 
GeneralRe: Exception handler Pin
jschell17-Jul-21 9:38
jschell17-Jul-21 9:38 
GeneralRe: Exception handler Pin
Victor Nijegorodov17-Jul-21 9:51
Victor Nijegorodov17-Jul-21 9:51 
GeneralRe: Exception handler Pin
Richard MacCutchan17-Jul-21 21:08
mveRichard MacCutchan17-Jul-21 21:08 
QuestionC++ Pin
Member 152817338-Jul-21 8:52
Member 152817338-Jul-21 8:52 
#include <iostream>
#include <string>
#include <cstring>
#include <stdlib.h>
#define MAX_RESPONSE_LENGTH 5

 using namespace std;
  int main()

     {
          const float ENGLISH_MIDTERM_PERCENTAGE       = .25;
          const float ENGLISH_FINALEXAM_PERCENTAGE     = .25;
          const float ENGLISH_RESEARCH_PERCENTAGE      = .30;
          const float ENGLISH_PRESENTATION_PERCENTAGE  = .20;

          const float SCIENCE_MIDTERM_PERCENTAGE    = .40;
          const float SCIENCE_FINALEXAM_PERCENTAGE  = .40;
          const float SCIENCE_RESEARCH_PERCENTAGE   = .20;

          const float MATHS_MIDTERM_PERCENTAGE    = .50;
          const float MATHS_FINALEXAM_PERCENTAGE  = .50;

                float finalNumericGrade = 0;
                char finalLetteredGrade;
                char response [MAX_RESPONSE_LENGTH];

                string moreGradesToCalculate;

            short midtermGrade       = 0;
            short finalExamGrade     = 0;
            short researchGrade      = 0;
            short presentationGrade  = 0;

                     cout << "Do you have a grade to calculate? \n";
                     cin >> moreGradesToCalculate;

                     for(int x = 0; x < moreGradesToCalculate.length();x++){
                        moreGradesToCalculate[x] = toupper(moreGradesToCalculate[x]);
                     }

                       while(moreGradesToCalculate == "YES" ){

                cout << "Designate a student type to calculate.\n\n";
                cout << "1.English           2.Science\n\n"
                     << "3.Maths \n";
                cin >> response;

               if(strlen(response) == 0){
                 cout << "You must select a student type.\n" << endl;
                      return 0;
               }

                if((atoi(response) < 1) || (atoi(response) > 3)) {
                  cout << response << " - is not a valid student type.";
                    return 1;
                }

              switch (atoi(response))
              {
              case 1:
                cout << "Midterm Grade      : ";
                cin >> response;
                midtermGrade = atoi(response);
                cout << "Final Exam Grade   : ";
                cin >> response;
                finalExamGrade = atoi(response);
                cout << "Research Grade     : ";
                cin >> response;
                researchGrade = atoi(response);
                cout << "Presentation Grade : ";
                cin >> response;
                presentationGrade = atoi(response);

        finalNumericGrade = ((midtermGrade * ENGLISH_MIDTERM_PERCENTAGE)   + (finalExamGrade * ENGLISH_FINALEXAM_PERCENTAGE) +
                             (researchGrade * ENGLISH_RESEARCH_PERCENTAGE) + (presentationGrade * ENGLISH_PRESENTATION_PERCENTAGE));

                            cout << endl << "**** ENGLISH STUDENT ****\n" << endl;
                            cout << "Midterm Grade      : " << midtermGrade  << endl;
                            cout << "Final Exam Grade   : " << finalExamGrade << endl;
                            cout << "Research Grade     : " << researchGrade << endl;
                            cout << "Presentation Grade : " << presentationGrade << endl << endl;

             if((finalNumericGrade >= 92) && (finalNumericGrade <= 100)) {
                    finalLetteredGrade = 'A';
                 cout << "Final numeric grade  is : " << finalNumericGrade << "\n";
                 cout << "Final lettered grade is : " << finalLetteredGrade << "\n" ;
             }
             else
                if((finalNumericGrade < 92) && (finalNumericGrade >= 85)) {
                     finalLetteredGrade = 'B';
                 cout << "Final numeric grade  is : " << finalNumericGrade << "\n";
                 cout << "Final lettered grade is : " << finalLetteredGrade << "\n\n";
             }

             else
                if((finalNumericGrade < 85) && (finalNumericGrade >= 78)) {
                         finalLetteredGrade = 'C';
                 cout << "Final numeric grade  is : " << finalNumericGrade << "\n";
                 cout << "Final lettered grade is : " << finalLetteredGrade << "\n\n";
             }

             else
                if((finalNumericGrade < 78) && (finalNumericGrade >= 70)) {
                        finalLetteredGrade = 'D';
                 cout << "Final numeric grade  is : " << finalNumericGrade << "\n";
                 cout << "Final lettered grade is : " << finalLetteredGrade << "\n\n";
             }

             else
                 if((finalNumericGrade < 70) && (finalNumericGrade >= 0)) {
                     finalLetteredGrade = 'F';
                 cout << "Final numeric grade  is : " << finalNumericGrade << "\n";
                 cout << "Final lettered grade is : " << finalLetteredGrade << "\n\n";

             }
             break;

             case 2:
                cout << "Midterm Grade    :";
                cin >> response;
                midtermGrade = atoi(response);
                cout << "Final Exam Grade :";
                cin >> response;
                finalExamGrade = atoi(response);
                cout << "Research Grade   :";
                cin >> response;
                researchGrade = atoi(response);

      finalNumericGrade = ((midtermGrade * SCIENCE_MIDTERM_PERCENTAGE) + (finalExamGrade* SCIENCE_FINALEXAM_PERCENTAGE)
                           + (researchGrade * SCIENCE_RESEARCH_PERCENTAGE));

                if((finalNumericGrade >= 90) &&(finalNumericGrade <= 100))
             finalLetteredGrade = 'A';
             else
                if((finalNumericGrade < 90) &&(finalNumericGrade >= 80))
                finalLetteredGrade = 'B';
             else
                if((finalNumericGrade < 80) &&(finalNumericGrade >= 70))
                finalLetteredGrade = 'c';
             else
                if((finalNumericGrade < 70) &&(finalNumericGrade >= 60))
                finalLetteredGrade = 'D';
             else
                if((finalNumericGrade < 60) && (finalNumericGrade >= 0))
             finalLetteredGrade = 'F';

                           cout << endl << "**** SCIENCE STUDENT ****\n\n";
                           cout << "Midterm Grade      : " << midtermGrade  << endl;
                           cout << "Final Exam Grade   : " << finalExamGrade << endl;
                           cout << "Research Grade     : " << researchGrade << endl << endl;

                 cout << "Final numeric grade  is : " << finalNumericGrade << "\n";
                 cout << "Final lettered grade is : " << finalLetteredGrade << "\n\n";

                   break;

              case 3:
                cout << "Midterm Grade    :";
                cin >> response;
                midtermGrade = atoi(response);
                cout << "Final Exam Grade :";
                cin >> response;
                finalExamGrade = atoi(response);

       finalNumericGrade = (midtermGrade * MATHS_MIDTERM_PERCENTAGE) + (finalExamGrade* MATHS_FINALEXAM_PERCENTAGE);

            if((finalNumericGrade >= 90) & (finalNumericGrade <= 100))
             finalLetteredGrade = 'A';
             else
                if((finalNumericGrade >= 83 ) & (finalNumericGrade < 90 ))
                finalLetteredGrade = 'B';
             else
                if((finalNumericGrade >= 76 ) & (finalNumericGrade < 83 ))
                finalLetteredGrade = 'C';
             else
                if((finalNumericGrade >= 65) & (finalNumericGrade < 76))
                finalLetteredGrade = 'D';
             else
                if((finalNumericGrade < 65) & (finalNumericGrade >= 0))
             finalLetteredGrade = 'F';

                           cout << endl << "**** MATHS STUDENT ****\n\n";
                           cout << "Midterm Grade      : " << midtermGrade  << endl;
                           cout <<  "Final Exam Grade   : " << finalExamGrade << endl << endl;

                 cout << "Final numeric grade  is : " << finalNumericGrade << "\n";
                 cout << "Final lettered grade is : " << finalLetteredGrade << "\n\n";

              break;

              default:
                  cout << "Is not a valid student type:)\n" << endl;
                  return 1;
              }

              cout << "Do you have more grades to calculate?\n";
              cin >> moreGradesToCalculate;
              cout << endl;
              for(int x = 0; x < moreGradesToCalculate.length(); x++){
                moreGradesToCalculate [x] = toupper(moreGradesToCalculate[x]);
              }
              }
               cout << endl << "Thanks for using my grade calculator.";

              return 0;
     }


PLEASE HELP ME EXAMINE THE LOGICAL ERROR IN THIS CODE....
1. THE STRLEN() FUNCTION THAT CHECK IF THE USER PRESS THE ENTER KEY WITHOUT PROVING A RESPONSE TO THE QUESTION.
2. THE DEFAULT KEYWORD IN THE SWITCH STATEMENT THAT CHECKS A NON-INTEGER RESPONSE FROM THE USER.

AnswerRe: C++ Pin
OriginalGriff8-Jul-21 8:56
mveOriginalGriff8-Jul-21 8:56 
QuestionRe: C++ Pin
David Crow8-Jul-21 12:19
David Crow8-Jul-21 12:19 
AnswerRe: C++ Pin
Richard MacCutchan8-Jul-21 21:10
mveRichard MacCutchan8-Jul-21 21:10 
GeneralRe: C++ Pin
charlieg17-Aug-21 11:38
charlieg17-Aug-21 11:38 
QuestionHelp me to convert all to C++ (stdio.h) Pin
WEI SHEN KOK7-Jul-21 3:47
WEI SHEN KOK7-Jul-21 3:47 
AnswerRe: Help me to convert all to C++ (stdio.h) Pin
Victor Nijegorodov7-Jul-21 4:30
Victor Nijegorodov7-Jul-21 4:30 
AnswerRe: Help me to convert all to C++ (stdio.h) Pin
Dave Kreskowiak7-Jul-21 5:46
mveDave Kreskowiak7-Jul-21 5:46 
AnswerRe: Help me to convert all to C++ (stdio.h) Pin
Maximilien7-Jul-21 9:41
Maximilien7-Jul-21 9:41 
AnswerRe: Help me to convert all to C++ (stdio.h) Pin
Stefan_Lang7-Jul-21 21:16
Stefan_Lang7-Jul-21 21:16 
QuestionBase types and pointer arrays Pin
Richard Andrew x645-Jul-21 18:26
professionalRichard Andrew x645-Jul-21 18:26 
AnswerRe: Base types and pointer arrays Pin
Daniel Pfeffer5-Jul-21 20:56
professionalDaniel Pfeffer5-Jul-21 20:56 
GeneralRe: Base types and pointer arrays Pin
Richard Andrew x646-Jul-21 3:55
professionalRichard Andrew x646-Jul-21 3:55 
AnswerRe: Base types and pointer arrays Pin
Richard MacCutchan5-Jul-21 20:59
mveRichard MacCutchan5-Jul-21 20:59 
GeneralRe: Base types and pointer arrays Pin
Richard Andrew x646-Jul-21 3:56
professionalRichard Andrew x646-Jul-21 3:56 
AnswerRe: Base types and pointer arrays Pin
CPallini5-Jul-21 21:03
mveCPallini5-Jul-21 21:03 
GeneralRe: Base types and pointer arrays Pin
Richard Andrew x646-Jul-21 3:57
professionalRichard Andrew x646-Jul-21 3:57 
AnswerRe: Base types and pointer arrays Pin
jschell17-Jul-21 10:09
jschell17-Jul-21 10:09 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.