Я не уверен, что не так с моей программой в данный момент.Я могу получить правильные значения для A, B, D, F;но оно не возвращает значение C, когда оценка составляет от 70 до 80.
Я понимаю, что я обошел эту программу странным образом, это связано с тем, как профессор установил задание.Я смог получить C с помощью простых операторов if.Я считаю, что проблема связана с тем, как настроен мой else (userGrade B).
/* Jon Hays
Assignment 3B Due 9/25/19
"Grade Calculator"
This program calculates the average grade (%)
out of three test scores and converts it to a character
(A, B, C, D, F)*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main()
{
double test1;
double test2;
double test3;
char userGrade;
printf("Please input three test scores:");
scanf("%lf %lf %lf", &test1, &test2, &test3);
double testAverage = (test1 + test2 + test3) / 3;
double second3rdAverage = (test2 + test3) / 2;
if (testAverage >= 90)
userGrade = 'A';
else if (testAverage >= 70 && testAverage < 90)
{
if (test3 > 90)
userGrade = 'A';
else
userGrade = 'B';
}
else if (testAverage >= 50 && testAverage < 70)
{
if (second3rdAverage >= 70)
userGrade = 'C';
else
userGrade = 'D';
}
if (testAverage <= 50)
userGrade = 'F';
printf("%c", userGrade);
}