C언어 비쥬얼 스튜디오 왜 실행이 안되는 걸까요?
C언어 배우는 중입니다.
다른 코딩 잘만 되는데 왜 저거만 파일을 찾을 수 없다고 뜨는걸까요? ㅠㅠ 어디에 문제가 있는거죠?
그 SDL검사 그거도 아니요 체크했습니다.
#include <stdio.h>
void mian()
{
int score1, score2, score3, credit1, credit2, credit3, a, b, c, A, B, C, D, F;
float average;
A = 4, B = 3, C = 2, D = 1, F = 0;
scanf("%d, %d %d, %d, %d, %d", &score1, &score2, &score3, &credit1, &credit2, &credit3);
if (score1 >= 90)
a = credit1 * A;
else if (score1 >= 80)
a = credit1 * B;
else if (score1 >= 70)
a = credit1 * C;
else if (score1 >= 60)
a = credit1 * D;
else
a = credit1 * F;
if (score2 >= 90)
b = credit2 * A;
else if (score2 >= 80)
b = credit2 * B;
else if (score2 >= 70)
b = credit2 * C;
else if (score2 >= 60)
b = credit2 * D;
else
b = credit2 * F;
if (score3 >= 90)
c = credit3 * A;
else if (score3 >= 80)
c = credit3 * B;
else if (score3 >= 70)
c = credit3 * C;
else if (score3 >= 60)
c = credit3 * D;
else
c = credit3 * F;
average = (float)(a + b + c) / (credit1 + credit2 + credit3);
printf("평균 평점은 %f\n", average);
}
아마 이미 해결을 했을 수도 있지만 안전한 함수를 Visual Studio는 권장하기 때문입니다.
화면상에도 나와 있지만 컴파일이 제대로 되지 않아서 실행파일이 만들어지않았습니다.
빌드가 실패하면 프로그램을 실행할 수 없습니다.
다른 질문을 보니 이미 scanf_s 를 사용해서 해결을 한 것으로 파악했습니다.
C4996 에러를 피하기 위해서는 아래와 같이 에러 억제를 하는 방법도 있습니다.
#include <stdio.h> #pragma warning(disable:4996) // 에러 억제! int calculate(int score, int credit) { const int A = 4; const int B = 3; const int C = 2; const int D = 1; const int F = 0; if (score >= 90) { return credit * A; } else if (score >= 80) { return credit * B; } else if (score >= 70) { return credit * C; } else if (score >= 60) { return credit * D; } else { return credit * F; } } int main(int argc, const char * argv[]) { int score1, score2, score3, credit1, credit2, credit3, a, b, c; float average; scanf("%d %d %d %d %d %d", &score1, &score2, &score3, &credit1, &credit2, &credit3); a = calculate(score1, credit1); b = calculate(score2, credit2); c = calculate(score3, credit3); average = (a + b + c) / (float)(credit1 + credit2 + credit3); printf("평균 평점은 %f\n", average); return 0; }안녕하세요
스크린샷보니까 빌드오류가 발생하는것같아보이네요
scanf를 scanf_s 를 변경하라는 오류메세지가있는데
한번 변경해보시고 다시 빌드한번 해보시면 정상동작할수있을것같아보입니다.
변경되고 다른 오류메세지가 뜬다면
다시 질문해주세요.
참고로 보통 콘솔 오류메세지를 해석해서 해결될수있고 구글링에 검색해도 쉽게찾아보실수도있습니다.