#include <stdio.h>
int main(void)
{
int num=0;
int grn=0, tn=0;
double result=0;
char gr;
start :
printf(\"학점 수, 성적 : \");
scanf(\"%d %c\", &grn, &gr);
if(gr==\'A+\')
result=4.3*grn+result;
else if(gr==\'A0\')
result=4.0*grn+result;
else if(gr==\'A-\')
result=3.7*grn+result;
else if(gr==\'B+\')
result=3.3*grn+result;
else if(gr==\'B0\')
result=3.0*grn+result;
else if(gr==\'B-\')
result=2.7*grn+result;
else if(gr==\'C+\')
result=2.3*grn+result;
else if(gr==\'C0\')
result=2.0*grn+result;
else if(gr==\'C-\')
result=1.7*grn+result;
else
printf(\"\\n\");
tn=grn+tn;
printf(\"계속(Y는 0, N은 1) : \");
scanf(\"%d\", &num);
if(num==0)
goto start;
else
goto end;
end :
printf(\"평균 성적 : %lf\", result/tn);
}
계절학기 성적 나와서 계산기로 성적 계산하는 도중에 C언어 배우니깐 한번 만들어볼라 했는데 어디가 잘못된건지 좀 알려줍세요ㅠㅠ
처음에 과목 학점수랑 성적을 입력하면(3 A0)이런식으로 if 에들어가서 result를 하나씩 계산해줌,
그다음에
if를 나와서 총이수학점수(tn)을 누적시켜주고 더 입력할 성적이 있는지를 묻는 \'계속\',
여기서 0을 입력하면 start로 들어가서 다시 학점 입력하고 1을 입력하면 그냥 결과값 출력하게 만들라고했는데 ...
A+는 문자열이니까 char gr; 가지곤 안돼
case로 좀 만들어라--
다 안들어 가 ㅇㅇ;
아니지 들어갈려나 뭔 개소리야 나
char배열이랑 strcmp
지금 배운게 goto까지임 ㅠㅠ
strcmp 아직 못배움 ㅠㅠ
if문에서 문자열 비교할려면 strcmp라는 함수를 써야되는겨
case로만들었는데 제대로 실행이 안되어서 혹시나 해서 if로 바꿔본거ㅠㅠ
아아 아직 안배운거라ㅠㅠ 감사합니다!!!
strcmp(비교할거,비교할거); 이게 끝임. 둘다 같으면 0, 아니면 다른 값이 나오지
printf(\"strcmp(비교할거,비교할거)\"); 이렇게 쓰는 대참사가 벌어지지 않길 바람
if(gr==\'A+\') 형식은 불가능함 구지 캐릭터형을 직접 찾으려면 A의 아스키코드값을 비교하는 걸 만들거나 if(strcmp(gr, \"A+\")); 이렇게 사용하던지 아그리고 그냥 하는말인데 goto는 왠만하면 쓰지마 과거에 저거쓰면 망한다는 개발자가 있어서 쓰는걸 안좋아 하는사람이 많아
저랩들은 goto가 필요한 로직 자체를 생산하는 경우가 거의 없다
ㅋㅋchar형 변수ㅋㅋ [핡]
switch(gr){ case A+: break;}; 이것좀 쓰삼.....
그게 문제가 아니라 걍 A+는 문자가 아님...