디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

프로그래밍 해석을 하려고 합니다..

나비(220.116) 2011.11.22 21:35:39
조회 109 추천 0 댓글 4


안녕하세요 프로그래밍 초보자입니다 (_ _)

terms.txt 문서에서 사전식 검색이 가능한 간단한 프로그램인데요..

코딩들이 어떤과정들을 거쳐서 이러한 결과값이 나왔나 단어검색 프로그램의 논리 흐름을 알고싶습니다.

코딩 옆에 주석처럼 달아주셔서 알려주시면 감사하겠습니다!!



#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<windows.h>
 
char terms[50][40];
char *file_name="terms.txt";
void load_data(int *number);
void search_data(char data[][40], int number);
void sort_data(char data[][40], int number);
void upper_to_lower(char str[]);
void gotoxy(int x, int y);
 
int main(void)
{
        int number;
        load_data(&number);
        sort_data(terms, number);
        search_data(terms, number);
        return 0;
}
 
void search_data(char data[][40], int number)
{
        char input[40] = {\'\\0\'}, temp[40]={\'\\0\'};
        int i, length, count1=0, count2=0;
        do
        {
               gotoxy(1,1);
               printf("용어입력>");
               length=strlen(input);
               gotoxy(11+length,1);
               input[count1]=getch();
               [...];
               gotoxy(11,1);
               printf("%s", input);
               gotoxy(1,3);
               count2=0;
 
               for(i=0; i<number; i++)
               {
                       strcpy(temp, data[i]);
                       upper_to_lower(temp);
                       if(strncmp(temp, input, count1+1)==0)
                       {
                              printf("%-40s\\n", data[i]);
                              count2++;
                              if(count2>5)
                                      break;
                       }
               }
               if(input[count1]==27)
                       break;
               count1++;
        }while(1);
}
 
void sort_data(char data[][40], int number)
{
        int i,j,min;
        char temp1[39], temp2[39];
        for(i=0; i<number-1; i++)
        {
               min =i;
               for(j=i+1; j<number; j++)
               {
                       strcpy(temp1, data[j]);
                       strcpy(temp2, data[min]);
                       upper_to_lower(temp1);
                       upper_to_lower(temp2);
                       if(strcmp(temp1, temp2)<=0)
                              min=j;
               }
               strcpy(temp1, data[min]);
               strcpy(data[min], data[i]);
               strcpy(data[i], temp1);
        }
}
void gotoxy(int x, int y)
{
 
        COORD Pos = {x-1, y-1};
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Pos);
 
}
 
void load_data(int *number)
{
        FILE *fp;
        *number=0;
        fp=fopen(file_name, "r");
        if(fp==NULL)
        {
               printf("file open error!\\n");
               exit(1);
        }
        while(!feof(fp))
        {
               fgets(terms[*number], 39, fp);
               (*number)++;
        }
        fclose(fp);
 
}
void upper_to_lower(char str[])
{
        int i, length;
        length=strlen(str);
        for(i=0;i<length; i++)
               str[i]=tolower(str[i]);
}

