C语言实现制作通讯录(新手推荐)

介绍

制作一个简单的通讯录是C语言初学者学习的一个非常有趣的项目。本教程将为大家提供一个完整的实现过程,旨在帮助初学者全面掌握C语言编程的基本技能。

步骤

  1. 创建一个新的C语言文件。

打开你的编辑器,并创建一个新的C语言文件。保存文件,并为该文件选择一个描述性名称,例如“AddressBook.c”。

  1. 引入所需的头文件。

通常情况下,我们需要使用stdio.hstring.h这两个头文件。stdio.h头文件包含了我们需要使用的标准输入输出函数,例如printf()scanf();而string.h头文件则包含了我们需要使用的字符串操作函数,例如strcpy()strlen()

#include <stdio.h>
#include <string.h>
  1. 定义通讯录条目的结构体。

在我们的通讯录程序中,每个条目将包含一个人的姓名、地址和电话号码。我们可以定义一个结构体来存储这些信息。

struct Contact {
    char name[100];
    char address[100];
    char phone[20];
};

在这个结构体中,我们定义了三个变量,分别是nameaddressphone。我们使用了char数据类型的数组来保存这些信息。

  1. 编写主函数。

在我们的主函数中,我们将定义我们的程序中的变量和函数,并控制程序的流程。以下是我们主函数的内容:

int main() {
    int i, n;

    printf("Welcome to the address book.\n\n");

    printf("How many contacts would you like to enter? ");
    scanf("%d", &n);

    struct Contact contacts[n];

    for (i = 0; i < n; i++) {
        printf("\nEnter contact %d:\n", i+1);
        printf("Name: ");
        scanf("%s", contacts[i].name);
        printf("Address: ");
        scanf("%s", contacts[i].address);
        printf("Phone: ");
        scanf("%s", contacts[i].phone);
    }

    printf("\n");

    for (i = 0; i < n; i++) {
        printf("Contact %d:\n", i+1);
        printf("Name: %s\n", contacts[i].name);
        printf("Address: %s\n", contacts[i].address);
        printf("Phone: %s\n\n", contacts[i].phone);
    }

    return 0;
}

首先,我们定义了in两个变量,i代表for循环的变量,n代表要输入的联系人数量。

接下来,我们打印欢迎信息,并询问用户需要输入的联系人数。

接着,我们使用用户输入的联系人数动态创建一个结构体数组。

然后,我们使用for循环来读取用户输入的联系人信息。

最后,我们使用另一个for循环来打印保存的所有联系人信息。

  1. 运行程序。

现在,我们可以用编译器编译和运行我们的程序。如果一切顺利,你应该已经看到了一个友好的提示然后输入联系人信息。

附带的示例:

  1. 我们将添加一个“delete”函数来删除通讯录中的联系人。

我们可以使用循环,通过循环创建一个新的结构体数组,并将我们想要保留的联系人复制到新的数组中。

void deleteContact(struct Contact contacts[], int n, int index) {
    int i, j;
    for (i = 0, j = 0; i < n; i++) {
        if (i != index) {
            strcpy(newContacts[j].name, contacts[i].name);
            strcpy(newContacts[j].address, contacts[i].address);
            strcpy(newContacts[j].phone, contacts[i].phone);
            j++;
        }
    }
    memcpy(contacts, newContacts, sizeof(newContacts));
}
  1. 我们可以添加一个“search”函数来按姓名搜索通讯录中的联系人。

我们可以使用循环来搜索我们的结构体数组,找到匹配的姓名。

void searchContact(struct Contact contacts[], int n, char* name) {
    int i, found = 0;
    for (i = 0; i < n; i++) {
        if (!strcmp(contacts[i].name, name)) {
            printf("Contact Found:\n");
            printf("Name: %s\n", contacts[i].name);
            printf("Address: %s\n", contacts[i].address);
            printf("Phone: %s\n", contacts[i].phone);
            found = 1;
            break;
        }
    }
    if (!found) {
        printf("Contact not found.\n");
    }
}

