C语言通讯录程序:从入门到精通

想学习如何使用C语言编写一个功能完备的通讯录程序吗?这篇文章为你提供一个简单的示例代码,并详细解释每个步骤,帮助你快速入门C语言编程。

代码示例

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_CONTACTS 100

typedef struct {
    char name[50];
    char phone[20];
} Contact;

Contact contacts[MAX_CONTACTS];
int numContacts = 0;

void addContact() {
    if (numContacts == MAX_CONTACTS) {
        printf('通讯录已满,无法添加新联系人。\n');
        return;
    }

    Contact newContact;
    printf('请输入联系人姓名:');
    scanf('%s', newContact.name);
    printf('请输入联系人电话:');
    scanf('%s', newContact.phone);

    contacts[numContacts++] = newContact;

    printf('联系人已成功添加到通讯录。\n');
}

void displayContacts() {
    if (numContacts == 0) {
        printf('通讯录为空。\n');
        return;
    }

    printf('通讯录中的联系人:\n');
    for (int i = 0; i < numContacts; i++) {
        printf('%d. 姓名:%s,电话:%s\n', i + 1, contacts[i].name, contacts[i].phone);
    }
}

int main() {
    int choice;

    while (1) {
        printf('\n通讯录程序\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');
                exit(0);
            default:
                printf('无效的选择,请重试。\n');
        }
    }

    return 0;
}

代码解释

  1. 包含头文件:

    • stdio.h: 包含标准输入输出函数,如 printfscanf
    • stdlib.h: 包含内存分配函数 mallocfree,以及程序控制函数 exit
    • string.h: 包含字符串操作函数,如 strcpystrlen
  2. 定义常量和结构体:

    • MAX_CONTACTS: 定义通讯录最大联系人数量为 100。
    • Contact: 定义一个名为 Contact 的结构体,包含 namephone 两个成员,分别存储联系人的姓名和电话号码。
  3. 声明全局变量:

    • contacts: 定义一个 Contact 类型的数组,用于存储所有联系人信息。
    • numContacts: 记录当前通讯录中的联系人数量。
  4. 实现函数:

    • addContact(): 添加联系人到通讯录。
    • displayContacts(): 显示通讯录中所有联系人信息。
  5. 主函数 main():

    • 使用循环不断提示用户选择操作。
    • 根据用户的选择调用相应的函数。

进阶学习

  • 文件操作: 学习如何将联系人数据保存到文件,以及从文件中读取数据,实现数据持久化。
  • 搜索和排序: 实现按姓名或电话号码搜索联系人,以及对联系人进行排序的功能。
  • 动态内存分配: 使用 mallocfree 函数动态分配内存,突破固定联系人数量的限制。
  • 图形用户界面 (GUI): 学习使用 GUI 库,如 GTK+ 或 Qt,创建更友好的用户界面。

通过不断学习和实践,你可以使用C语言创建功能强大的通讯录程序,甚至其他更复杂的应用程序。

C语言通讯录程序:从入门到精通

原文地址: https://www.cveoy.top/t/topic/bWT6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录