Menu



Manage

Study_C > 8.c Lines 58 | 2.3 KB
다운로드

                        /*****************************************************************

 * 개인신상 저장하는 프로그램

 ********************************************************************/

#define _CRT_SECURE_NO_WARNINGS			// scanf오류 제거를 위한 코드
#include<stdio.h>			    		// 표준 입출력장치 사용을 위한 헤더파일 로드
#include <string.h>                     // 문자열 비교를 위한 함수 라이브러리 추가
#define SIZE 3                          // 입력받을 인원수를 3으로 설정

struct ID {                             // 구조체 정의 (ID)
    char name[10];                      // 사람 이름을 받을 배열
    char homenum[15];                   // 집 전화번호를 받을 배열
    char phonnum[15];                   // 핸드폰 번호를 받을 배열
};

void searcher(struct ID *list, int size);		// 입력한 이름 찾기 함수  

int main()
{
    int i = 0;							// for문 돌리기 위한 i 초기화 

    struct ID list[SIZE] = {0};			// SIZE를 크기로 하는 배열 구조체 생성 

    for (i = 0; i < SIZE; i++) {		// 순서대로 구주체에 이름 집전화 핸폰전화번호 입력받는 반복문 
        printf("이름을 입력하세요 : ");
        scanf("%s", list[i].name);		// 이름 입력 

        printf("집 전화번호를 입력하세요 : ");
        scanf("%s", list[i].homenum);   // 집전화번호 입력 

        printf("핸드폰번호를 입력하세요 : ");
        scanf("%s", list[i].phonnum);	// 핸드폰번호 입력 
    }
    searcher(list, SIZE);				// 이름 찾기 함수 실행 
}

void searcher(struct ID *list, int size)// 입력한 이름 찾기 함수  
{
    int i = 0;							// 반복문을 위한 지역변수 생성 및 초기화 
    char searchname[10];	            // 입력한 이름을 저장할 공간 생성 

    printf("검색하려는 사람의 이름을 입력하세요 : ");
    //scanf("%s", searchname);		        	// 입력한 이름 저장
    gets(searchname);
    printf("%s", searchname);

    for (i = 0; i < size; i++)			// 만들었던 구조체의 이름과 비교하기 위한 반복문  
        if (strcmp(searchname, list[i].name) == 0) {			// 일치하는 항목이 존재하는 경우 
            printf("집전화번호 : %s\n", list[i].homenum);		// 집전화번호 출력 
            printf("휴대폰번호 : %s\n", list[i].phonnum);		// 핸드폰번호 출력 
        }
        else {							// 만들었던 구조체의 이름과 일치하는 항목이 없는 경우 
            printf("없는 이름입니다. 프로그램을 종료합니다.");
            break;
        }
}