21xrx.com
2024-12-23 00:04:04 Monday
登录
文章检索 我的文章 写文章
【C语言】简单通讯录代码大全
2023-06-15 00:30:16 深夜i     --     --
C语言 通讯录 添加联系人 删除联系人 查找联系人

当今社会,人们的社交圈子越来越大,每个人都有着自己的联系人。通讯录作为一种记录联系人信息的工具,成为了我们日常生活中不可或缺的一部分。那么,怎样用C语言编写一个简单的通讯录呢?

首先,我们需要定义一个结构体来存储每个联系人的信息,包括姓名、电话号码、地址等,以下是一个通讯录的结构体示例:


struct contact {

  char name[30];

  char phone[20];

  char address[50];

};

接下来,我们可以定义一个动态数组来存储通讯录中所有联系人的信息:


struct contact addr_book[100];

int num_contacts = 0;

上述代码中,`addr_book`为存储联系人信息的数组,`num_contacts`为通讯录中联系人的数量,初始值为0。

然后,我们可以编写函数来实现对通讯录的基本操作,例如添加联系人、删除联系人、查找联系人等:


void add_contact() {

  if (num_contacts == 100) {

    printf("通讯录已满!\n");

    return;

  }

  printf("请输入新联系人的姓名、电话号码、地址:\n");

  scanf("%s %s %s", addr_book[num_contacts].name, addr_book[num_contacts].phone, addr_book[num_contacts].address);

  num_contacts++;

  printf("联系人添加成功!\n");

}

void delete_contact() {

  if (num_contacts == 0) {

    printf("通讯录为空!\n");

    return;

  }

  char name[30];

  printf("请输入要删除的联系人的姓名:\n");

  scanf("%s", name);

  int i;

  for (i = 0; i < num_contacts; i++) {

    if (strcmp(addr_book[i].name, name) == 0)

      break;

    

  }

  if (i == num_contacts) {

    printf("联系人不存在!\n");

  } else {

    for (; i < num_contacts - 1; i++) {

      strcpy(addr_book[i].name, addr_book[i+1].name);

      strcpy(addr_book[i].phone, addr_book[i+1].phone);

      strcpy(addr_book[i].address, addr_book[i+1].address);

    }

    num_contacts--;

    printf("联系人删除成功!\n");

  }

}

void search_contact() {

  if (num_contacts == 0) {

    printf("通讯录为空!\n");

    return;

  }

  char name[30];

  printf("请输入要查找的联系人的姓名:\n");

  scanf("%s", name);

  int i;

  for (i = 0; i < num_contacts; i++) {

    if (strcmp(addr_book[i].name, name) == 0) {

      printf("姓名:%s\n电话号码:%s\n地址:%s\n", addr_book[i].name, addr_book[i].phone, addr_book[i].address);

      break;

    }

  }

  if (i == num_contacts) {

    printf("联系人不存在!\n");

  }

}

最后,我们可以在main函数中使用循环来实现对通讯录的操作:


int main() {

  int choice;

  do {

    printf("请选择操作:\n1. 添加联系人\n2. 删除联系人\n3. 查找联系人\n4. 退出\n");

    scanf("%d", &choice);

    switch (choice) {

      case 1:

        add_contact();

        break;

      case 2:

        delete_contact();

        break;

      case 3:

        search_contact();

        break;

      case 4:

        printf("程序已经退出!\n");

        break;

      default:

        printf("输入有误,请重新选择!\n");

        break;

    }

  } while (choice != 4);

  return 0;

}

以上就是一个完整的简单通讯录代码,你可以根据自己的需要进行修改和扩展。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复