用C语言写一个简单的通讯录

本文介绍了一个基于C语言实现的简易通讯录系统,通过链表操作完成基本功能,包括创建、插入、查询、删除和输出联系人信息。适合初学者了解链表在实际应用中的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用C语言写了一个简单的通讯录,说简单一是功能简单,二是也没有加读写文件操作,

只是作为链表操作的一个练习,希望能给这方面的新手一此引导和帮助。

 

 

 

 

 

创建一个简单的手机通讯录系统,我们可以使用C语言的基本数据结构和文件操作来实现。以下是一个基础的示例,它包括添加联系人、查找联系人和删除联系人的功能: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> // 定义联系人结构体 typedef struct { char name[50]; char phone_number[20]; } Contact; // 功能函数声明 void add_contact(Contact* contacts, int* size); void search_contact(Contact* contacts, int size, const char* name); void delete_contact(Contact* contacts, int* size, const char* name); void display_contacts(Contact* contacts, int size); int main() { int size = 0; Contact contacts[100]; // 初始化一个足够大的数组 // 添加联系人 while (true) { printf("请输入姓名(输入'q'退出):"); fgets(contacts[size].name, sizeof(contacts[size].name), stdin); if (!strcmp(contacts[size].name, "q\n")) break; // 检查是否输入了 'q' printf("请输入电话号码:"); fgets(contacts[size].phone_number, sizeof(contacts[size].phone_number), stdin); contacts[size].phone_number[strcspn(contacts[size].phone_number, "\n")] = '\0'; // 清除换行符 size++; } // 显示所有联系人 display_contacts(contacts, size); return 0; } // 添加联系人到数组 void add_contact(Contact* contacts, int* size) { *size += 1; } // 查找联系人 void search_contact(Contact* contacts, int size, const char* name) { for (int i = 0; i < size; i++) { if (strstr(contacts[i].name, name)) { printf("找到联系人 - 姓名:%s, 电话:%s\n", contacts[i].name, contacts[i].phone_number); } } } // 删除联系人 void delete_contact(Contact* contacts, int* size, const char* name) { // 这里只是一个基本的示例,实际应用需要遍历并更新其他联系人的位置 printf("此功能暂未实现。\n"); } // 显示所有联系人 void display_contacts(Contact* contacts, int size) { printf("\n当前联系人列表:\n"); for (int i = 0; i < size; i++) { printf("姓名:%s, 电话:%s\n", contacts[i].name, contacts[i].phone_number); } } ``` 注意:这个示例是非常简化的,并未处理错误情况,如输入验证和文件持久化等。在实际应用中,你可能会考虑将联系人存储在一个文件中,以便于保存和加载。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值