用c语言实现一个通讯录; 通讯录可以存储1000个人的信息,信息包括姓名、性别、年龄、电话、住址 提供方法: 1.添加联系人信息 2.删除指定联系人信息 3.查找指定联系人信息 4.修改指定联系&

本文介绍了如何使用C语言创建一个简单的通讯录管理系统,能够存储1000个联系人的姓名、性别、年龄、电话和住址。功能包括添加、删除、查找和修改联系人信息。
摘要由CSDN通过智能技术生成

实现一个简化版的通讯录,可以通过使用结构体和数组就可以实现,具体代码如下:

头文件

addres_list.h
#ifndef __ADDRES_LIST_H__
#define __ADDRES_LIST_H__
#define LIST_MAX   1000
#define NAME_MAX   10
#define ADDRES_MAX 20
#define TELE_MAX   11
#define SEX         3
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct  PERS         //每个联系人信息的结构
{
	char name[NAME_MAX];
	char sex[SEX];
	int age;
	char tele[TELE_MAX];
	char addres[ADDRES_MAX];
}PERS;
typedef struct LIST   //通讯录结构
{
	int sz;
	PERS data[LIST_MAX];
}LIST,*p;            //p就是LIST*的重命名
void init_addres_list(p plist);
void assres_list_add(p plist);
void assres_list_show(p plist);
void assres_list_delete(p plist);
void assres_list_search(p plist);
void assres_list_revise(p plist);
void assres_list_sort(p plist);
void assres_list_empty(p plist);
#endif
主函数

test.c
#include"addres_list.h"
enum List
{
	EXIT,
	ADD,
	DELETE,
	SEARCH,
	REVISE,
	SHOW,
	SORT,
	EMPTY,
};
void menu()
{
	printf("**********  请选择  **********\n");
	printf("*****  
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的通讯录的 C 语言程序: ```c #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; #define MAX_CONTACTS 100 struct contact { char name[50]; char gender[10]; int age; char email[50]; char qq[20]; char phone[20]; char address[100]; }; struct contact contacts[MAX_CONTACTS]; int num_contacts = 0; // 添加联系人 void add_contact() { if (num_contacts &gt;= MAX_CONTACTS) { printf(&quot;通讯录已满,无法添加联系人。\n&quot;); return; } struct contact new_contact; printf(&quot;请输入联系人姓名&quot;); scanf(&quot;%s&quot;, new_contact.name); printf(&quot;请输入联系人性别&quot;); scanf(&quot;%s&quot;, new_contact.gender); printf(&quot;请输入联系人年龄&quot;); scanf(&quot;%d&quot;, &amp;new_contact.age); printf(&quot;请输入联系人邮箱:&quot;); scanf(&quot;%s&quot;, new_contact.email); printf(&quot;请输入联系人QQ:&quot;); scanf(&quot;%s&quot;, new_contact.qq); printf(&quot;请输入联系人电话&quot;); scanf(&quot;%s&quot;, new_contact.phone); printf(&quot;请输入联系人家庭地址:&quot;); scanf(&quot;%s&quot;, new_contact.address); contacts[num_contacts] = new_contact; num_contacts++; printf(&quot;成功添加联系人 %s。\n&quot;, new_contact.name); } // 查找联系人 void find_contact() { char search_name[50]; printf(&quot;请输入要查找联系人姓名&quot;); scanf(&quot;%s&quot;, search_name); int found = 0; for (int i = 0; i &lt; num_contacts; i++) { if (strcmp(contacts[i].name, search_name) == 0) { printf(&quot;姓名:%s\n&quot;, contacts[i].name); printf(&quot;性别:%s\n&quot;, contacts[i].gender); printf(&quot;年龄:%d\n&quot;, contacts[i].age); printf(&quot;邮箱:%s\n&quot;, contacts[i].email); printf(&quot;QQ:%s\n&quot;, contacts[i].qq); printf(&quot;电话:%s\n&quot;, contacts[i].phone); printf(&quot;家庭地址:%s\n&quot;, contacts[i].address); found = 1; break; } } if (!found) { printf(&quot;没有找到姓名为 %s 的联系人。\n&quot;, search_name); } } // 显示所有联系人 void list_contacts() { if (num_contacts == 0) { printf(&quot;通讯录为空。\n&quot;); return; } printf(&quot;所有联系人:\n&quot;); for (int i = 0; i &lt; num_contacts; i++) { printf(&quot;姓名:%s\n&quot;, contacts[i].name); printf(&quot;性别:%s\n&quot;, contacts[i].gender); printf(&quot;年龄:%d\n&quot;, contacts[i].age); printf(&quot;邮箱:%s\n&quot;, contacts[i].email); printf(&quot;QQ:%s\n&quot;, contacts[i].qq); printf(&quot;电话:%s\n&quot;, contacts[i].phone); printf(&quot;家庭地址:%s\n&quot;, contacts[i].address); printf(&quot;\n&quot;); } } // 保存通讯录到文件 void save_contacts() { FILE *file = fopen(&quot;contacts.txt&quot;, &quot;w&quot;); if (file == NULL) { printf(&quot;无法打开文件 contacts.txt 进行写入。\n&quot;); return; } for (int i = 0; i &lt; num_contacts; i++) { fprintf(file, &quot;%s\t%s\t%d\t%s\t%s\t%s\t%s\n&quot;, contacts[i].name, contacts[i].gender, contacts[i].age, contacts[i].email, contacts[i].qq, contacts[i].phone, contacts[i].address); } fclose(file); printf(&quot;通讯录已保存到文件 contacts.txt。\n&quot;); } // 从文件中加载通讯录 void load_contacts() { FILE *file = fopen(&quot;contacts.txt&quot;, &quot;r&quot;); if (file == NULL) { printf(&quot;无法打开文件 contacts.txt 进行读取。\n&quot;); return; } while (!feof(file)) { struct contact new_contact; int count = fscanf(file, &quot;%s\t%s\t%d\t%s\t%s\t%s\t%s\n&quot;, new_contact.name, new_contact.gender, &amp;new_contact.age, new_contact.email, new_contact.qq, new_contact.phone, new_contact.address); if (count != 7) { break; } contacts[num_contacts] = new_contact; num_contacts++; } fclose(file); printf(&quot;从文件 contacts.txt 中加载了 %d 个联系人。\n&quot;, num_contacts); } // 打印菜单 void print_menu() { printf(&quot;欢迎使用通讯录管理系统\n&quot;); printf(&quot;1. 添加联系人\n&quot;); printf(&quot;2. 查找联系人\n&quot;); printf(&quot;3. 显示所有联系人\n&quot;); printf(&quot;4. 保存通讯录到文件\n&quot;); printf(&quot;5. 从文件中加载通讯录\n&quot;); printf(&quot;6. 退出程序\n&quot;); printf(&quot;请输入数字选择要执行的操作:&quot;); } int main() { load_contacts(); while (1) { print_menu(); int choice; scanf(&quot;%d&quot;, &amp;choice); switch (choice) { case 1: add_contact(); break; case 2: find_contact(); break; case 3: list_contacts(); break; case 4: save_contacts(); break; case 5: load_contacts(); break; case 6: printf(&quot;程序已退出。\n&quot;); return 0; default: printf(&quot;无效的选择,请重新输入。\n&quot;); break; } } } ``` 这个程序使用结构体 `contact` 存储每个联系人信息,使用全局数组 `contacts` 存储所有联系人。程序提供添加查找、显示、保存和加载联系人的功能。在执行保存和加载操作时,程序将通讯录数据存储在文件 `contacts.txt` 中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值