通讯录c语言程序设计代码
时间: 2024-02-18 11:57:09 浏览: 96
c语言通讯录管理程序设计与实现
很高兴为您解答关于通讯录C语言程序设计代码的问题。根据您提供的引用内容,以下是一个通讯录C语言程序设计的简单示例:
首先,创建三个文件:text.c(实现测试的逻辑),contact.c(函数实现),contact.h(函数声明)。
在contact.h文件中,我们可以声明一些函数原型和结构体,例如:
```c
#ifndef CONTACT_H
#define CONTACT_H
#define MAX_NAME_LENGTH 50
#define MAX_PHONE_LENGTH 20
typedef struct {
char name[MAX_NAME_LENGTH];
char phone[MAX_PHONE_LENGTH];
} Contact;
void addContact(Contact* contacts, int* count);
void displayContacts(Contact* contacts, int count);
void searchContact(Contact* contacts, int count, char* name);
void deleteContact(Contact* contacts, int* count, char* name);
#endif
```
在contact.c文件中,我们可以实现这些函数,例如:
```c
#include <stdio.h>
#include <string.h>
#include "contact.h"
void addContact(Contact* contacts, int* count) {
if (*count >= MAX_CONTACTS) {
printf("通讯录已满,无法添加新联系人。\n");
return;
}
Contact newContact;
printf("请输入联系人姓名:");
scanf("%s", newContact.name);
printf("请输入联系人电话:");
scanf("%s", newContact.phone);
contacts[*count] = newContact;
(*count)++;
printf("联系人添加成功。\n");
}
void displayContacts(Contact* contacts, int count) {
if (count == 0) {
printf("通讯录为空。\n");
return;
}
printf("通讯录中的联系人:\n");
for (int i = 0; i < count; i++) {
printf("姓名:%s,电话:%s\n", contacts[i].name, contacts[i].phone);
}
}
void searchContact(Contact* contacts, int count, char* name) {
for (int i = 0; i < count; i++) {
if (strcmp(contacts[i].name, name) == 0) {
printf("联系人找到:姓名:%s,电话:%s\n", contacts[i].name, contacts[i].phone);
return;
}
}
printf("未找到该联系人。\n");
}
void deleteContact(Contact* contacts, int* count, char* name) {
int found = 0;
for (int i = 0; i < *count; i++) {
if (strcmp(contacts[i].name, name) == 0) {
found = 1;
for (int j = i; j < *count - 1; j++) {
contacts[j] = contacts[j + 1];
}
(*count)--;
printf("联系人删除成功。\n");
break;
}
}
if (!found) {
printf("未找到该联系人。\n");
}
}
```
在text.c文件中,我们可以编写测试逻辑,例如:
```c
#include <stdio.h>
#include "contact.h"
int main() {
Contact contacts[MAX_CONTACTS];
int count = 0;
int choice;
char name[MAX_NAME_LENGTH];
do {
printf("\n通讯录操作菜单:\n");
printf("1. 添加联系人\n");
printf("2. 显示所有联系人\n");
printf("3. 查找联系人\n");
printf("4. 删除联系人\n");
printf("0. 退出\n");
printf("请输入您的选择:");
scanf("%d", &choice);
switch (choice) {
case 1:
addContact(contacts, &count);
break;
case 2:
displayContacts(contacts, count);
break;
case 3:
printf("请输入要查找的联系人姓名:");
scanf("%s", name);
searchContact(contacts, count, name);
break;
case 4:
printf("请输入要删除的联系人姓名:");
scanf("%s", name);
deleteContact(contacts, &count, name);
break;
case 0:
printf("程序已退出。\n");
break;
default:
printf("无效的选择。\n");
break;
}
} while (choice != 0);
return 0;
}
```
这是一个简单的通讯录C语言程序设计示例,其中包含了添加联系人、显示所有联系人、查找联系人和删除联系人等功能。您可以根据自己的需求进行修改和扩展。
阅读全文