C语言实现简易通讯录(静态版本)的代码分享
更新时间:2023-08-09前言
通讯录是一种常见的电子化联系人管理系统,它允许用户存储和管理其联系人信息。本文将使用C语言实现一个简易的通讯录程序,该程序将具有静态版本的特点,即联系人信息只会在程序运行期间存储在内存中,并不会永久保存。以下是关于代码设计和实现的详细说明。
数据结构设计
在实现通讯录程序之前,我们需要定义一个适当的数据结构来存储联系人的信息。在这个简化版本中,我们可以选择使用结构体来表示一个联系人,结构体中的字段可以包括姓名、电话号码和电子邮件等信息。下面是一个示例代码:
struct Contact { char name[50]; char phone[20]; char email[100]; };
在这个示例中,我们使用了三个字符数组来存储联系人的姓名、电话号码和电子邮件,分别是name、phone和email。
程序实现
下面是一个简单的C语言代码示例,实现了一个简易通讯录的静态版本。这个程序允许用户添加新的联系人,查看所有联系人以及搜索指定联系人的功能。
#include#define MAX_CONTACTS 100 struct Contact { char name[50]; char phone[20]; char email[100]; }; struct Contact contacts[MAX_CONTACTS]; int numContacts = 0; void addContact() { if (numContacts < MAX_CONTACTS) { struct Contact newContact; printf("请输入姓名:"); scanf("%s", newContact.name); printf("请输入电话:"); scanf("%s", newContact.phone); printf("请输入邮箱:"); scanf("%s", newContact.email); contacts[numContacts++] = newContact; printf("联系人已添加\n"); } else { printf("通讯录已满,无法添加新联系人\n"); } } void viewContacts() { if (numContacts == 0) { printf("通讯录为空\n"); } else { printf("所有联系人:\n"); for (int i = 0; i < numContacts; i++) { printf("联系人%d:\n", i+1); printf("姓名:%s\n", contacts[i].name); printf("电话:%s\n", contacts[i].phone); printf("邮箱:%s\n", contacts[i].email); } } } void searchContact() { char searchName[50]; printf("请输入要搜索的联系人姓名:"); scanf("%s", searchName); for (int i = 0; i < numContacts; i++) { if (strcmp(searchName, contacts[i].name) == 0) { printf("联系人%d:\n", i+1); printf("姓名:%s\n", contacts[i].name); printf("电话:%s\n", contacts[i].phone); printf("邮箱:%s\n", contacts[i].email); return; } } printf("未找到匹配的联系人\n"); } int main() { int choice; while (1) { printf("--- 通讯录 ---\n"); printf("1. 添加联系人\n"); printf("2. 查看所有联系人\n"); printf("3. 搜索联系人\n"); printf("4. 退出\n"); printf("请选择操作:"); scanf("%d", &choice); switch (choice) { case 1: addContact(); break; case 2: viewContacts(); break; case 3: searchContact(); break; case 4: printf("程序已退出\n"); return 0; default: printf("无效的选择,请重新输入\n"); } } }
总结
通过以上代码,我们实现了一个简易的通讯录程序。这个程序具有添加联系人、查看所有联系人以及搜索联系人等功能。使用C语言的结构体和数组,我们构建了一个简单的数据结构来存储联系人信息,并通过函数实现了程序的不同功能。尽管这个通讯录是静态版本的,只在程序运行期间保留联系人信息,但它可以作为学习C语言的一个良好的入门示例。