分享好友 资讯首页 资讯分类 切换频道

用c语言编写电话本

2025-07-13 19:5930

c

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

// 定义联系人结构体

struct Contact {

char name[50];

char phoneNumber[20];

struct Contact *next;

};

// 定义全局变量以跟踪联系人列表的末尾

struct Contact *lastContact = NULL;

// 添加联系人函数

void addContact() {

struct Contact *newContact = (struct Contact*)malloc(sizeof(struct Contact));

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

scanf("%s", newContact->name);

printf("请输入联系人的电话号码:n");

scanf("%s", newContact->phoneNumber);

newContact->next = NULL;

if (lastContact == NULL) { // 如果列表为空,新联系人是第一个联系人

lastContact = newContact;

用c语言编写电话本

return;

} else { // 在列表末尾添加联系人

struct Contact *temp = lastContact; // 获取当前最后一个联系人

while (temp->next != NULL) { // 寻找最后一个联系人的下一个位置(即列表末尾)

temp = temp->next;

}

temp->next = newContact; // 将新联系人添加到末尾

return;

}

// 删除联系人函数

void deleteContact() {

struct Contact *tempContact;

if (lastContact == NULL) {

printf("电话本为空,无法删除,n");

return;

} else if (lastContact == lastContact->next) { // 如果只有一个联系人,删除该联系人后列表为空

tempContact = lastContact;

lastContact = NULL;

free(tempContact);

return;

} else { // 删除指定联系人

struct Contact *toDelete, *prevContact = NULL;

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

用c语言编写电话本

struct Contact *currentContact = lastContact;

while (currentContact != NULL) {

if (strcmp(currentContact->name, inputName) == 0) { // 找到要删除的联系人

if (prevContact == NULL) { // 如果要删除的联系人是第一个联系人,更新列表头

toDelete = lastContact;

lastContact = lastContact->next;

free(toDelete);

} else { // 删除其他联系人

prevContact->next = currentContact->next;

free(currentContact);

}

return;

} else { // 继续搜索列表中的联系人

prevContact = currentContact;

currentContact = currentContact->next;

}

}

printf("未找到该联系人,n"); // 如果未找到联系人,输出提示信息并退出函数

return;

}

//查找联系人函数(此处省略)等其它功能可以根据需求自行添加,注意处理内存分配和释放问题。 //查找联系人函数(此处省略)等其它功能可以根据需求自行添加,注意处理内存分配和释放问题,你可以使用类似的方法来实现查找和编辑联系人的功能,在实现这些功能时,请确保正确地处理内存分配和释放问题,以避免内存泄漏和其他相关问题,你还可以根据需要添加更多的功能,如按姓名或电话号码排序的联系人列表等。

举报
收藏 0
打赏 0
评论 0
电话卡实名认证不了
电话卡实名认证失败简介:因各种原因,包括信息填写错误、证件不符合规定、系统技术故障等,导致电话卡无法通过实名认证,影响正常使用。解决方法包括核对信息、更换证件或联系运营商等。

0评论2026-04-071

苹果手机下载软件需要验证码吗
苹果手机下载软件是否需要验证码取决于多种因素。通常情况下,下载已登录的Apple ID上的免费软件不需要验证码;但若下载付费软件或首次下载某些软件,可能需要验证码进行验证。具体情况具体分析。

0评论2026-04-071

 
友情链接