#include #include int main(int argc, char** argv) { // decode the command line arguments // long ival = atoi(argv[1]); float fval = atof(argv[1]); /* // if else if example // if (ival < (long)0) { fprintf(stdout, "%f is a negative number\n", fval); } else if ((fval >= (float)0.0) && (fval <= (float)1.0)) { fprintf(stdout, "%f is in the range [0,1]\n", fval); } else if (fval > 1.0) { fprintf(stdout, "%f is greater than 1.0\n", fval); } else { fprintf(stdout, "**> I don't know what it is (%f)\n", fval); return -1; } */ // switch statement // fprintf(stdout, "using switch:\n"); char grade = argv[1][0]; switch(grade) { case 'A': fprintf(stdout, "%c: Excellent!\n", grade); break; case 'B': case 'C': fprintf(stdout, "%c: Well done\n", grade); break; case 'D': fprintf(stdout, "%c: You passed\n", grade); break; case 'F': fprintf(stdout, "%c: Better try again\n", grade); break; default: fprintf(stdout, "%c: Invalid grade\n", grade); } fprintf(stdout, "using if/else if:\n"); if (grade == 'A') { fprintf(stdout, "%c: Excellent!\n", grade); } else if ((grade == 'B') || (grade == 'C')) { fprintf(stdout, "%c: Well done\n", grade); } else if (grade == 'D') { fprintf(stdout, "%c: You passed\n", grade); } else if (grade == 'F') { fprintf(stdout, "%c: Better try again\n", grade); } else { fprintf(stdout, "%c: Invalid grade\n", grade); } // exit gracefully // return 0; }