/* * A new version of our previous program to assign pass/fail grades. * * This version has several errors that lead it to produce incorrect * output. */ #include #include #define PASSING_SCORE 70 int main() { int next_score; /* current input value */ int n; /* input values read with last scanf */ int score_count; /* count of scores read */ int pass_count; /* count of passing scores */ int fail_count; /* count of failing scores */ score_count = 0; pass_count = 0; fail_count = 0; printf("Score? "); n = scanf("%i", &next_score); while (n == 1) { score_count = score_count + 1; if (next_score >= PASSING_SCORE) { printf("%i - Passes\n", next_score); pass_count = score_count + 1; } else printf("%i - Fails\n", next_score); fail_count = fail_count + 1; printf("Score? "); n = scanf("%i", &next_score); } printf("\n%i scores entered, %i pass, %i fail.\n", score_count, pass_count, fail_count); return EXIT_SUCCESS; }