电话簿系统

#include <stdio.h>#include <stdlib.h>#include <string.h>struct person { char em[20]; char tel[20]; char name[20]; char home[20]; char sex[20]; } phone;void print_tel(struct person ph...
摘要由CSDN通过智能技术生成

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct person
    {
        char em[20];
        char tel[20];
        char name[20];
        char home[20];
        char sex[20];
    } phone;
void print_tel(struct person phone[],int i)//显示指定联系人
{
    printf("\n");
    printf("\t\t\t姓名:%s \n",phone[i].name);
    printf("\t\t\t性别:%s\n",phone[i].sex);
    printf("\t\t\t电话号码:%s\n",phone[i].tel);
    printf("\t\t\t住址:%s\n",phone[i].home);
    printf("\t\t\tE-mail:%s\n",phone[i].em);
}
void show_tel(struct person phone[],int num)//显示所有联系人
{
    system("CLS");
    int i;
    int m=1;
    printf("电话簿中所有联系人信息如下:第%d页\n",m);
    if(num==0)
    {
        printf("电话簿为空!!!\n");
        system("PAUSE");
        system("CLS");
    }

    else
    {
        for(i=0;i<num;i++)
        {
            printf("姓名:%s\n",phone[i].name);
            printf("住址:%s\n",phone[i].home);
            printf("电话号码:%s\n",phone[i].tel);
            printf("E-mail:%s\n",phone[i].em);//新增翻页
            printf("性别:%s\n",phone[i].sex);
        }
        printf("您的电话簿中共有%d位联系人\n",num);
        printf("\n");
        system("PAUSE");
        system("CLS");//暂停并清屏
    }

}
int add_tel(struct person phone[],int num)//添加新的联系人
    {
        system("CLS");
        printf("请输入联系人的姓名:");
        scanf("%s",phone[num].name);
        printf("请输入联系人的性别:");
        scanf("%s",phone[num].sex);
        printf("请输入联系人的住址:");
        scanf("%s",phone[num].home);
        printf("请输入联系人的电话号码:");
        scanf("%s",phone[num].tel);
        printf("请输入联系人的邮件:");
        scanf("%s",phone[num].em);
        printf("添加成功!!!\n");
        system("PAUSE");
        system("CLS");
        num++;
        return num;
}
int del_tel(struct person phone[],int num )//删除一个联系人
{
    system("CLS");
    int i,j;
    char i_name[20];//用于存放名字
    char flag;
    int a=0;
    printf("\t\t\t请输入需要删除的联系人的姓名:\n\t\t\t");
    scanf("%s",i_name);
    if(num==0)
    {
        printf("\t\t\t暂无可删除的联系人!!!\n");
        system("PAUSE");
        system("CLS");
    }
    else
    {

       for(i=0;i<num;i++)
     {
        if(strcmp(i_name,phone[i].name)==0)
        {
            a=1;
            print_tel(phone,i);
            printf("\t\t\t是否删除该联系人?'T'or'F'\n");
            scanf("%s",&flag);
            if(flag=='T'||flag=='t')
            {
                for(j=i+1;j<num;j++)
                {
                    phone[i]=phone[j];
                }
                printf("\t\t\t已成功删除该联系人!!!\n");
                system("PAUSE");
                system("CLS");
                return num-1;
            }
            else
            {
                printf("\t\t\t已取消删除!!!\n");
                system("PAUSE");
                system("CLS");
                return num;
            }
        }
     }
      if(a==0)
     {
        printf("\t\t\t电话簿中没有该联系人!!!\n");
        return num;
     }
    }
}

