Here is the code I am having trouble with it seems to work logically but perhaps I am missing a small detail as it doesn't work for chars or ints. Whenever I run it I get weird output like all Fs or all As.
#include <iostream>
template<class T>
char gradeIt(T mark,T maxMark){
T grade =(mark/maxMark)*100;
if(grade > 79)
return 'A';
else if(grade<=79 && grade >= 69) {
return 'B';
}
else if(grade<=69 && grade>59)
return 'C';
else if(grade>50 && grade <=59)
return 'D';
else
return 'F';
}
template<>
char gradeIt<char>(char mark,char maxMark){
return mark;
}