C언어 입문한지 1주일 되는 진짜 초보자가 질문드립니다.
히나
다름이 아니라 제가 if else 문 같은걸 써서 아주 간단한 게임을 만들고 싶은데요
제가 원하는건 레벨 2를 고르면 레벨2 문제가 나오고 그문제를 못맞추면 프로그램이 종료되고
맞추면 계속 단문제를 풀 수 있는 프로그램을 원합니다.
근데 if else 문 정도 배운 새내기 한테는 그런 프로그램을 못짜나요 ㅠㅠ;
이 소스 보시고 틀린점 찾아주시면 감사해요 ㅠㅠ;
소스:
#include stdio.h
int main(void)
{
int LevelSelect;
int Level1=1;
int Answer1;
int Level2=2;
int Answer2;
int Level3=3;
int Answer3;
int Level4=4;
int Answer4;
int Level5=5;
int Answer5;
printf(레벨 골라 \n);
printf(1 2 3 4 5\n);
scanf(%d,&LevelSelect);
printf(레벨 %d 를 고르셨습니다.! \n게임을 시작합니다.,LevelSelect); //레벨 지정
if(Level1==1) //레벨이 1일떄
{
printf(1+2 는?\n); //문제
scanf(%d,&Answer1);
if(Answer1==3) // 정답
printf(정답입니다\n);
else
printf(틀렸습니다 다시해보세요\n);
}
if(Level2==2) // 레벨이 2일때
{
printf(4x5는?\n); //문제
scanf(%d,&Answer2);
if(Answer2==20) //정답
printf(정답입니다\n);
else
printf(다시 해보세요\n);
}
if(Level3==3) //레벨이 3일때
{
printf(x^2+4x+3=0 , x의 값은? (^은 계수를 의미)\n); //문제
scanf(%d,&Answer3);
if(Answer3==-3) // 정답
printf(정답입니다\n);
else
printf(다시 해보세요\n);
}
if(Level4==4) //레벨이 4일때
{
printf(sinθ+2=-√2, x의 값은?);
scanf(%d,&Answer4);
if(Answer4==30)
printf(정답입니다);
else
printf(틀렸습니다);
}
if(Level5==5) //레벨이 5일때
{
printf(3+1x2의 값은?);
if(Answer5==5)
printf(정답입니다!);
else
printf(다시 해보세요!);
}
return 0;
}
꼭 해결해주시길 바랍니다. 이상 ...
-
FaintTears
리안수다님 말슴이 맞아요
c언어에서 =는 초기화를 뜻해요
조건문에서는 ==를 사용합니다. -
딥블랙
아 감사합니다.
-
송아리
감사합니다
-
아이처럼
c언어에서는 = 하나는 같다(equal)을 뜻하는게 아니라
일명 왼쪽변수=오른쪽변수; 이면, 왼쪽변수에 오른쪽변수 값을 대입한다 라는 뜻이에요.
언어에 따라 조금씩 다르다고 알고있습니다 ^^.. -
늘솔길
아.. 끼어들어서 죄송하지만 왜=을 두개를써야하죠?ㅇㅅ
시작한지 얼마않된 초보는 궁금하네요..ㅠ -
멈짓체
if문에서 Level1~5 라고 하신것을 LevelSelect 로 바꿔주세요.
if(LevelSelect==Level1)
if(LevelSelect==Level2) 이런식으로요.
현재 쓰신 if문의 Level1==1 이것은 Level1 이 1인경우 실행된다 라는 뜻이므로 무조건 조건에 맞게됩니당.