프로그램/C언어

【C언어】 기존 데이터와 입력받은 값을 비교 및 위치를 출력하는 소스코드

EngHp 2017. 11. 22. 00:38
반응형
C언어 소스코드 예시입니다.

기존에 입력된 데이터와 사용자가 입력한 값을 서로 비교하고

기존 데이터에서 어느 위치에 있는지 찾아주는 소스 코드 예시입니다.

주석을 통해 간략하게 설명을 붙여놨습니다.

제일 아래에 파일로 첨부해뒀습니다.




#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>           // str*** 등을 쓰기 위한 헤더파일
#include <stdlib.h>           // malloc을 쓰기 위한 헤더파일
int main() {
        char buffer[100], *temp;
        int size;
        char name[5][10] = {"최", "이", "김", "박", "민"};   // 이번 소스에서 사용하는 기본 데이터 (자유로 바꿔도됨.)
        int i;
        for ((int) i=0;i<5;i++) {
               printf("%d. %s\n", i, name[i]);
        }
        printf("\n단어를 입력하세요\n");
        printf("입력을 중지하려면 엔터를 입력하세요. \n\n");
        while (1) {
               printf("단어 입력 : ");
               gets(buffer);  // 입력을 받아주는 함수
               if (strcmp(buffer, "")==0)    // 엔터를 입력받으면 탈출
                       break;
               else {  // 입력받은 값의 기억공간을 확보하고 복사하는 중
                       size = strlen(buffer) +1;
                       temp = (char *)malloc(size);
                       strcpy(temp, buffer);
               }
               for (i=0;i<5;i++){     // 어디에 있는지 찾아보는 소스
                       if (strcmp(temp, name[i])==0) {
                              printf("%d번째에 있습니다.\n", i);
                              break;
                       }
                       if (i == 4)
                              printf("해당 단어가 없습니다.\n");
               }
        }
}





반응형
LIST