#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAXNAME 40         //名字最大占用长度
#define MAXPhoneNumber 40  //联系方式最大占用长度
#define MAXAMOUNT 100      //通讯录最多储存联系人数量

struct Contact {           //录入信息模板
    char Name[MAXNAME];    //名字
    char PhoneNumber[MAXPhoneNumber];//电话号码
};

struct Contact conBook[MAXAMOUNT]; //结构数组

char * s_gets(char * st, int n); //自定义输入函数,丢弃换行符
void menu(void);    //菜单函数
void enter(void);   //输入函数

int main(void)
{
    int size = sizeof(struct Contact); //一个conBook所占长度
    FILE * contact;

    s_gets(conBook[0].Name, MAXNAME);
    menu();                            //输出菜单
    int option = 0;                    //选项初始化为0
    while (scanf("%d", &option) && option != 7)
    {
        switch (option)
        {
            case 1:
                enter();
                break;
        default:
            break;
        }
    }
    printf("%s", conBook[0].Name);
    puts("Bye");
    return 0;
}

char * s_gets(char * st, int n)
{
    char * ret_val;
    char * find;

    ret_val = fgets(st, n, stdin);
    if (ret_val)
    {
        find = strchr(st, '\n');
        if (find)
            *find = '\0';
        else
            while (getchar() != '\n')
                continue;
    }
    return ret_val;
}

void menu(void)    //菜单函数
{
    printf("***********************************\n");
    printf("*****    输入数字进入相应模块:*****\n");
    printf("*****    1. 通讯录录入         *****\n");
    printf("*****    2. 通讯录查询         *****\n");
    printf("*****    3. 通讯录删除         *****\n");
    printf("*****    4. 通讯录列表显示     *****\n");
    printf("*****    5. 通讯录数据保存     ***** \n");
    printf("*****    6. 通讯录数据加载     *****\n");
    printf("*****    7. 退出系统           *****\n");
}

void enter(void)   //输入函数
{
    int count = 0;
    puts("请输入联系人姓名:");
    while (count < MAXAMOUNT && s_gets(conBook[count].Name, MAXNAME) != NULL && conBook[count].Name[0] != '\0')
    {
        puts("请输入电话号码:");
        scanf("%s", conBook[count].PhoneNumber);
        count++;
        while (getchar() != '\n')
            continue;
        if (count < MAXAMOUNT)
            puts("请输入下一位联系人姓名:");
    }
}