인프런 커뮤니티 질문&답변

Mandatory Service님의 프로필 이미지

작성한 질문수

홍정모의 따라하며 배우는 C언어

8.8 메뉴 만들기 예제

저는 매번 교수님이 작성하신 코드와 전혀 다른 방식으로 작성해서 걱정입니다.

22.12.07 18:21 작성

·

219

·

수정됨

0

결론부터 말씀드리자면 어느 정도 강의가 진행 되면서 코드가 복잡해졌는데, 매번 교수님이 의도하신 것과 계속 다른 방식으로 코드를 짜고 있습니다. 교수님의 방식은 굉장히 깔끔하시고 훌륭한걸 알고있습니다. 그치만 계속해서 제가 짠 코드가 큰 틀에서 봤을때 의미 없는건가 라는 생각도 드는 동시에, 교수님의 깔끔한 코드만 배우면 되는거 아닌가 라는 생각이 들면서 정답만 맞추자는 생각으로 공부를 하면서 공부에 흥미를 잃어가는것 같습니다. 현재 제가 뭔가 잘못된 것 같다는 생각이드는데 따끔하게 직설적인 꾸중을 듣고 싶습니다.

#define CRTSECURE_NO_WARNINGS

#include <stdio.h>

void avengers(void)

{

printf("Avengers assemble!\n");

return 0;

}

void beep(void)

{

printf("\a\n");

 

return 0;

}

void count(void)

{

long input;

long num = 1;

char c;

while (scanf("%ld", &input) != 1)

{

printf("Your input - ");

while ((c = getchar()) != '\n')

putchar(c);

 

printf(" - is not a integer. Please try again. \n");

}

while (input + 1 > num)

{

printf("%ld\n", num);

num = num + 1;

}

return 0;

}

int main()

{

char c;

printf("Enter the letter of your choice: \n");

printf("a. avengers b. beep\n");

printf("c. count q. quit\n");

 

while (scanf("%c", &c) != 0)

{

if (c == 'a')

avengers();

else if (c == 'b')

beep();

else if (c == 'c')

count();

else if (c == 'q')

return 0;

else

printf("You need to choice in a to q");

while ((c = getchar()) != '\n')

continue;

 

printf("Enter the letter of your choice: \n");

printf("a. avengers b. beep\n");

printf("c. count q. quit\n");

}

return 0;

}

답변 1

0

강민철님의 프로필 이미지

2022. 12. 07. 18:49

개인적으로 생각했을 때 오히려 박수받아야 할 행동이라 생각합니다.

개발을 하다보면 의외로

마치 시험처럼 "정답"이 없는 경우도 많고,

결국 뛰어난 개발자는 자신만의 코드를 작성하는 사람입니다.

 

정답이 없는 코드를 작성하는 뛰어난 개발자가 되기 위해서는

많은 시행착오와 자신만의 코드를 많이 작성해야 하겠지요.

 

강의 내의 설명을 제대로 이해했다면 최대한 많이 변형해보고

때로는 오류도 많이 내보는 것이 오히려 좋다고 봅니다.

(오류를 내보는 것도 훌륭한 공부입니다)

 

흥미를 잃지 마시고 항상 화이팅입니다.