c语言课程设计通讯录

admin 23 0

在C语言课程设计中,实现一个通讯录是一个常见的项目,通讯录通常包括添加联系人、删除联系人、查找联系人以及显示所有联系人等功能,下面是一个简单的通讯录程序示例,你可以根据自己的需求进行修改和扩展。

```c

#include

#include

#include

#define MAX_CONTACTS 100

#define MAX_NAME_LENGTH 50

#define MAX_PHONE_LENGTH 20

typedef struct {

char name[MAX_NAME_LENGTH];

char phone[MAX_PHONE_LENGTH];

} Contact;

Contact contacts[MAX_CONTACTS];

int numContacts = 0;

void addContact() {

if (numContacts >= MAX_CONTACTS) {

printf("通讯录已满,无法添加更多联系人!\n");

return;

}

printf("请输入联系人姓名:");

scanf("%s", contacts[numContacts].name);

printf("请输入联系人电话:");

scanf("%s", contacts[numContacts].phone);

numContacts++;

printf("联系人添加成功!\n");

}

void deleteContact() {

int i, found = 0;

printf("请输入要删除的联系人姓名:");

scanf("%s", name);

for (i = 0; i < numContacts; i++) {

if (strcmp(contacts[i].name, name) == 0) {

found = 1;

for (int j = i; j < numContacts - 1; j++) {

contacts[j] = contacts[j + 1];

}

numContacts--;

break;

}

if (found) {

printf("联系人删除成功!\n");

} else {

printf("未找到该联系人!\n");

void findContact() {

int found = 0;

printf("请输入要查找的联系人姓名:");

for (int i = 0; i < numContacts; i++) {

printf("姓名:%s\n", contacts[i].name);

printf("电话:%s\n", contacts[i].phone);

if (!found) {

void displayContacts() {

if (numContacts == 0) {

printf("通讯录为空!\n");

printf("通讯录中的联系人:\n");

printf("姓名:%s\n", contacts[i].name);

printf("电话:%s\n", contacts[i].phone);

printf("\n");

int main() {

int choice;

do {

printf("\n通讯录管理系统\n");

printf("1. 添加联系人\n");

printf("2. 删除联系人\n");

printf("3. 查找联系人\n");

printf("4. 显示所有联系人\n");

printf("5. 退出\n");

printf("请选择操作:");

scanf("%d", &choice);

switch (choice) {

case 1:

addContact();

break;

case 2:

deleteContact();

case 3:

findContact();

case 4:

displayContacts();

case 5:

printf("退出通讯录管理系统,\n");

default:

printf("无效的选择,请重新输入!\n");

} while (choice != 5);

return 0;

```

这个程序使用了一个结构体数组来存储联系人信息,包括姓名和电话,通过不同的函数实现了添加、删除、查找和显示联系人的功能,在`main`函数中,通过一个循环菜单来让用户选择操作,直到用户选择退出为止。

你可以根据自己的需求对程序进行修改和扩展