C 프로그래밍 - 입문부터 게임 개발까지

C 프로그래밍 - 입문부터 게임 개발까지

(62개의 수강평)

9352명의 수강생
김진석 프로필

질문입니다!! 김진석 1일 전

#include<stdio.h>

int main(void)

{

for (int i = 1; i <= 30; i++)

{

if (i >= 6 && i <= 20)

{

if(i==8, i==15)

{

printf("%d 번 학생은 결석입니다.\n", i);

continue;

}

printf("%d 번 학생은 조별과제를 준비하세요.\n", i);

}

}

return 0;

}

if(i==8, i==15) 부분으로 임의로 정해봤는데요 8번째는 결석처리가 안되고 15번만 결석처리가 되는지 궁금하고

만약 두명을 결석 처리 할려고하면 먼저 if(i==8)을 선언한뒤 한번더 if(i==15) 선언을 해야 두명다 결석처리가 되는걸까요??

0
zipperwon 프로필

혹시 입력함수질문이요. zipperwon 5일 전

강의중에 scanf()와 scanf_s()는 무슨 차이인가요?

0
rkddn1027 프로필

%f 와 %lf rkddn1027 7일 전

%f 와 %lf의 차이가 뭔가요? 

0
동동동그리 프로필

checkAnimal은, 초기화를 안했는데 쓰레기값이 저장되는 것 아닌가요?? 동동동그리 9일 전

checkAnimal[4][5] 배열은 초기화를 안했는데

그러면 쓰레기값이 저장되는 것 아닌가요?

checkAnimal[i][j]이 0이면 아직 뒤집어지지 않은 것이고,

0이 아니면 뒤집어 진 카드라고 하여 코드를 짜셨던데, 

문제 없이 돌아가서 여쭤봅니다...

 

0
joinc3425 프로필

random관련한 질문입니다. joinc3425 9일 전

선생님 안녕하세요~ 너무나도 훌륭한 강의 감사합니다.

제가 궁금한건 random함수 관련한것인데.

rand() % (level * 7) + 1;

인데 

%의 경우에는 나머지를 구하는 함수로 알고있습니다.

이 부분이 이해가 잘 안가서 그러는데...

혹시 조금 설명을 부탁 드려도될까요?

제가 이해력이 조금 부족해서ㅠㅠ 

0
joinc3425 프로필

반환값이 없는함수. joinc3425 10일 전

안녕하세요 선생님~~

다름이 아니라 return 값이 없는 함수는 언제 쓰이는거고

return값이 있는 경우는 언제 쓰는건가요?

예전부터 프로그램을 짜긴 짜는데 이러한 기초 지식이 배경되지 않아서 ㅠㅠ 항상 궁금했던 부분입니다..ㅠㅠ

0
동동동그리 프로필

비밀번호 마스터에서 제가 새로운 옵션을 넣어 만들어봤는데요 동동동그리 11일 전

비밀번호 마스터에서 제가 새로운 옵션을 넣어서 만들어 보려고 합니다.

1. 기회는 무한번

2. 만약 정답이 틀릴 경우, 끝

3. 또한, 5초이내에 입력하지 않으면 끝 (입력간의 시간 차이가 5초 이상 나면 끝)

이런 프로그램을 만들려고 합니다.

#include <stdio.h>

#include <time.h>

int main(void)

{

srand(time(NULL));

int count = 0; //단계를 통과할때마다 '몇단계를 통과하였습니다' 라고 말해줄 것임.

int ans; //사용자로부터 정답을 입력 받을것임

long startTime = clock(); //게임시작시간

long 총시간 = 0; //게임한 총 시간

long 지난시간 = 0; //입력간의 시간차

for(int i = 1;;i++)

{

총시간 = (clock() - startTime) / CLOCKS_PER_SEC; //게임한 총 시간을 나타냄. 나중에 입력간의 시간차에 사용할 것임.

int num1 = rand() % (i * 8) + 1; //1~8 -> 1~16 ...

int num2 = rand() % (i * 8) + 1;

printf("정답을 맞춰보세요!\n");

printf(" %d X %d = ?\n", num1, num2);

scanf_s("%d", &ans);

지난시간 = 총시간 - 지난시간; //맨 마지막에 지난시간 = 총시간 넣기

count++;

if ((지난시간/5) > 1)

{

printf("5초 이상 경과되어 게임 끝!\n");

printf("도전한 단계 : %d\n", --count);

break;

}

if (ans == num1 * num2)

{

printf("정답!\n");

printf("%d번째 단계 통과!\n", count);

}

else

{

printf("오답입니다!\n");

printf("정답은 %d입니다.\n", num1 * num2);

printf("통과한 단계수 : %d\n", --count);

break;

}

지난시간 = 총시간;

}

return 0;

}

