무료
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결C 프로그래밍 - 입문부터 게임 개발까지
몇개의 병이 보이선택된건지 나오지 않습니다.
실행을 하면 1번째 시도 : 물약을 머리에 바릅니다... >>실패! 머리가 나지 않았어요.. 라고만 나와요ㅠㅠ ('1번째 시도 :' 와 '물약을 머리에 바릅니다..' 사이에 몇번 물약을 선택했는지 나와야하는데..) 그리고 계속 '실패!'만 나오네요.. treatment 선택이 안되는것같은데 코드를 아무리 찾아봐도 모르겠어요.. #include <stdio.h> #include <time.h> int main(void) { srand(time(NULL)); printf("\n\n === 아빠는 대머리 게임 === \n\n"); int answer; //사용자 입력값 int treatment = rand() % 4; //발모제 선택 (0~3) int cntShowBottle = 0; // 이번 게임에 보여줄 병 갯수 int prevcntShowBottle = 0; //앞게임에서 보여준 병 갯수 //서로 보여주는 병 갯수를 다르게 하여 정답률 향상 (처음에 2개 -> 다음엔 3개 ...) //3번의 기회 for (int i = 1; i <= 3; i++) { int bottle[4] = { 0,0,0,0 }; //4개의 병 do { cntShowBottle = rand() % 2 + 2; //보여줄 병 갯수 (0~1, +2 -> 2,3) } while (cntShowBottle == prevcntShowBottle); cntShowBottle = prevcntShowBottle; int isIncluded = 0; // 보여줄 병에 발모제가 포함되어있는지 여부 ( 1: 포함) printf("> %d번째 시도 : ", i); //보여줄 병 종류를 선택 for (int j = 0; j < cntShowBottle; j++) { int randBottle = rand() % 4; // 0~3 //아직 선택되지 않은 병이면, 선택처리 if (bottle[randBottle] == 0) { bottle[randBottle] = 1; if (randBottle == treatment) { isIncluded = 1; } } //이미 선택된 병이면, 중복이므로 다시 선택 else { j--; } } //사용자에게 문제 표시 for (int k = 0; k < 4; k++) { if (bottle[k] == 1) printf("%d", k + 1); } printf("물약을 머리에 바릅니다...\n\n\n"); if (isIncluded == 1) { printf(" >> 성공! 머리가 났어요!!\n"); } else { printf(" >> 실패! 머리가 나지 않았어요..\n"); } printf("\n ... 계속하려면 Enter키를 누르세요."); getchar(); } printf("\n\n발모제는 몇 번일까요?"); scanf_s("%d", &answer); if (answer == treatment + 1) { printf("\n>> 정답입니다!\n"); } else { printf("\n>> 틀렸습니다.. 정답은 %d입니다.\n", treatment + 1); } return 0; } 근데 rand() %4; 하면 rand에 노란색 표시가 뜨는데 int treatment = rand() % 4; 부분에는 노란색표시가 안나와요.. 여기부분이 문제인것같은데 뭐가 잘못된걸까요..?
- 미해결C 프로그래밍 - 입문부터 게임 개발까지
잘못된 점좀 찾아주세요 ㅠㅠ
아래와 같이 코딩을 했는데, break문은 루프 혹은 스위치문에서만 사용 가능하다고 나오면서 실행이 되질 못합니다. 혹시 이 밑에서 무언가 잘못된 점이 존재하나요? srand(time(NULL)); int n = rand() % 100+1; printf("숫자 : %d\n", n); int answer = 0; int chance = 5; while (chance > 0) { printf("남은 횟수 : %d\n", chance--); printf("정답(1~100) : "); scanf_s("%d", &answer); } if (answer > n) { printf("아래\n\n"); } else if (answer < n) { printf("위\n\n"); } if (answer == n) { printf("정답\n\n"); break; } if (chance == 0) { printf("실패\n\n"); } return 0; }
- 미해결C 프로그래밍 - 입문부터 게임 개발까지
빌드에 오류가 발생한다는데 이유를 모르겠습니다...
#include <stdio.h> #include <time.h> int main(void) { srand(time(NULL)); int num = rand() % 100 + 1; printf("숫자 : %d\n", num); int answer = 0; //정답 int chance = 5; //기회 while (chance>0) { printf("남은 기회 %d\n", chance--); printf("숫자를 맞춰보세요 (1~100) : "); scanf_s("%d", &answer); if (answer > num) { printf("DOWN ↓ \n\n"); } else if (answer < num) { printf("UP ↑ \n\n"); } else if (answer == num) { ptintf("☆★정답입니다.★☆\n\n"); break; } else { printf("알수없는 오류가 발생했습니다.\n\n"); } if (chance == 0) { printf("모든 기회를 다 사용하셨네요. 다시 도전하세요!\n"); break; } } return 0; } --------------- 이렇게 입력하고 F5눌렀는데 실행이 안되네요,,,, 뭐가 문제인걸까요...?
- 미해결C 프로그래밍 - 입문부터 게임 개발까지
단축기 질문입니다.
1:10 에서 여러줄 한번에 'tap'넣는거 어떻게 하는지 궁금합니다! 그리고 ctr k c/u로 주석처리 한번에 하는데 어쩔때는 /* */이걸로 때고 다른때는 //로 주석처리 해주는데 뭔차이인지도 궁금합니다!
- 미해결C 프로그래밍 - 입문부터 게임 개발까지
f5누르고 글자밀림..
다 따라서 만든다음에 f5누르고 프로젝트 실행되면 한글자씩 밀려서 써져요.. "안녕" 이라고 치면 "안"까지만 나오고 다음글자 치면 "녕"이 나오는 식인데 뭐가 문제인걸까요..?
- 미해결C 프로그래밍 - 입문부터 게임 개발까지
2:05 까지 하고 f5를 눌러도 실행이 안되요
똑같이 적고 f5눌르면 빌드 오류가 발생했습니다. 계속하고 마지막으로 성공한 빌드를 실행하시겠습니까? 라고 나오는데 어떻게 해결하나요ㅠㅠ 추가로 계속 이거 샐패만 하면 알약에서 악성코드 발견했다고 나오네여...
- 미해결C 프로그래밍 - 입문부터 게임 개발까지
Visual Studio 2019
Visual Studio 2017말고 2019를 사용했는데 설정창에서 조금 다른것 같은데 문제가 있는건가요?
- 미해결C 프로그래밍 - 입문부터 게임 개발까지
파일을 열수없습니다
ctrl+F5 를 누르면 오류가 뜨면서 오류 LNK1104 'C:\Users\a\source\repos\나도코딩\Debug\나도코딩.exe' 파일을 열 수 없습니다 이렇게 뜨네요;;
- 미해결C 프로그래밍 - 입문부터 게임 개발까지
while함수를 배우는 도중 이상한점이 생겼습니다.
while 함수를 인강과 똑같이 한거 같은데, f5를 눌르면 창만 뜨고 그외에 출력이 되지 않는 현상이 있습니다. 왜 그러는 건가요?
- 미해결C 프로그래밍 - 입문부터 게임 개발까지
도와주십쇼
studio.h 소스를 검색하지 못했답니다
- 미해결C 프로그래밍 - 입문부터 게임 개발까지
프로그램 종료
영상 속 코드 그대로 입력했는데 실행은 안되고 계속 프로그램이 종료돼요ㅜㅜ
- 해결됨C 프로그래밍 - 입문부터 게임 개발까지
질문있습니다
아무리 영상을 다시 재생하면서 봐도 똑같이 적었는데 실행시키면 문제 번호가 짝수만 나오게 됩니다 왜 그러는걸까요 #include <stdio.h> #include <time.h> int arrayAnimal[4][5]; int checkAnimal[4][5]; char * strAnimal[10]; void initAnimalArray(); void initAnimalName(); void shuffleAnimal(); int getEmptyPosition(); int conv_pos_x(int x); int conv_pos_y(int y); void printAnimals(); void printQuestion(); int main(void) { srand(time(NULL)); initAnimalArray(); initAnimalName(); shuffleAnimal(); int failCount = 0; while (1) { int select1 = 0; int select2 = 0; printAnimals(); printQuestion(); printf("뒤집을 카드를 2개 고르세요 : "); scanf_s("%d %d", &select1, &select2); if (select1 == select2) continue; int firstSelect_x = conv_pos_x(select1); int firstSelect_y = conv_pos_x(select1); int secondSelect_x = conv_pos_x(select2); int secondSelect_y = conv_pos_x(select2); if ((checkAnimal[firstSelect_x][firstSelect_y] == 0 && checkAnimal[secondSelect_x][secondSelect_y] == 0) && (arrayAnimal[firstSelect_x][firstSelect_y] == arrayAnimal[secondSelect_x][secondSelect_y]) ) { printf("\n\n 빙고! : %s 발견\n\n", strAnimal[arrayAnimal[firstSelect_x][firstSelect_y]]); checkAnimal[firstSelect_x][firstSelect_y] = 1; checkAnimal[secondSelect_x][secondSelect_y] = 1; } else { printf("\n\n 땡!! (틀렸거나, 이미 뒤집힌 카드입니다)\n"); printf("%d : %s\n", select1, strAnimal[arrayAnimal[firstSelect_x][firstSelect_y]]); printf("%d : %s\n", select2, strAnimal[arrayAnimal[secondSelect_x][secondSelect_y]]); printf("\n\n"); failCount++; } if (foundAllAnimals() == 1) { printf("\n\n 축하합니다 ! 모든 동물을 다 찾았네요 \n"); printf("지금까지 총 %d 번 실수하였습니다\n", failCount); break; } } return 0; } void initAnimalArray() { for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { arrayAnimal[i][j] = -1; } } } void initAnimalName() { strAnimal[0] = "원숭이"; strAnimal[1] = "하마"; strAnimal[2] = "강아지"; strAnimal[3] = "고양이"; strAnimal[4] = "돼지"; strAnimal[5] = "코끼리"; strAnimal[6] = "기린"; strAnimal[7] = "낙타"; strAnimal[8] = "타조"; strAnimal[9] = "호랑이"; } void shuffleAnimal() { for (int i = 0; i < 10; i++) { for (int j = 0; j < 2; j++) { int pos = getEmptyPosition(); int x = conv_pos_x(pos); int y = conv_pos_y(pos); arrayAnimal[x][y] = i; } } } int getEmptyPosition() { while (1) { int randPos = rand() % 20; int x = conv_pos_x(randPos); int y = conv_pos_y(randPos); if (arrayAnimal[x][y] == -1) { return randPos; } } return 0; } int conv_pos_x(int x) { return x / 5; } int conv_pos_y(int y) { return y % 5; } void printAnimals() { printf("\n=====이건 비밀인데.. 몰래 보여줍니다=====\n\n"); for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { printf("%8s", strAnimal[arrayAnimal[i][j]]); } printf("\n"); } printf("\n===================================\n\n"); } void printQuestion() { printf("\n\n(문제)\n"); int seq = 0; for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { if (checkAnimal[i][j] != 0) { printf("%8s", strAnimal[arrayAnimal[i][j]]); } else { printf("%8d", seq++); } seq++; } printf("\n"); } } int foundAllAnimals() { for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { if (checkAnimal[i][j] == 0) { return 0; } } } return 1; }
- 미해결C 프로그래밍 - 입문부터 게임 개발까지
scanf_s에서의 sizeof
scanf_s부분의 sizeof를 입력한 부분만 밑줄이 쳐지고 실행이 되지 않습니다...ㅜㅜ #include <stdio.h> int main(void) { char name[256]; printf("이름이 뭐예요?"); scanf_s("%s", name, sizeof(name)); int age; printf("몇살이에요?"); scanf_s("%d", &age); float weight; printf("몸무게는 몇 kg 이에요?"); scanf_s("%f", &weight); double height; pritnf("키는 몇 cm이에요?"); scanf_s("%lf", &height); char what[256]; printf("무슨 범죄를 저질렀어요?"); scanf_s("%s", what, sizeof(what)); //조서 내용을 출력 printf("\n\n--- 범죄자 정보 ---\n\n"); printf(" 이름 : %s\n", name); printf(" 나이 : %d\n", age); printf(" 몸무게 : %.2f\n", weight); printf(" 키 : %.2lf\n", height); printf(" 범죄 : %s\n", what); return 0; }
- 미해결C 프로그래밍 - 입문부터 게임 개발까지
checkFishAlive 질문입니다
다른 함수들은 정의를 할 때 메인 위에 전역변수 선언? 인가 그런 걸 했는데 checkFishAlive는 선언을 안했는데 그 이유가 뭔가요? 다른 함수들은 선언을 안하면 작동을 안하는데 이 경우 작동을 하는 이유도 궁금합니다
- 해결됨C 프로그래밍 - 입문부터 게임 개발까지
강의와 똑같이 입력했는데 오류가 발생합니다
삭제된 글입니다
- 미해결C 프로그래밍 - 입문부터 게임 개발까지
빌드오류가 발생했다며 실행이 되지않습니다.
빌드 오류가 발생했습니다. 계속하고 마지막으로 성공한 빌드를 실행하시겠습니까? 에서 예를 누르면 프로그램을 시작할 수 없습니다. 지정된 파일을 찾을 수 없다고 합니다ㅜ 어떻게해야하나요?
- 미해결C 프로그래밍 - 입문부터 게임 개발까지
k <= i*2로 하면 안되는건가요?
혹시 차이점이 있으면 가르쳐주세요
- 미해결C 프로그래밍 - 입문부터 게임 개발까지
주석
드래그해서 한번에 주석은 어떻게 하는거에요?
- 미해결C 프로그래밍 - 입문부터 게임 개발까지
arrayFish[6] 대신 * cursor를 사용하신 이유가 궁금합니다.
arrayFish[6]을 직접 사용하지 않고 * cursor를 통해 사용하신 이유가 있는지 궁금합니다. 제가 아직 포인터에 익숙치 않아서, 포인터를 거쳐서 배열 값을 제어하는 것이 어떤 이점이 있는지 잘 모르겠습니다.
- 미해결C 프로그래밍 - 입문부터 게임 개발까지
7-7 수업 내용 중에 질문있습니다!
안녕하세요 :) 수업 내용 중에 changeArray(&arr2[0]) for (int i = 0; i <3; i++) { printf("%d\n", arr2[i]} 를 했을 때 결과 값이 10, 20,50으로 출력되잖아요. 제가 궁금한 부분은.. changeArray() 함수에 arr2 0번째 배열의 주소 값을 넣었을 때, 함수에 arr2인자를 넣었을 때와 값이 같은 이유가 배열의 첫번째 주소인자가 배열자체와 동일하게 취급때문인가요? arr2[0] == arr2 이어서 저렇게 된것인지, 아니면 다른 이유가 있는것인지 궁금합니다.