• º» °Ô½ÃÆÇÀº ¼ö¾÷½Ã°£¿¡ Çлýµé ½Ç½ÀÀ» À§ÇÑ °Ô½ÃÆÇÀÔ´Ï´Ù.
  • º» °Ô½ÃÆÇ¿¡ ¿Ã¶ó¿Í ÀÖ´Â ÇÁ·Î±×·¥Àº ´ëºÎºÐ ¿Ã¹Ù¸£Áö ¾ÊÀº ÇÁ·Î±×·¥ÀÔ´Ï´Ù.
        ÀÓÀç¸ð
        ÀüÈ­¹øÈ£ ¼öÁ¤ÇÏ´Â ÇÁ·Î±×·¥



    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <string.h>

    typedef struct phonebook {
        char name[10];   // name
        char phone[20];  // phone number
    } phonebook;
    phonebook mybook[10] = { {"È«±æµ¿","010-1234-5678"},
                             {"±èö¼ö","010-3456-1111"},
                             {"¾ç±Íºñ","010-5634-2390"},
                             {"±èöȣ","019-1111-2222"},
                             {"¹ÚÂùÈ£","011-3434-1290"} };

    int mystrstr(char str[], char substr[])
    {
        int i, j;

        for (i = 0; str[i] != 0; i++) {
            for (j = 0; substr[j] != 0; j++) {
                if (substr[j] != str[i + j]) break;
            }
            if (substr[j] == 0)
                return i;
        }
        return -1;
    }

    void swap(phonebook s[], int i, int j)
    {
        phonebook tmp;
        tmp = s[i];
        s[i] = s[j];
        s[j] = tmp;
    }

    void selection_sort_byname(phonebook s[], int n) {
        int i, j, least;

        for (i = 0; i < n - 1; i++) {
            least = i;
            for (j = i + 1; j < n; j++) {
                if (strcmp(s[j].name, s[least].name) < 0)
                    least = j;
            }
            swap(s, i, least);
        }
    }

    void print_book(phonebook s[], int n)
    {
        for (int i = 0; i < n; i++) {
            printf("%s: %s \n", s[i].name, s[i].phone);
        }
        printf("\n");
    }

    int find_phone(phonebook s[], char* fstr, int n)
    {
        for (int i = 0; i < n; i++) {
            if (mystrstr(s[i].name, fstr) != -1) {
                printf("%s: %s \n", s[i].name, s[i].phone);
                return i;
            }
            if (mystrstr(s[i].phone, fstr) != -1) {
                printf("%s: %s \n", s[i].name, s[i].phone);
                return i;
            }
        }
        return -1;
    }

    int change_number(phonebook s[], int n, char* new_num) {
        strcpy(s[n].phone, new_num);
    }

    int main(void)
    {
        char find_str[20];
        int n;
        char new_num[20];

        selection_sort_byname(mybook, 5);
        print_book(mybook, 5);

        while (1) {
            printf("ÀüÈ­¹øÈ£¸¦ ¼öÁ¤ ÇÒ À̸§ ÀÔ·Â(Á¾·á´Â q): ");
            scanf("%s", find_str);
            if (find_str[0] == 'q') break;
            n = find_phone(mybook, find_str, 5);
            printf("%d", n);
            printf("»õ ÀüÈ­¹øÈ£ ÀÔ·Â: ");
            scanf("%s", new_num);
            change_number(mybook, n,new_num);
            printf("%s: %s \n", mybook[n].name, mybook[n].phone);
        }
    }
     

      µî·ÏÀÏ : 2024-12-03 [20:27] Á¶È¸ : 96 ´Ù¿î : 0   
     
    ¡â ÀÌÀü±Û°ÔÀӽǽÀ
    ¡ä ´ÙÀ½±ÛÀüÈ­¹øÈ£ ¼öÁ¤ÇÏ´Â ÇÁ·Î±×·¥
    Çлý½Ç½À °Ô½ÃÆÇ
    ¹øÈ£ ¨Ï Á¦ ¸ñ À̸§ Á¶È¸ µî·ÏÀÏ
    108 ¿äûÇϽŠÀÚ·áÀÔ´Ï´Ù. ÇÁ·Î±×·¡¹Ö¾ð¾î Çѹμ­ 14 03-28
    107 15ÁÖÂ÷ ½Ç½À ÇÁ·Î±×·¡¹Ö¾ð¾î À̱âÁ¤ 69 12-10
    106 ¦¦❶ 15ÁÖÂ÷ ½Ç½À (¿À·ù ¼öÁ¤) ÇÁ·Î±×·¡¹Ö¾ð¾î Á¤¼ºÈÆ 78 12-10
    105 °ÔÀӽǽÀ ÇÁ·Î±×·¡¹Ö¾ð¾î . 99 12-10
    104 ¦¦❶ °ÔÀӽǽÀ (¿À·ù ¼öÁ¤) ÇÁ·Î±×·¡¹Ö¾ð¾î Á¤¼ºÈÆ 75 12-10
    103 ÀüÈ­¹øÈ£ ¼öÁ¤ÇÏ´Â ÇÁ·Î±×·¥ ÇÁ·Î±×·¡¹Ö¾ð¾î ÀÓÀç¸ð 96 12-03
    102 14ÁÖÂ÷ ½Ç½À ÇÁ·Î±×·¡¹Ö¾ð¾î Â÷»ó¹Î 90 12-03
    101 °áÁ¤ Æ®¸® ÀڷᱸÁ¶ À̱âÁ¤ 137 11-26
    100 ¾ß±¸½Ç½ÀN ÇÁ·Î±×·¡¹Ö¾ð¾î ÃÖÇö¿ì 183 11-19
    99 ¾ß±¸½Ç½À ÇÁ·Î±×·¡¹Ö¾ð¾î ¹éÀμ­ 161 11-19
    98 11ÁÖÂ÷ ½Ç½À ÇÁ·Î±×·¡¹Ö¾ð¾î ÀüÈ£¼º 174 11-12
    97 Å¥¸¦ ÀÌ¿ëÇÑ ³Êºñ ¿ì¼± Ž»ö ÇÁ·Î±×·¡¹Ö¾ð¾î ÀÓÀç¸ð 245 10-29
    96 Å¥¸¦ ÀÌ¿ëÇÑ ³Êºñ ¿ì¼± Ž»ö BFS ±¸Çö ÀڷᱸÁ¶ À̱âÁ¤ 238 10-29
    95 Á¶°Ç¹® µµÀü°úÁ¦1 ÇÁ·Î±×·¡¹Ö¾ð¾î ÃÖÇö¿ì 308 04-12
    94 4¿ù12ÀÏ ¼¼¼ö ºñ±³ ½Ç½À ÇÁ·Î±×·¡¹Ö¾ð¾î À±¿µ¹Î 294 04-12

    [1][2][3][4][5][6][7][8]