c语言编程笔录

您现在的位置是:首页 > 编程 > 编程经验

编程经验

c语言 电话簿管理

吴佳瑞 2023-09-26编程经验
电话簿管理系统设计前言:电话簿管理是一个常见的应用程序,用于组织和管理联系人的信息。本文将使用C语言设计和实现一个简单的电话簿管理系统,包括联系人的添加、删除、查找和显示功能。功能设计和代码实现本电话簿管理系统将使用链表数据结构存储联系人

电话簿管理系统设计

前言:电话簿管理是一个常见的应用程序,用于组织和管理联系人的信息。本文将使用C语言设计和实现一个简单的电话簿管理系统,包括联系人的添加、删除、查找和显示功能。

功能设计和代码实现

本电话簿管理系统将使用链表数据结构存储联系人信息。每个联系人由姓名和电话号码组成,我们将采用结构体存储每个联系人的信息。以下是代码示例:

#include 
#include 
#include 

// 定义联系人结构体
typedef struct Contact {
    char name[50];
    char phoneNumber[15];
    struct Contact* next;
} Contact;

// 全局变量,链表头指针
Contact* head = NULL;

// 添加联系人
void addContact() {
    // 创建新的联系人节点
    Contact* newContact = (Contact*)malloc(sizeof(Contact));
    
    // 输入联系人信息
    printf("请输入姓名:");
    scanf("%s", newContact->name);
    printf("请输入电话号码:");
    scanf("%s", newContact->phoneNumber);
    
    // 将联系人添加到链表
    newContact->next = head;
    head = newContact;
    
    printf("联系人添加成功!\n");
}

// 显示所有联系人
void displayContacts() {
    Contact* current = head;
    
    // 遍历链表,打印联系人信息
    while (current != NULL) {
        printf("姓名:%s\n", current->name);
        printf("电话号码:%s\n", current->phoneNumber);
        printf("-------------------\n");
        current = current->next;
    }
}

// 主函数
int main() {
    // 菜单选择功能
    int choice;
    
    do {
        printf("电话簿管理系统\n");
        printf("1. 添加联系人\n");
        printf("2. 显示联系人\n");
        printf("3. 退出\n");
        printf("请输入选择:");
        scanf("%d", &choice);
        
        switch (choice) {
            case 1:
                addContact();
                break;
            case 2:
                displayContacts();
                break;
            case 3:
                printf("再见!\n");
                break;
            default:
                printf("无效的选择,请重新输入。\n");
        }
        
        printf("\n");
    } while (choice != 3);
    
    return 0;
}

代码解释和规范

以上代码通过使用链表数据结构存储联系人信息,实现了电话簿管理系统的基本功能。接下来,我们对部分代码进行解释和规范说明:

1. 第9行定义了联系人结构体,包含姓名、电话号码和指向下一个联系人的指针。联系人结构体的大小通过sizeof操作符来确定,并用typedef关键字定义了结构体类型为Contact。

2. 第13行声明了全局变量head,它是指向链表第一个联系人的指针。此处使用全局变量是为了方便在不同的函数之间共享链表的头指针。

3. 第20-35行是添加联系人的函数addContact()的实现。该函数首先通过动态内存分配创建一个新的联系人节点,然后提示用户输入联系人的姓名和电话号码。最后,将新联系人节点添加到链表的头部。

4. 第37-51行是显示所有联系人的函数displayContacts()的实现。该函数使用当前指针current遍历整个链表,并打印出每个联系人的姓名和电话号码。遍历链表直到current指针为空(达到链表尾部)。

总结

本文介绍了一个使用C语言设计和实现的电话簿管理系统。通过链表数据结构存储联系人信息,实现了联系人的添加和显示功能。通过这个简单示例,您可以进一步扩展该系统,增加其他功能,如联系人的删除、查找等。希望本文对您理解和应用全栈编程有所帮助。

文章评论