void modify_tel(struct person phone[],int num)//修改联系人信息
{
    system("CLS");
    int i,a=0;
    char i_name[20],flag;
    struct person phone0;//创建结构体,进行临时信息的储存
    printf("请输入要修改的联系人:");
    scanf("%s",i_name);
    for(i=0;i<num;i++)//遍历电话薄
    {
        if(strcmp(i_name,phone[i].name)==0)//找到要修改联系人
        {
            print_tel(phone,i);//利用函数print_person打印出该联系人的信息
            printf("请输入联系人的姓名:");
            scanf("%s",phone0.name);
            printf("请输入联系人的性别:");
            scanf("%s",phone0.sex);
            printf("请输入联系人手机号:");
            scanf("%s",phone0.tel);
            printf("请输入联系人家庭住址:");
            scanf("%s",phone0.home);
            printf("请输入联系人的电子邮箱:");
            scanf("%s",phone0.em);
            printf("是否确认修改 T/F:");
            scanf("%s",&flag);
            if(flag=='T'||flag=='t')
            {
                phone[i]=phone0;//将临时储存的信息赋予给电话薄
                printf("修改成功!\n");
                system("PAUSE");
                system("CLS");
                //系统暂停
            }
                 else{
                    printf("已取消修改!\n");
                    system("PAUSE");
                    system("CLS");
                    //系统暂停
                 }
            a=1;
         }
    }
     if(a==0)
    {
        printf("查无此人!\n");
        system("PAUSE");
        system("CLS");
    }

}
void search_tel(struct person phone[],int num)//查询联系人
{
    system("CLS");
    int i;
    char i_name[20];
    printf("请输入要查询联系人:");
    scanf("%s",i_name);//输入要查询联系人
    for(i=0;i<num;i++)//遍历电话薄
    {
        if(strcmp(phone[i].name,i_name)==0)//如果
        {
            printf("已查询到该联系人!");
            print_tel(phone,i);
            system("PAUSE");
            system("CLS");
            break;
        }

    }
    if(i==num)
    {
        printf("未查询到该联系人!\n");
        system("PAUSE");
        system("CLS");
    }

}
void sortname_tel(struct person phone[],int num)//按照姓名排序
{
    int i,j;
    struct person i_name;//定义结构体
    system("CLS");
    int flag;
    if(num==0)
        printf("该电话簿暂无联系人!\n");
    else
    {
        printf("请选择将联系人降序排列or升序排列:1.升序 2.降序\n");
        scanf("%d",&flag);
        switch(flag)
        {
            case 1:
                {
                     for(i=0;i<num-1;i++)
                    {
                        for(j=i+1;j<num;j++)
                        {
                            if(strcmp(phone[i].name,phone[j].name)>0)//判断如果前面的更大
                            {
                                i_name=phone[i];
                                phone[i]=phone[j];
                                phone[j]=i_name;//前后进行位置交换
                            }
                        }
                    }
                    printf("修改成功!\n");
                    break;
                }
            case 2:
                {
                     for(i=0;i<num-1;i++)
                    {
                        for(j=i+1;j<num;j++)
                        {
                            if(strcmp(phone[i].name,phone[j].name)<0)//判断如果后面的更大
                            {
                                i_name=phone[j];
                                phone[j]=phone[i];
                                phone[i]=i_name;//前后进行位置交换
                            }
                        }
                    }
                    printf("修改成功!\n");
                    break;
                }
        }
    }

    system("PAUSE");
    system("CLS");
}
int main()
{
    struct person phone[100];
    int num=0;
    int menu_num;
    while(1)
    {
        printf("\n");
        printf("\t\t\t欢迎使用电话薄系统\n");
        printf("\t\t\t1.显示当前所有号码\n");
        printf("\t\t\t2.添加新的号码。\n");
        printf("\t\t\t3.删除指定号码。\n");
        printf("\t\t\t4.修改联系人。\n");
        printf("\t\t\t5.查询联系人。\n");
        printf("\t\t\t6.将联系人进行排序。\n");

        scanf("%d",&menu_num);
        switch(menu_num)
        {
            case 1: show_tel(phone,num);break;
            case 2: num=add_tel(phone,num);break;
            case 3: num=del_tel(phone,num);break;
            case 4: modify_tel(phone,num); break;
            case 5: search_tel(phone,num);break;
            case 6: sortname_tel(phone,num);break;
        }
    }
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的Python电话簿系统的实现: ```python # 定义一个空的电话簿字典 phone_book = {} # 添加联系人信息 def add_contact(name, number): phone_book[name] = number print("联系人已添加成功!") # 查找联系人信息 def find_contact(name): if name in phone_book: print(name + "的电话号码是:" + phone_book[name]) else: print("没有找到联系人信息!") # 删除联系人信息 def delete_contact(name): if name in phone_book: del phone_book[name] print("联系人已成功删除!") else: print("没有找到联系人信息!") # 显示所有联系人信息 def display_contacts(): if len(phone_book) == 0: print("电话簿为空!") else: print("所有联系人信息:") for name, number in phone_book.items(): print(name + ":" + number) # 主函数 def main(): while True: print("\n电话簿系统菜单:") print("1. 添加联系人") print("2. 查找联系人") print("3. 删除联系人") print("4. 显示所有联系人") print("5. 退出系统") choice = input("请选择要执行的操作:") if choice == '1': name = input("请输入联系人姓名:") number = input("请输入联系人电话号码:") add_contact(name, number) elif choice == '2': name = input("请输入要查找的联系人姓名:") find_contact(name) elif choice == '3': name = input("请输入要删除的联系人姓名:") delete_contact(name) elif choice == '4': display_contacts() elif choice == '5': print("感谢使用电话簿系统!") break else: print("请选择正确的操作!") # 调用主函数 if __name__ == '__main__': main() ``` 这个电话簿系统使用了一个字典来存储联系人信息,可以添加、查找、删除和显示所有联系人的信息。您可以根据需要对其进行修改和扩展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值