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

yizhihongxing

介绍

制作一个简单的通讯录是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++中的运算符和表达式

    让我来给大家详细讲解一下C++中的运算符和表达式。 运算符 在编程中,我们需要使用各种运算符对数据进行各种操作,C++提供了以下几种运算符: 算术运算符 算术运算符用于基本的算术操作,如加减乘除和取模。具体如下: 运算符 描述 + 加法 – 减法 * 乘法 / 除法 % 取模(求余数) 示例代码如下: #include <iostream> in…

    C 2023年5月24日
    00
  • C语言中如何进行线程和进程操作?

    C语言在操作系统中提供了一些库函数,可以方便地进行进程和线程的操作。 进程操作 创建新进程 使用 fork() 函数可以在当前进程中创建一个新进程。新进程继承了父进程的所有属性,但是父进程和子进程拥有独立的内存空间。下面是一个示例: #include <sys/types.h> #include <unistd.h> #include…

    C 2023年4月27日
    00
  • Halcon读取json文件实现示例

    下面是关于Halcon读取json文件实现的完整攻略。 一、前置条件 在开始实现Halcon读取json文件的过程中,需要安装Halcon框架和相关的Halcon库,并且要了解json文件的基本结构和语法。此外,还需要下载相关的json C++库,比如用于解析json文件的jsoncpp库。 二、Halcon读取json文件实现 下面是Halcon读取jso…

    C 2023年5月23日
    00
  • C语言system函数使用方法详解

    C语言system函数使用方法详解 什么是system函数 system函数是C语言中的标准库函数之一,用于在程序中调用shell命令。 使用方法 system函数的声明如下: int system(const char* command); 其中,参数command表示要执行的shell命令。 system函数返回一个整数值,表示执行命令后的返回值。在Li…

    C 2023年5月23日
    00
  • Go语言对JSON进行编码和解码的方法

    Go语言对JSON进行编码和解码的方法主要通过标准库中的“encoding/json”来实现。下面是完整的攻略: 1. 编码JSON 要将数据编码为JSON格式的字符串,我们可以使用json.Marshal()函数。下面是示例代码: package main import ( "encoding/json" "fmt"…

    C 2023年5月23日
    00
  • VC++实现程序开机启动运行的方法

    请注意以下几个步骤来实现在Windows系统中使用VC++实现程序开机启动运行的方法: 第一步:创建注册表项 在Windows系统中,可以通过注册表来实现程序开机启动运行的功能。因此,第一步我们需要创建一个注册表项来设置开机启动。 在VC++中,可以使用RegCreateKeyEx函数来创建注册表项。以下是一个示例代码: HKEY hKey; LPCTSTR…

    C 2023年5月23日
    00
  • 浅谈C++空间配置器allocator

    浅谈C++空间配置器allocator 什么是空间配置器allocator C++中的空间配置器allocator是在使用new/delete进行内存管理的时候,对内存进行分配和释放的一种通用工具。allocator的主要目的是为了解决C++标准库中容器和算法在内存管理方面的低效问题。C++标准库提供了多个类型的allocator,可以满足不同场景下的需求。…

    C 2023年5月22日
    00
  • Windows10系统遇到”不能打开要写入的文件”怎么办

    下面是关于“Windows10系统遇到’不能打开要写入的文件’怎么办”的完整攻略,分为以下几个步骤: 1. 检查文件权限 首先,我们需要确认文件是否有正确的权限限制。当一个文件受限时,您可能无法访问它,甚至将其写入到其中。 如何检查文件权限 单击鼠标右键并选择 “属性” 选项 选择 “安全” 标签页并检查是否与您的用户帐户相关联。 如果您有权限,请在相应的区…

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