추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 이제는 의미 없어진 것 같은 시상식은? 운영자 25/12/01 - -
AD 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
공지 프로그래밍 갤러리 이용 안내 [97] 운영자 20.09.28 48820 65
2906455 코딩에 수학 실력은 양날의 검임 프갤러(203.228) 14:06 13 0
2906454 농협가는중. 넥도리아(106.101) 13:55 10 0
2906453 ❤✨☀⭐⚡☘⛩☃나님 시작합니당☃⛩☘⚡⭐☀✨❤ ♥발라당냥덩♥갤로그로 이동합니다. 13:38 10 0
2906452 요즘 시대 학점별 직업 발명도둑잡기(118.216) 13:33 21 0
2906451 쿠팡 개인정보 유출은 php와는 무관한 듯 나르시갤로그로 이동합니다. 13:25 19 0
2906449 이력서 첫 줄 [5] 프갤러(220.79) 13:04 26 0
2906448 ❤+따당이 크리스마스 트리에 예쁜 말 써줘..❤+ [1] 따당갤로그로 이동합니다. 12:44 23 0
2906445 [Etevers] 언리얼엔진 DX Wave(3D Artist) 6기 (~ 프갤러(14.32) 12:02 24 0
2906443 이야 sm판 무섭다 무서워 프갤러(221.149) 12:02 34 0
2906442 위메이드플레이 개발업계 중에서 어느정도임?? [1] 프갤러(106.101) 12:00 16 0
2906441 안드로이드 소스 잘 아는 사람 프갤러(211.213) 11:58 18 0
2906439 한국 테크 기업중에 화교한테 안먹힌 회사가 없구만 [2] RyuDOG갤로그로 이동합니다. 11:36 47 0
2906434 폐쇄망에서 쓸 수 있는 AI비서 개발 어떻게 생각함 [1] 프갤러(35.194) 11:04 35 0
2906433 [대한민국] 트럼프 대통령 부정선거 리트루스, 윤석열 대통령 메시지 ㅇㅇ(121.172) 10:53 12 0
2906432 ERP랑 붙어서 인터페이스 연동테스트하는데 한방에 됨 ㅇ ㅅㅇ; [1] 프갤러(60.196) 10:45 28 0
2906431 러스트도 액터 모델 쓸 수 있다. [3] 프갤러(221.149) 10:18 33 0
2906427 아침 해가 돌아나오는 골목 ㅇㅅㅇ [1] 헤르 미온느갤로그로 이동합니다. 09:15 33 0
2906424 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 08:34 24 0
2906423 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 08:33 35 0
2906422 실시간 next js 쓰는 사람들 w된거 같다 ㅇㅇ(1.244) 08:31 48 1
2906421 쿠팡 물량이 좀 줄은거 같다..ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 08:25 32 0
2906420 흐미.. 소프트웨어 언어/기술 혐오가 너무 심한거 아닌가.. [4] 나르시갤로그로 이동합니다. 08:25 35 0
2906416 워드프레스, 그누보드는 상 쓰레기코드다 프갤러(118.235) 07:29 41 0
2906415 러스트 동시성은반쪽이다 얼랭/엘릭서해라 [1] 프갤러(61.75) 07:24 170 2
2906414 나는 오늘도 아무도 못알아볼 보고서를 쓴다. [2] ㅇㅇ(118.235) 07:13 54 1
2906413 ❤✨☀⭐⚡☘⛩☃나님 시작합니당☃⛩☘⚡⭐☀✨❤ ♥발라당냥덩♥갤로그로 이동합니다. 06:52 38 0
2906412 인지과학조져라 손발이시립디다갤로그로 이동합니다. 05:36 39 0
2906409 커뮤 왜 중독되는지 알겠다. [2] 프갤러(112.171) 03:25 68 0
2906406 길다가가 처음 보는 젊은 여자가 [1] RyuDOG갤로그로 이동합니다. 02:33 68 0
2906403 평온하다 이제 옷을 벗을 시기가 다가오니 [1] RyuDOG갤로그로 이동합니다. 02:18 61 0
2906400 손바닥 낙서 발명도둑잡기(118.216) 02:09 58 0
2906398 참사모욕글 제3자가 고발해서 벌금전과 생겼는데 억울한거지? ㅇㅇ(39.7) 01:54 23 0
2906397 스위스 직접민주주의 비판론 발명도둑잡기(118.216) 01:19 34 0
2906395 gpt로 글쓰는 새끼들 존나패고싶음 [5] 박민준갤로그로 이동합니다. 00:58 82 0
2906394 음기 충전 발명도둑잡기(118.216) 00:48 56 0
2906390 나토리 ..❤+ [2] 따당갤로그로 이동합니다. 00:13 70 0
2906388 윤석열 내란 당시 방송국 발명도둑잡기(118.216) 00:03 56 0
2906383 마술쇼 [6] ♥발라당냥덩♥갤로그로 이동합니다. 12.03 68 0
2906382 스윽.. 스윽.. [7] ♥발라당냥덩♥갤로그로 이동합니다. 12.03 77 0
2906381 “시진핑 G7 초청 신중하라”…프랑스 압박한 日 / 채널A 발명도둑잡기(118.216) 12.03 20 0
2906380 임베디드하라니깐 타이밍뒷.통수한방(1.213) 12.03 37 1
2906378 응원봉 들고 'K팝' 합창‥'다시 만난 세계' 연 새 집회문화 발명도둑잡기(118.216) 12.03 20 0
2906376 블프에 해외 직구 했는데 [4] RyuDOG갤로그로 이동합니다. 12.03 58 0
2906375 조국혁신당이 미래다 이기이기 타이밍뒷.통수한방(1.213) 12.03 29 0
2906374 간첩법 개정안, 법사위 통과…적용 범위 ‘적국’→‘외국’ 확대 발명도둑잡기(118.216) 12.03 28 0
2906373 4년 전과 달라진 ‘혐중’ 정서 분석해보니 발명도둑잡기(118.216) 12.03 27 0
2906372 "한국 극우, 분노 자극하지만 욕망을 자극하지 못한다" 발명도둑잡기(118.216) 12.03 34 0
2906368 백엔드 공부 안했으면 취업 못하는 게 맞나 [2] ㅇㅇ(118.40) 12.03 58 0
2906367 생성형 머신러닝 공부 중이다. Move갤로그로 이동합니다. 12.03 24 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2