Question: Hi, I'm making a program that calculates grade by using Terminal. Here's what I've got. -------------------------------------- #include using namespace std; const int MAX_CHAR = 100;

Hi, I'm making a program that calculates grade by using Terminal.

Here's what I've got.

--------------------------------------

#include

using namespace std;

const int MAX_CHAR = 100;

const int MIN_A = 90;

const int MIN_B = 80;

const int MIN_C = 70;

double getAvg();

char determineGrade(double);

void printMsg(char grade);

int main()

{

double score;

char grade;

score = getAvg();

grade = determinGrade(score);

printMsg(grade);

return 0;

}

double getAvg()

{

double finalAvg;

cout << "Please enter your final average: ";

cin >> finalAvg;

while(!cin)

{

cin.clear();

cin.ignore(MAX_CHAR, ' ');

cout << "input has to be numerical!" << endl;

cin >> finalAvg;

}

cin.ignore(MAX_CHAR, ' ');

return finalAvg;

}

char determinGrade(double finalAvg)

{

char grade = 'F';

if(finalAvg >= MIN_A)

{

grade = 'A';

}

else if(finalAvg >= MIN_B)

{

grade = 'B';

}

else if(finalAvg >= MIN_C);

{

grade = 'C';

}

return grade;

}

void printMsg(char grade)

{

char msg[MAX_CHAR];

switch(grade)

{

case 'A':

strcpy(msg, "Excellent!");

break;

case 'B':

strcpy(msg, "Good job!");

break;

case 'C':

strcpy(msg, "You've passed!");

break;

default:

strcpy(msg, "Need to put down that video game!");

break;

}

cout << msg << endl;

}

------------------------------------------

And I typed the command "g++ -Wall -g app.cpp -o Lab2" to check if it works well, then I found some error.

It says,

-----------------------------------------------

app.cpp: In function int main():

app.cpp:19:29: error: determinGrade was not declared in this scope

grade = determinGrade(score);

^

app.cpp: In function char determinGrade(double):

app.cpp:52:7: warning: this if clause does not guard... [-Wmisleading-indentation]

else if(finalAvg >= MIN_C);

^~

app.cpp:53:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the if

{

^

app.cpp: In function void printMsg(char):

app.cpp:65:28: error: strcpy was not declared in this scope

strcpy(msg, "Excellent!");

^

--------------------------------------------

Can you list all of bugs, both syntax and semantic, that you have found and fixed?

you need to use gdb to find the semantic bug as well.

Thanks.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!