用C语言编写通讯录管理系统
时间: 2023-09-20 22:05:54 浏览: 199
### 回答1:
您好!通讯录管理系统是一个非常常见的应用程序,可以用于存储和管理联系人信息。在C语言中,可以使用结构体来表示联系人,并使用文件来保存和读取联系人数据。下面是一个简单的示例代码,可以用来实现通讯录管理系统:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_NAME_LEN 50
#define MAX_PHONE_LEN 20
#define MAX_CONTACTS 1000
#define DATA_FILE "contacts.dat"
typedef struct {
char name[MAX_NAME_LEN];
char phone[MAX_PHONE_LEN];
} Contact;
int num_contacts = 0;
Contact contacts[MAX_CONTACTS];
void save_contacts() {
FILE* fp;
fp = fopen(DATA_FILE, "wb");
if (fp == NULL) {
printf("Error: Failed to open file.\n");
return;
}
fwrite(&num_contacts, sizeof(int), 1, fp);
fwrite(contacts, sizeof(Contact), num_contacts, fp);
fclose(fp);
}
void load_contacts() {
FILE* fp;
fp = fopen(DATA_FILE, "rb");
if (fp == NULL) {
return;
}
fread(&num_contacts, sizeof(int), 1, fp);
fread(contacts, sizeof(Contact), num_contacts, fp);
fclose(fp);
}
void add_contact() {
if (num_contacts == MAX_CONTACTS) {
printf("Error: Maximum number of contacts reached.\n");
return;
}
Contact c;
printf("Enter name: ");
scanf("%s", c.name);
printf("Enter phone number: ");
scanf("%s", c.phone);
contacts[num_contacts++] = c;
printf("Contact added successfully.\n");
}
void list_contacts() {
printf("Name\t\tPhone\n");
for (int i = 0; i < num_contacts; i++) {
printf("%s\t\t%s\n", contacts[i].name, contacts[i].phone);
}
}
void search_contacts() {
char name[MAX_NAME_LEN];
printf("Enter name to search: ");
scanf("%s", name);
int found = 0;
for (int i = 0; i < num_contacts; i++) {
if (strcmp(contacts[i].name, name) == 0) {
printf("Name: %s\nPhone: %s\n", contacts[i].name, contacts[i].phone);
found = 1;
}
}
if (!found) {
printf("Contact not found.\n");
}
}
void menu() {
printf("1. Add contact\n");
printf("2. List contacts\n");
printf("3. Search contact\n");
printf("4. Quit\n");
}
int main() {
load_contacts();
int choice;
while (1) {
menu();
printf("Enter choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
add_contact();
break;
case 2:
list_contacts();
break;
case 3:
search_contacts();
break;
case 4:
save_contacts();
exit(0);
default:
printf("Invalid choice.\n");
}
}
return 0;
}
```
该代码使用了结构体`Contact`来表示联系人,每个联系人包含姓名和电话号码。程序最多可以存储1000个联系人,联系人数据存储在
### 回答2:
通讯录管理系统是一种常见的应用程序,用于记录和管理联系人的信息。使用C语言编写通讯录管理系统可以实现以下功能:
1. 添加联系人:用户可以输入姓名、电话号码、电子邮件等信息来添加联系人到通讯录中。程序将联系人的信息保存到内存中的一个数据结构,如数组或链表。
2. 显示联系人:用户可以选择查看通讯录中的所有联系人信息。程序将遍历存储联系人信息的数据结构,并将每个联系人的信息逐一显示在屏幕上。
3. 搜索联系人:用户可以输入姓名或电话号码等关键词来搜索特定的联系人。程序将遍历通讯录中的每个联系人,并根据用户输入的关键词进行匹配,然后显示相应的联系人信息。
4. 删除联系人:用户可以选择删除通讯录中的某个联系人。程序将根据用户选择的联系人进行删除操作,并更新通讯录中的联系人列表。
5. 修改联系人:用户可以选择修改通讯录中的某个联系人的信息。程序将根据用户选择的联系人进行修改操作,并更新通讯录中的联系人信息。
6. 保存与加载:程序可以提供保存通讯录到文件以及从文件加载通讯录的功能。将通讯录保存到文件可以实现数据的持久化存储,下次运行程序时可以重新加载通讯录。
通讯录管理系统的实现可以通过定义结构体来表示联系人的信息,然后使用数组或链表来存储多个联系人。通过使用C语言的文件操作函数,可以方便地将通讯录保存到文件中,并在需要时加载数据。
编写通讯录管理系统需要熟悉C语言的基本语法,包括输入输出、条件语句、循环结构、数组和结构体等。同时,还需要了解数据结构和文件操作相关的知识。
通过以上的功能实现,使用C语言编写的通讯录管理系统可以方便地添加、查看、搜索、删除和修改联系人信息,并具备保存与加载数据的功能,从而提高联系人信息的管理效率。
### 回答3:
通讯录管理系统是一款可以存储和管理联系人信息的软件。使用C语言编写通讯录管理系统可以实现以下功能:
1. 添加联系人:用户可以输入联系人的姓名、电话号码、地址等信息,点击添加按钮后将联系人信息存储到通讯录中。
2. 查找联系人:用户可以输入联系人的姓名进行查找,系统会在通讯录中进行匹配,并将匹配到的联系人信息显示出来。
3. 修改联系人:用户可以选择要修改的联系人,并输入新的联系人信息进行修改。
4. 删除联系人:用户可以选择要删除的联系人,并从通讯录中删除该联系人的信息。
5. 显示所有联系人:用户可以选择显示通讯录中的所有联系人信息,系统将逐一显示所有联系人的姓名、电话号码、地址等信息。
为了实现通讯录管理系统,可以使用C语言中的结构体来定义联系人的数据结构,使用链表来存储联系人的信息。可以使用文件来保存通讯录数据,通过文件读写函数来实现数据的读取和存储。
在编写程序时,需要设计菜单界面和相应的功能模块,使用循环和条件判断语句来实现菜单的选择和功能的执行。通过函数的调用和参数传递来实现功能的具体实现。
除此之外,还可以对通讯录管理系统进行进一步的拓展,如添加分组功能、导入/导出联系人等。实现通讯录管理系统可以锻炼编程能力,对学习C语言也有很好的实践作用。
阅读全文