#include<stdio.h>
#define A_MIN 850
#define B_MIN 750
#define C_MIN 650
#define D_MIN 550
#define A_MAX 925
#define A 876
#define B_MAX 824
#define B 776
#define C_MAX 724
#define C 676
#define D_MAX 624
#define D 576
int main(void)
{
int totalp;// Total points earned by student
char courseg;// Grade earned by student
int gradp;// grade point for determining letter grade
char sign;// additional sign for grade
printf("Enter the total points earned : ");
scanf("%d",&totalp);
gradp = totalp / A_MIN;
gradp += totalp / B_MIN;
gradp += totalp / C_MIN;
gradp += totalp / D_MIN;
courseg = 'F' - gradp;
courseg -= totalp/ D_MIN;
sign = totalp / A_MAX;
sign += totalp / A;
sign += totalp / A_MIN;
sign += totalp / B_MAX;
sign += totalp / B;
sign += totalp / B_MIN;
sign += totalp / C_MAX;
sign += totalp / C;
sign += totalp / C_MIN;
sign += totalp / D_MAX;
sign += totalp / D;
sign += totalp / D_MIN;
과제는 자기가 알아서 하세요..
조언 구하려고 온건뎅.. ㅠ
우선 switch-case문부터 배우세요
for. switch case while 다 압니다 하지만 쓰지 말라하네요..
if문도 못쓰나??
넵 못씁니당..
부호 넣는거면 그냥 넣으면 되는데 무슨 문제죠
범위에 따라 부호가 달라져야합니다.. 925~950 은 A+ 876~924는 그냥 A 850~875는 A- 이렇게요
간단하네요. (grade-min)/25 해서 테이블 쓰면 되겠네요.
만약에 856을 넣는다고 하면 A- 이렇게 나와야하는거죠
위의 코드는 등급 알아내는 알고리즘인가요?
875를 넣는다 하면 1이고 876을 넣어도 1인데요?
가비지// 넵 맞습니당
현재 점수에서 최저 등급 점수를 뺀 다음 25(등급간 간격)로 나누고 A+부터 D-까지면 3*4 = 12개 케이스니 로 해서 나누면 되겠네요. 그리고 char형 테이블을 만들어서 출력처리하면 되겠구요.. 그런데 이건 아무리봐도 입문용인데
ㅇㅇㅇ// 입문용 맞아용 ㅋㅋㅋ switch-case 안쓰고 그렇게 할수있나요?
char arr[12][] = {"A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-"} 여기까지 드렸으니 이제 알아서 하세요
ㅇㅇㅇ// 배열도 쓰면 안될텐데..
5만원 입금하면 알려드립니다
피자 쏴 주시면 친절하게 알려드립니다.
지금까지 알려주신것만해도 감사합니다..