C语言写手机通讯录。。
在 C 语言中实现一个简单的手机通讯录程序涉及到以下几个方面的内容:
- 定义数据结构
- 实现基本功能
- 操作通讯录
以下是一个详细的示例,展示了如何用 C 语言编写一个基本的手机通讯录程序。
1. 定义数据结构
首先,我们需要定义一个数据结构来存储每个联系人信息。一个简单的联系人的数据结构可以包括姓名、电话号码和电子邮件地址等信息。
c#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_NAME_LENGTH 100
#define MAX_PHONE_LENGTH 15
#define MAX_EMAIL_LENGTH 100
#define MAX_CONTACTS 100
typedef struct {
char name[MAX_NAME_LENGTH];
char phone[MAX_PHONE_LENGTH];
char email[MAX_EMAIL_LENGTH];
} Contact;
2. 实现基本功能
我们需要实现一些基本的功能,如添加联系人、删除联系人、显示联系人列表等。
添加联系人
cvoid addContact(Contact contacts[], int *count) {
if (*count >= MAX_CONTACTS) {
printf("通讯录已满,无法添加新联系人。\n");
return;
}
Contact new_contact;
printf("请输入姓名: ");
fgets(new_contact.name, MAX_NAME_LENGTH, stdin);
new_contact.name[strcspn(new_contact.name, "\n")] = '\0'; // 去掉末尾的换行符
printf("请输入电话号码: ");
fgets(new_contact.phone, MAX_PHONE_LENGTH, stdin);
new_contact.phone[strcspn(new_contact.phone, "\n")] = '\0';
printf("请输入电子邮件: ");
fgets(new_contact.email, MAX_EMAIL_LENGTH, stdin);
new_contact.email[strcspn(new_contact.email, "\n")] = '\0';
contacts[*count] = new_contact;
(*count)++;
printf("联系人已添加。\n");
}
显示联系人列表
cvoid displayContacts(Contact contacts[], int count) {
if (count == 0) {
printf("通讯录为空。\n");
return;
}
printf("通讯录:\n");
for (int i = 0; i < count; i++) {
printf("姓名: %s\n", contacts[i].name);
printf("电话号码: %s\n", contacts[i].phone);
printf("电子邮件: %s\n", contacts[i].email);
printf("-----------------------\n");
}
}
删除联系人
cvoid deleteContact(Contact contacts[], int *count, const char *name) {
int i, j;
for (i = 0; i < *count; i++) {
if (strcmp(contacts[i].name, name) == 0) {
for (j = i; j < *count - 1; j++) {
contacts[j] = contacts[j + 1];
}
(*count)--;
printf("联系人已删除。\n");
return;
}
}
printf("未找到联系人。\n");
}
3. 操作通讯录
在主函数中实现菜单驱动的操作来管理通讯录。
cint main() {
Contact contacts[MAX_CONTACTS];
int count = 0;
int choice;
char name[MAX_NAME_LENGTH];
while (1) {
printf("\n--- 通讯录 ---\n");
printf("1. 添加联系人\n");
printf("2. 显示联系人\n");
printf("3. 删除联系人\n");
printf("4. 退出\n");
printf("请选择操作: ");
scanf("%d", &choice);
getchar(); // 读取换行符
switch (choice) {
case 1:
addContact(contacts, &count);
break;
case 2:
displayContacts(contacts, count);
break;
case 3:
printf("请输入要删除的联系人姓名: ");
fgets(name, MAX_NAME_LENGTH, stdin);
name[strcspn(name, "\n")] = '\0';
deleteContact(contacts, &count, name);
break;
case 4:
printf("退出程序。\n");
return 0;
default:
printf("无效选择,请重试。\n");
}
}
return 0;
}
总结
该程序实现了一个简单的手机通讯录管理系统,具备以下功能:
- 添加联系人。
- 显示联系人列表。
- 删除联系人。
用户可以通过菜单选择操作,程序将根据选择执行相应功能。
关键字
C语言, 手机通讯录, 数据结构, 联系人, 添加联系人, 显示联系人, 删除联系人, struct
, fgets()
, strcmp()
, strcspn()
, scanf()
, getchar()