Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- struct StudentGrade {
- int quiz1;
- int quiz2;
- int midterm;
- int final;
- int total, tScore;
- float q1, q2, m, f;
- float percent, avg;
- char letterGrade;
- }g;
- int main() {
- float Q_PERCENT = 12.5;
- float M_PERCENT = 25.0;
- float F_PERCENT = 50.0;
- int Q_SCORE = 10;
- int E_SCORE = 100;
- printf("Enter Quiz 1 score (maximum is 10): ");
- scanf("%d", &g.quiz1);
- printf("Enter Quiz 2 score (maximum is 10): ");
- scanf("%d", &g.quiz2);
- printf("Enter Midterm score (maximum is 100): ");
- scanf("%d", &g.midterm);
- printf("Enter Final score (maximum is 100): ");
- scanf("%d", &g.final);
- g.q1 = ((float)g.quiz1 / Q_SCORE * Q_PERCENT);
- g.q2 = ((float)g.quiz2 / Q_SCORE * Q_PERCENT);
- g.m = ((float)g.midterm / E_SCORE * M_PERCENT);
- g.f = ((float)g.midterm / E_SCORE * F_PERCENT);
- g.total = g.quiz1 + g.quiz2 + g.midterm + g.final;
- g.percent = g.q1 + g.q2 + g.m + g.f;
- g.tScore = Q_SCORE * 2 + E_SCORE * 2;
- float tPercent = Q_PERCENT * 2 + M_PERCENT + F_PERCENT;
- g.quiz1 = g.quiz1 > 10 ? 10 : g.quiz1;
- g.quiz1 = g.quiz1 < 0 ? 0 : g.quiz1;
- g.quiz2 = g.quiz2 > 10 ? 10 : g.quiz2;
- g.quiz2 = g.quiz2 < 0 ? 0 : g.quiz2;
- g.midterm = g.midterm > 100 ? 100 : g.midterm;
- g.midterm = g.midterm < 0 ? 0 : g.midterm;
- g.final = g.final > 100 ? 100 : g.final;
- g.final = g.final < 0 ? 0 : g.final;
- if (g.percent >= 90.0)
- g.letterGrade = 'A';
- else if (g.percent >= 80.0)
- g.letterGrade = 'B';
- else if (g.percent >= 70.0)
- g.letterGrade = 'C';
- else if (g.percent >= 60.0)
- g.letterGrade = 'D';
- else
- g.letterGrade = 'F';
- printf("\n\n");
- printf("--------------------------------------------------------------------------------------\n");
- printf("TEST\t\tTEST\t\tMAX\t\tGRADE SCORE\t\tMAXIMUM SCORE");
- printf("\nPERIOD\t\tSCORE\t\tSCORE\t\tDISTRIBUTION\t\tDISTRIBUTION\n");
- printf("--------------------------------------------------------------------------------------\n");
- printf("Quiz 1\t\t%d\t\t%d\t\t%.2f\%%\t\t\t\%.2f\%%\n", g.quiz1, Q_SCORE, g.q1, Q_PERCENT);
- printf("Quiz 2\t\t%d\t\t%d\t\t%.2f\%%\t\t\t\%.2f\%%\n", g.quiz2, Q_SCORE, g.q2, Q_PERCENT);
- printf("Midterm\t\t%d\t\t%d\t\t%.2f\%%\t\t\t\%.2f\%%\n", g.midterm, E_SCORE, g.m, M_PERCENT);
- printf("Final\t\t%d\t\t%d\t\t%.2f\%%\t\t\t\%.2f\%%\n", g.final, E_SCORE, g.f, F_PERCENT);
- printf("--------------------------------------------------------------------------------------\n");
- printf("TOTAL\t\t%d\t\t%d\t\t%.2f\%%\t\t\t%.2f\%%\n",g.total, g.tScore, g.percent, tPercent);
- printf("Average\t\t\%.2f\%%\n", ((float)g.total / g.tScore * tPercent));
- printf("Grade: \t\t%c", g.letterGrade);
- printf("\n--------------------------------------------------------------------------------------\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement