I’m supposed to make a user-defined function that will print the letter grade of the following mark range (ex: 99-100 = A+), but when I execute the code, it functions properly except it prints the number 1 on a new line.
Example Input:
Please input your grade in ICT:
99
Example Output:
A+
1
#include <iostream>
using namespace std;
void gr(char);
void gr2(char, char);
int main() {
int grade;
cout << "Please input your grade in ICT:" << endl;
cin >> grade;
if(grade >= 99 && grade <= 100){
gr2('A', '+');
}
else if(grade >= 95 && grade <= 98){
gr2('A', '-');
}
else if(grade >= 90 && grade <= 94){
gr('A');
}
else if(grade >= 85 && grade <= 89){
gr2('B', '+');
}
else if(grade >= 81 && grade <= 84){
gr2('B', '-');
}
else if(grade >= 75 && grade <= 80){
gr('B');
}
else if(grade >= 71 && grade <= 74){
gr('C');
}
else if(grade >= 61 && grade <= 70){
gr('D');
}
else{
gr('F');
}
cout << gr;
return 0;
}
void gr(char a){
int gr;
cout << a << endl;
}
void gr2(char a, char b){
int gr2;
cout << a << b << endl;
}
>Solution :
Just remove the line cout << gr; and the two variable definitions int gr; and int gr2;.