Q&A

  • c언어 공부하는데 도움 부탁드립니다...^^
제가 c언어 공부를 하는데 이문제를 풀수없어 도움을 청합니다.. 꼭 해결해주세요..



문제)

사전을 검색하는 프로그램을 완성하시오.

1. 사전 끝에는 NULL이 있다.

2. 단어의 입력이 없을 때 프로그램을 끝낸다



%?????????? 이 부분을 채워 넣으면 되는것입니다.



#include



void main()

{

static char *aDic[][2] = {

"apple", "apple is 사과",

“history”, “history is 역사”,

"person", "person is 사람",

NULL, NULL

};



char sWords[50];

char *sMeaning;

while (1) {

/* declare prototype for function searchFor here */

?????????????

printf("? ");

gets(sWords);

if (*sWords == NULL)

break;

sMeaning = searchFor(sWords, aDic);

if (sMeaning == NULL)

printf("No Word in the dictionaryn");

else

printf("%s: %sn", sWords, sMeaning);

}

printf("Bye, ....n");

}



char *searchFor(char *aWord, char *aDic[][2])

{

int i = 0;

????????????

????????????

????????????

return aDic[i][1];

}



3  COMMENTS
  • Profile
    이경문 2001.12.13 04:42
    c언어 공부인가요, c언어 숙제인가요?

    숙제는 스스로 하도록 노력하세요.



    강동환 wrote:

    > 제가 c언어 공부를 하는데 이문제를 풀수없어 도움을 청합니다.. 꼭 해결해주세요..

    >

    > 문제)

    > 사전을 검색하는 프로그램을 완성하시오.

    > 1. 사전 끝에는 NULL이 있다.

    > 2. 단어의 입력이 없을 때 프로그램을 끝낸다

    >

    > %?????????? 이 부분을 채워 넣으면 되는것입니다.

    >

    > #include

    >

    > void main()

    > {

    > static char *aDic[][2] = {

    > "apple", "apple is 사과",

    > “history”, “history is 역사”,

    > "person", "person is 사람",

    > NULL, NULL

    > };

    >

    > char sWords[50];

    > char *sMeaning;

    > while (1) {

    > /* declare prototype for function searchFor here */

    > ?????????????

    > printf("? ");

    > gets(sWords);

    > if (*sWords == NULL)

    > break;

    > sMeaning = searchFor(sWords, aDic);

    > if (sMeaning == NULL)

    > printf("No Word in the dictionaryn");

    > else

    > printf("%s: %sn", sWords, sMeaning);

    > }

    > printf("Bye, ....n");

    > }

    >

    > char *searchFor(char *aWord, char *aDic[][2])

    > {

    > int i = 0;

    > ????????????

    > ????????????

    > ????????????

    > return aDic[i][1];

    > }

    >

  • Profile
    강동환 2001.12.13 09:37
    이경문씨 지금때가 어느때인데 숙제를 논합니까.. 전 대학생인데 벌써 기말고사도

    끝났습니다. 이문제는 제가 공부하는 c언어책의 종합문제에 나오는 문제 입니다..

    이책에는 종합문제의 답이 안나왔더군요.. 그래서.. 이렇게 게시판에 올린것 입니다.

    전후사정도 모르시면서. 그런식으로 말하시면 안되는거 아닙니까!!!



    이경문 wrote:

    > c언어 공부인가요, c언어 숙제인가요?

    > 숙제는 스스로 하도록 노력하세요.

    >

    > 강동환 wrote:

    > > 제가 c언어 공부를 하는데 이문제를 풀수없어 도움을 청합니다.. 꼭 해결해주세요..

    > >

    > > 문제)

    > > 사전을 검색하는 프로그램을 완성하시오.

    > > 1. 사전 끝에는 NULL이 있다.

    > > 2. 단어의 입력이 없을 때 프로그램을 끝낸다

    > >

    > > %?????????? 이 부분을 채워 넣으면 되는것입니다.

    > >

    > > #include

    > >

    > > void main()

    > > {

    > > static char *aDic[][2] = {

    > > "apple", "apple is 사과",

    > > “history”, “history is 역사”,

    > > "person", "person is 사람",

    > > NULL, NULL

    > > };

    > >

    > > char sWords[50];

    > > char *sMeaning;

    > > while (1) {

    > > /* declare prototype for function searchFor here */

    > > ?????????????

    > > printf("? ");

    > > gets(sWords);

    > > if (*sWords == NULL)

    > > break;

    > > sMeaning = searchFor(sWords, aDic);

    > > if (sMeaning == NULL)

    > > printf("No Word in the dictionaryn");

    > > else

    > > printf("%s: %sn", sWords, sMeaning);

    > > }

    > > printf("Bye, ....n");

    > > }

    > >

    > > char *searchFor(char *aWord, char *aDic[][2])

    > > {

    > > int i = 0;

    > > ????????????

    > > ????????????

    > > ????????????

    > > return aDic[i][1];

    > > }

    > >

  • Profile
    이경문 2001.12.13 11:04
    숙제가 아니라 공부라면 일단은 죄송합니다. 그런데 이런 문제를 직접 풀여 보려는 노력은 해 보셨습니까? 혹시 스터디는 아닙니까?

    일단 스스로 해서 돌아가게 만든 다음, 그 코드를 이런 사이트를 통하여 올려서 자기가 만든 코드가 올바른 것인지, 다른 좋은 방법이 있는 것인지 고수들에게 문의를 해 보려는 노력은 해 보셨습니까?

    일단 고수들의 코드를 보고 이렇게 하면 되는 구나 고개를 끄덕끄덕 거리면 그것이 자신의 진정한 재산이 될 수 있을 까요?



    컴파일러에서 프로그램 직접 짜서 undeclared identifier라는 에러를 만나고 logic상의 에러를 직접 경험하면서 스스로 디버깅해보는 것이 프로그래밍입니다.

    변수 하나 잘못 써서 1~2시간 정도 애를 먹는 초보때의 경험들을 쌓아서 이루어저 가는 것이 프로그래밍입니다.

    컴파일은 되었으나 logic상 잘못되어서 어디서 잘못된 결과를 가져 올 까 스스로 고민하고 디버깅하는 것이 프로그래밍입니다.

    수학공식 외우듯이 정답보고 배우는 게 프로그래밍이 아니라는 얘기입니다.



    현지 field에 있는 모든 개발자들이 지금 자기가 만들고 있는 프로그램에 대해 100% 아는 상태에서 시작하는 사람은 없습니다.

    일을 진행해 나가면서 프로그래밍하면서 자기가 몰랐던 것들을 알아 가는 과정이 바로 개발자가 해야 될 일이고, 하고 있는 일들입니다.

    즉, 처음부터 남들에게 도움을 받으며 다져 온 실력은 field에 나가면, 회사가, 같은 팀원들이 외면한다는 얘기입니다.

    이런 C언어책 종합문제에 나오는 것들조차 스스로 해 보려고 하지 않고 남들에게 정답을 받아 공부한다는 것조차 그 자세가 올바르지 않는 다는 것입니다.

    그리고 이 문제는 한델뿐 아니라 다른 데도 많이 올려 놓으셨더라구요.

    그렇게 해서 답변을 기다리는 것보다 차라리 직접 플밍을 해서 돌아가도록 하는 것이 좋은 방법이 아닐까요?



    제 답변이 상당히 불쾌하리라 생각합니다. 하지만 QA란의 글들을 조금씩 살펴 보시기 바랍니다. 여기는 자기가 프로그래밍을 하면서 고생했던 사항들에 대해 고민을 공유하는 장소이지, 문제 풀고 답변해 주는 곳은 아닙니다.



    일단 스스로 노력하는 자세를 일단 보여 주시기 바랍니다.



    강동환 wrote:

    > 이경문씨 지금때가 어느때인데 숙제를 논합니까.. 전 대학생인데 벌써 기말고사도

    > 끝났습니다. 이문제는 제가 공부하는 c언어책의 종합문제에 나오는 문제 입니다..

    > 이책에는 종합문제의 답이 안나왔더군요.. 그래서.. 이렇게 게시판에 올린것 입니다.

    > 전후사정도 모르시면서. 그런식으로 말하시면 안되는거 아닙니까!!!

    >

    > 이경문 wrote:

    > > c언어 공부인가요, c언어 숙제인가요?

    > > 숙제는 스스로 하도록 노력하세요.

    > >

    > > 강동환 wrote:

    > > > 제가 c언어 공부를 하는데 이문제를 풀수없어 도움을 청합니다.. 꼭 해결해주세요..

    > > >

    > > > 문제)

    > > > 사전을 검색하는 프로그램을 완성하시오.

    > > > 1. 사전 끝에는 NULL이 있다.

    > > > 2. 단어의 입력이 없을 때 프로그램을 끝낸다

    > > >

    > > > %?????????? 이 부분을 채워 넣으면 되는것입니다.

    > > >

    > > > #include

    > > >

    > > > void main()

    > > > {

    > > > static char *aDic[][2] = {

    > > > "apple", "apple is 사과",

    > > > “history”, “history is 역사”,

    > > > "person", "person is 사람",

    > > > NULL, NULL

    > > > };

    > > >

    > > > char sWords[50];

    > > > char *sMeaning;

    > > > while (1) {

    > > > /* declare prototype for function searchFor here */

    > > > ?????????????

    > > > printf("? ");

    > > > gets(sWords);

    > > > if (*sWords == NULL)

    > > > break;

    > > > sMeaning = searchFor(sWords, aDic);

    > > > if (sMeaning == NULL)

    > > > printf("No Word in the dictionaryn");

    > > > else

    > > > printf("%s: %sn", sWords, sMeaning);

    > > > }

    > > > printf("Bye, ....n");

    > > > }

    > > >

    > > > char *searchFor(char *aWord, char *aDic[][2])

    > > > {

    > > > int i = 0;

    > > > ????????????

    > > > ????????????

    > > > ????????????

    > > > return aDic[i][1];

    > > > }

    > > >