以上是关于制作通讯录的完整攻略,希望可以对你学习C语言编程有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言实现制作通讯录(新手推荐) - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • C语言详细讲解#error与#line如何使用

    C语言详细讲解 #error与#line如何使用 简介 在C语言中,#error和#line是两个预处理器指令,可以用于编写更好的代码。#error指令用于在遇到错误时生成编译错误,而#line指令用于更改编译器输出的行号和文件名。 #error指令 error指令用于在源代码中显示一个错误消息,并且在编译时会生成一个错误。它的语法如下: #error me…

    C 2023年5月23日
    00
  • 全境封锁2武器有哪些 全武器介绍

    全境封锁2武器有哪些 全武器介绍 全境封锁2是一款以军事背景为主题的 RPG 游戏,其中武器种类丰富。本文将对这些武器进行全面介绍。 武器种类 全境封锁2中的武器大致可分为以下几类: 步枪 冲锋枪 狙击枪 轻机枪 战斗霰弹枪 手枪 火焰喷射器 黄金枪 不同武器介绍 步枪 步枪是一类长枪,常见的有 AK47、M16A2 等。通常适用于中远距离作战,威力较大,但…

    C 2023年5月22日
    00
  • Recommended C Style and Coding Standards中文翻译版

    首先,需要明确“Recommended C Style and Coding Standards”是一份由美国国防部发布的规范文档,旨在规范C语言程序的编写。该文档包含了C语言编程所需的规范、风格、注释、命名、代码布局和格式等方面的建议。如何应用该文档,建立自己的编程风格呢? 以下是应用“Recommended C Style and Coding Stan…

    C 2023年5月22日
    00
  • C和C++的区别

    C和C++的区别 C和C++是两种非常流行的编程语言,它们之间有很多相似之处,但也有一些根本的区别。 C和C++的主要区别 C语言和C++语言的主要区别在于面向对象编程的支持和语言的复杂程度上。 面向对象编程 C++是一种支持面向对象编程(OOP)的编程语言,它允许使用类、继承、多态等OOP的概念。 而C语言没有直接的OOP支持。 语言的复杂度 C++比C语…

    C 2023年5月10日
    00
  • php中json_decode()和json_encode()的使用方法

    关于 PHP 中 JSON 数据的编码和解码,通常会使用两个函数 json_encode() 和 json_decode()。 json_encode() 的使用方法 json_encode() 函数是将 PHP 中的数据转为 JSON 字符串的方法。它的语法如下: json_encode($value, $options = 0, $depth = 512…

    C 2023年5月23日
    00
  • C语言的分支和循环语句你了解吗

    C语言提供了丰富的分支和循环语句,可以帮助我们实现各种复杂的算法和功能。下面我将为大家详细讲解 C 语言中的分支和循环语句,包括语法、使用方法和示例。 分支语句 if 语句 if 语句是 C 语言中最基本的分支语句。它的语法如下: if (expression) { // If expression is true, the following code b…

    C 2023年5月23日
    00
  • Java编程基础测试题分享

    Java编程基础测试题分享攻略 背景说明 Java编程入门的学习是需要实践的。而测试题是测试自己知识掌握情况的重要方式之一。本文将介绍如何准备Java编程基础测试题,以及如何完整的解答测试题,帮助初学者更好地进行自我学习和检验。 准备测试题 找到适当的测试题,可以在网上搜索一些Java编程基础测试题,或者向周围有经验者拿一些推荐的Java编程基础测试题 将测…

    C 2023年5月23日
    00
  • Lua中的常用函数库汇总

    Lua中的常用函数库汇总 1. 概述 Lua是一种简单易学的脚本语言,并且既支持面向过程编程,也支持面向对象编程。随着Lua在游戏开发、嵌入式系统、大规模Web应用等领域的广泛应用,Lua的标准库和第三方库也越来越丰富。Lua的标准库提供了一些常用的函数,满足了大部分的编程需求。除此之外,第三方库的出现给我们提供了更多的选择。 本文将对Lua中的常用函数库进…

    C 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部