C语言写手机通讯录。。

在 C 语言中实现一个简单的手机通讯录程序涉及到以下几个方面的内容:

  1. 定义数据结构
  2. 实现基本功能
  3. 操作通讯录

以下是一个详细的示例,展示了如何用 C 语言编写一个基本的手机通讯录程序。

1. 定义数据结构

首先,我们需要定义一个数据结构来存储每个联系人信息。一个简单的联系人的数据结构可以包括姓名、电话号码和电子邮件地址等信息。

c
#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_NAME_LENGTH 100 #define MAX_PHONE_LENGTH 15 #define MAX_EMAIL_LENGTH 100 #define MAX_CONTACTS 100 typedef struct { char name[MAX_NAME_LENGTH]; char phone[MAX_PHONE_LENGTH]; char email[MAX_EMAIL_LENGTH]; } Contact;

2. 实现基本功能

我们需要实现一些基本的功能,如添加联系人、删除联系人、显示联系人列表等。

添加联系人

c
void addContact(Contact contacts[], int *count) { if (*count >= MAX_CONTACTS) { printf("通讯录已满,无法添加新联系人。\n"); return; } Contact new_contact; printf("请输入姓名: "); fgets(new_contact.name, MAX_NAME_LENGTH, stdin); new_contact.name[strcspn(new_contact.name, "\n")] = '\0'; // 去掉末尾的换行符 printf("请输入电话号码: "); fgets(new_contact.phone, MAX_PHONE_LENGTH, stdin); new_contact.phone[strcspn(new_contact.phone, "\n")] = '\0'; printf("请输入电子邮件: "); fgets(new_contact.email, MAX_EMAIL_LENGTH, stdin); new_contact.email[strcspn(new_contact.email, "\n")] = '\0'; contacts[*count] = new_contact; (*count)++; printf("联系人已添加。\n"); }

显示联系人列表

c
void displayContacts(Contact contacts[], int count) { if (count == 0) { printf("通讯录为空。\n"); return; } printf("通讯录:\n"); for (int i = 0; i < count; i++) { printf("姓名: %s\n", contacts[i].name); printf("电话号码: %s\n", contacts[i].phone); printf("电子邮件: %s\n", contacts[i].email); printf("-----------------------\n"); } }

删除联系人

c
void deleteContact(Contact contacts[], int *count, const char *name) { int i, j; for (i = 0; i < *count; i++) { if (strcmp(contacts[i].name, name) == 0) { for (j = i; j < *count - 1; j++) { contacts[j] = contacts[j + 1]; } (*count)--; printf("联系人已删除。\n"); return; } } printf("未找到联系人。\n"); }

3. 操作通讯录

在主函数中实现菜单驱动的操作来管理通讯录。

c
int main() { Contact contacts[MAX_CONTACTS]; int count = 0; int choice; char name[MAX_NAME_LENGTH]; while (1) { printf("\n--- 通讯录 ---\n"); printf("1. 添加联系人\n"); printf("2. 显示联系人\n"); printf("3. 删除联系人\n"); printf("4. 退出\n"); printf("请选择操作: "); scanf("%d", &choice); getchar(); // 读取换行符 switch (choice) { case 1: addContact(contacts, &count); break; case 2: displayContacts(contacts, count); break; case 3: printf("请输入要删除的联系人姓名: "); fgets(name, MAX_NAME_LENGTH, stdin); name[strcspn(name, "\n")] = '\0'; deleteContact(contacts, &count, name); break; case 4: printf("退出程序。\n"); return 0; default: printf("无效选择,请重试。\n"); } } return 0; }

总结

该程序实现了一个简单的手机通讯录管理系统,具备以下功能:

  1. 添加联系人。
  2. 显示联系人列表。
  3. 删除联系人。

用户可以通过菜单选择操作,程序将根据选择执行相应功能。

关键字

C语言, 手机通讯录, 数据结构, 联系人, 添加联系人, 显示联系人, 删除联系人, struct, fgets(), strcmp(), strcspn(), scanf(), getchar()