뭐가 문제인 걸까요...?

0
Simon Yook 프로필

일기장을 작성할 때 Enter를 계속 눌러보았습니다. Simon Yook 13일 전

일기장 내부에서 줄바꿈을 하고 싶을 때도 있지 않습니까? 그래서 '내용을 계속 작성하세요! 종료하시려면 EXIT를 입력하세요!'가 나오고 Enter만 4번 눌렀더니 

이렇게 저장이 되었습니다.

while (1)

{ scanf("%[^\n]), contents);

getchar();

}

제가 생각하기로는 위에 이 코드 때문인것 같습니다. 제가 일기 내용을 작성하고 Enter를 눌러야 이제 scanf(...)에 그 내용이 들어가고 Enter가 getchar()에 들어가서 정상적인 코드가 작성이 되겠지만 아무것도 누르지 않았기에 scanf(...)에 아무것도 저장이 되지 않아서 이상한 문자들이 저장이 된것 같습니다.

이렇게 되지 않게 하기 위해서, 일기장 내부에도 줄바꿈을 사용할수 있게 하기 위해서는 어떤 코드를 작성해야 하는지 질문드립니다...

0
Simon Yook 프로필

질문 드립니다! Simon Yook 15일 전

지난번에 array_project 할때도 발생한 문제였습니다 ㅜㅜ

오류가 계속 

"'srand'이(가) 정의되지 않았습니다. extern은 int형을 반환하는 것으로 간주합니다."

"'rand'이(가) 정의되지 않았습니다. extern은 int형을 반환하는 것으로 간주합니다."

이렇게 나옵니다. 항상 srand(time(NULL))에서 문제가 발생하는거 같은데 다른 코드를 넣어줘야 하는건가요? 헤더에는 영상에 나온것처럼 <stdio.h>와 <time.h>만 사용했습니다.

1
hwan8195 프로필

파일 폴더 열기 hwan8195 15일 전

저는 계속 파일 열기 실패라고 뜨네요. 파일 찾아봐도 아무 것도 없고요. 왜 그런지 설명해주세요

1
hwan8195 프로필

실수변수는 = 3.23f에서 f를 쓰는 이유 hwan8195 16일 전

3.23f라고 쓰는 이유가 뭔가요? 3.23이라고 쓰면 안되나요? 설명해주세요!

2
미르Mir 프로필

A B 를입력하면 순서가 뒤바뀌어서 B A 가 나오도록 하는법 미르Mir 18일 전

제가 2개의 문자가 입력되면 순서가 바뀌어 출력되게 하려고합니다

예를들어 A B 를 입력하면 B A 가 나오도록 

밑에 제가 직접 입력해 본것입니다.

그런데 

"예외가 처리되지 않았습니다

0x7A6A98F1(ucrtbased.dll)에(practice.exe의) 처리되지 않은 예외가 있습니다. 0xC0000005: 0x00DA1339 위치를 기록하는 동안 액세스 위반이 발생했습니다"

라고 뜨는데 어떻게 해야 할까요?

#include <stdio.h>

int main()

{

    char x,y;

    scanf_s("%c %c", &x, &y);

    printf("%c %c", y, x );

    return 0;

}

1
미르Mir 프로필

저장파일 불러오기 미르Mir 19일 전

저장했던 파일을 다시 어떻게 불러오는지가 궁금합니다

2
하좋왕 프로필

작업 실행이 되지 않아요 하좋왕 22일 전

아래 작업이 실행 되지 않습니다; 

#include <stdio.h>
int main(void)
{
	
	char str[] = "cocacala";
	/*printf("%s\n", str);
	printf("%d\n", sizeof(str));*/
	for (int a = 0; a < sizeof(str); a++);
	{
		printf("%c\n", str[a]);
	}
return 0;
}

2
하좋왕 프로필

예외발생이 생깁니다. 하좋왕 22일 전

char str[] = "pepsi";

printf("%s\n", str);

printf("%s\n", sizeof(str));

를 할 경우 예외가 발생하게 되는데요, 왜 3번째 줄에서 %s\n이 아닌 %d\n을 쓰는지 궁금하고, %s\n을 사용하는경우 왜 예외발생이 생기는지 궁금합니다.

1
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스