通讯录管理第三部分

void Alter(LinkList head)
{
    int loop = 0;
    int n;
    char name[10];
    printf("请输入要查询联系人的姓名 [     ]\b\b\b\b\b\b");
    scanf("%s", name);
    printf("\n");
    LinkList rear = head->next;
    while (rear)
    {
        if (strcmp(rear->data.name, name) == 0)
        {
            printf("请输入要修改的内容:(1)编号 (2)姓名 (3)性别 (4)电话号码 (5)全部信息 [ ]\b\b");//printf("%s\t%s\t%s\t%s\n",rear->data.num,rear->data.name,rear->data.sex,rear->data.phone);
            scanf("%d", &n);
            printf("\n");
            switch (n)
            {
                case 1: printf("请输入修改后的编号:"); scanf("%s", rear->data.num); break;
                case 2: printf("请输入修改后的姓名:"); scanf("%s", rear->data.name); break;
                case 3: printf("请输入修改后的性别:"); scanf("%s", rear->data.sex); break;
                case 4: printf("请输入修改后的电话号码"); scanf("%s", rear->data.phone); break;
                case 5: printf("请输入要修改联系人的信息: \n\n编号	姓名	性别	电话号码:\n");
                    scanf("%s", rear->data.num);
                    scanf("%s", rear->data.name);
                    scanf("%s", rear->data.sex);
                    scanf("%s", rear->data.phone); break;
            }
            system("cls");
            loop = 1;
        }
        rear = rear->next;
    }
    if (loop == 0)
    {
        printf("无此联系人!!!\n\n返回菜单(1) or 重新输入(2)[  ]\b\b\b");
        scanf("%d", &n);
        printf("\n");
        switch (n)
        {
            case 1:system("cls"); Menu(head); break;
            case 2:system("cls"); Alter(head); break;
        }
    }
    save(head);
    printf("\n修改成功!返回菜单\n");
    system("pause");
    Menu(head);
}
void Delete(LinkList head)
{
    LinkList rear = head;//用来找要删除节点的前一节点 
    LinkList p = rear->next;//用来找要删除节点
    char name[10];
    int Loop = 0, n;
    printf("请输入要删除联系人的姓名:[    ]\b\b\b\b\b");
    scanf("%s", name);
    printf("\n");
    while (p)
    {
        if (strcmp(p->data.name, name) == 0)
        {
            rear->next = p->next;
            free(p);
            save(head);
            Loop = 1;
        }
        rear = p;
        p = p->next;
    }
    if (Loop == 1)
    {
        printf("\n删除联系人成功!返回菜单\n");
        system("pause");
        Menu(head);
    }
    else
    {
        printf("无此联系人!!!\n\n返回菜单(1) or 重新输入(2)[  ]\b\b\b");
        scanf("%d", &n);
        printf("\n");
        switch (n)
        {
            case 1:system("cls"); Menu(head); break;
            case 2:system("cls"); Delete(head); break;
        }
    }
}
void Statis_sex(LinkList head)
{
    int i = 0;//记录男性数目 
    int j = GetLength(head);//获取总记录数 
    LinkList rear = head->next;
    char sex[10] = "man";
    while (rear)
    {
        if (strcmp(rear->data.sex, sex) == 0)
            i++;
        rear = rear->next;
    }
    printf("\n通信录中男性有 %d 人,有女性 %d 人。\n", i, j - i);
}
void Quit()
{
    printf("\n\t                         ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★\n\n");
    puts("\n");
    puts("\t                             ┃                                               ┃");
    puts("\t                             ┃                                               ┃");
    puts("\t                             ┃     感谢访问通信录管理系统!欢迎下次再来!      ┃");
    puts("\t                             ┃                                               ┃");
    puts("\t                             ┃                                               ┃");
    puts("\t                             ┃                  制作人:追足梦幻                ┃");
    puts("\t                             ┃                          2020.7.3             ┃ ");
    puts("\n ");

}
void Menu(LinkList head)
{
    int n;
    int choice = 0;
    do
    {
        system("cls");
        printf("\n");
        printf("                                              ---通讯录管理系统---\n");
        puts("\n");
        printf("                                             1/按姓名查询联系人信息\n");
        puts("\n");
        printf("                                             2/  新建联系人\n");
        puts("\n");
        printf("                                             3/修改联系人信息\n");
        puts("\n");
        printf("                                             4/ 删除联系人信息\n");
        puts("\n");
        printf("                                             5/显示所有联系人信息\n");
        puts("\n");
        printf("                                             6/     退出\n");
        puts("\n");
        printf("                                          请选择服务种类(1-6) : [ ]\b\b");
        scanf("%d", &n);
        if (n < 1 || n>6)
        {
            system("cls");
            printf("选择错误!  请重新选择!\n");
            system("pause");
            choice = 1;
        }
        else
        {
            break;
        }
    } while (choice == 1);

    switch (n)
    {
        case 1:system("cls"); Find(head); break;//Find函数查询 
        case 2:system("cls"); Add(head); break;//Add函数新建联系人 
        case 3:system("cls"); Alter(head); break;//Alter修改联系人信息 
        case 4:system("cls"); Delete(head); break;//Delete删除联系人信息 
        case 5:system("cls"); List(head); break;//List显示所有信息 
        case 6:system("cls"); Quit(); break;//退出 
    }
}
int main()
{
    LinkList head = InitList();
    head = Create(head);
    printf("\n信息录入成功!");
    system("pause");
    Menu(head);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值