用c语言编写电话本

   2025-07-13 10
核心提示:C语言编写的电话本简介:电话本是一个联系人管理软件,可存储联系人姓名、电话号码等信息,方便用户查询和管理。采用C语言实现,具有简单、高效、可靠的特点,适用于个人及企业使用。

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");

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
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
友情链接
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报