프로그래밍 초보인데요.
IF문에서 switch ~ case 문으로 변경하는 과제인데
아래 소스코드까진 만들었는데 실행해서 점수 입력하면 점수를 잘못입력했다고 나요네요 ㅠ
그리고 점수 입력하면 무조건 F 학점이라고 뜨는 현상도 있네요
해결 부탁드려요!
#include <stdio.h>
int main()
{
int score;
char grade;
printf("점수를 입력하세요 : ");
scanf("%d", &score);
switch(score/100)
{
case 100 :
case 90 :
grade = 'A';
break;
case 80 :
grade = 'B';
break;
case 70 :
grade = 'C';
break;
case 60 :
grade = 'D';
break;
default :
grade = 'F';
printf("%c 학점입니다. ", grade);
}
printf("점수를 잘못 입력하였습니다. ");
return 0;
}
score/100 왜 한거임
그리고 잘못 입력했다고 안내하는 부분은 if ~ else로 제한해야 ㅇㅇ
의도한건 switch(score/10) { case 10: case 9:... 같은데
score/100이 잘못됫고
이런거 가르쳐주지 마... 생각 안하고 물어보는거 가르쳐주면 발전 못한다. 막히면 자기가 뭘 모르나 책부터 읽으며 확인을 하든 코드에 값 넣어가며 시물레이션을 하든 하면 다 알 수 있는데 이걸 혼자 해결 못하고 물어보냐. 책 안읽어서 모르는 것들은 가르쳐 주지 않는게 돕는거다.
입력이 잘못됬다는 부분은 if(scanf("%d",&score)==0)으로 조건 잡는게 좋을듯
scanf는 서식?에 맞게 값이 들어오면 1을 반환하고, 다르게 값이 들어오면 0을 반환하는 함수라서 if(scanf("%d",&score)==0)으로 조건을 잡으면 숫자가 들어올땐 정상작동하고 숫자 말고 다른게 입력되면 오류메시지 출력시킬 수 있음
Scoresystem.GetInput(); Scoresystem.CalculateGrade(); Scoresystem.InformScore();
네가 원하는 모든 코드는 이 클래스 안에 들어있단다.
Println으로 여기저기 계속 출력하든가 디버그 모드 쓰든가 이것도 안하고 질문하다간 버그 못잡는 븅신개발자된다
점수뭘입력해도 F라는거 학점드립아니냐