c语言编写:创建一个通讯录,插入一条新的联系人信息
时间: 2024-12-12 18:20:31 浏览: 28
在C语言中,我们可以创建一个简单的通讯录程序来存储联系人信息。这里我们使用结构体来表示一个联系人,并提供函数来添加新联系人。首先,我们需要定义一个`Contact`结构:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义联系人结构
typedef struct {
char name[50];
char phone[20];
} Contact;
// 创建一个动态数组来存储联系人
#define MAX_CONTACTS 10
Contact contacts[MAX_CONTACTS];
// 插入新联系人的函数
void addContact(char* name, char* phone) {
int index = 0; // 当数组满时,从头开始覆盖
while (index < MAX_CONTACTS && contacts[index].name != '\0') {
index++;
}
if (index < MAX_CONTACTS) { // 如果还有空间,则添加
strcpy(contacts[index].name, name);
strcpy(contacts[index].phone, phone);
printf("Contact added successfully.\n");
} else {
printf("Contact list is full. No more entries can be added.\n");
}
}
int main() {
char name[50], phone[20];
// 示例:用户输入新联系人信息并添加到通讯录
printf("Enter contact's name: ");
fgets(name, sizeof(name), stdin); // 防止换行符影响输入
name[strlen(name) - 1] = '\0'; // 去掉fgets的换行符
printf("Enter contact's phone number: ");
fgets(phone, sizeof(phone), stdin);
phone[strlen(phone) - 1] = '\0';
addContact(name, phone);
// 显示通讯录中的所有联系人(这里仅做示例,实际操作需要遍历)
for (int i = 0; i < MAX_CONTACTS; i++) {
if (contacts[i].name != '\0') {
printf("Name: %s, Phone: %s\n", contacts[i].name, contacts[i].phone);
}
}
return 0;
}
```
在这个例子中,用户可以输入姓名和电话号码,然后调用`addContact`函数将它们添加到通讯录。如果通讯录已满,将提示无法再添加。注意,这只是一个基本实现,实际应用中可能会有更复杂的数据处理和错误检查。
阅读全文