用c语言实现一个电话薄(附完整代码)

下面是用C语言实现一个电话薄的攻略。

1. 确定数据结构

首先需要确定电话薄的数据结构,可以使用结构体类型来表示每个联系人,包括姓名和电话号码两个元素。代码如下:

struct Contact {
    char name[20];
    char phone[12];
};

2. 实现主函数

主函数负责用户的交互,可以使用一个数组来存储电话薄中的联系人信息。具体实现过程如下:

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

struct Contact {
    char name[20];
    char phone[12];
};

int main()
{
    int num = 0;
    struct Contact contacts[10];

    while (1) {
        printf("\n请选择要进行的操作:\n");
        printf("1. 添加联系人\n");
        printf("2. 查找联系人\n");
        printf("3. 显示所有联系人\n");
        printf("4. 退出电话薄\n");

        int choice;
        scanf("%d", &choice);

        switch (choice) {
        case 1:
            if (num < 10) {
                printf("\n请输入联系人姓名和电话号码:\n");
                scanf("%s %s", contacts[num].name, contacts[num].phone);
                printf("添加联系人成功!\n");
                num++;
            } else {
                printf("\n电话薄已满,无法添加联系人。\n");
            }
            break;
        case 2:
            printf("\n请输入要查找的联系人姓名:\n");
            char name[20];
            scanf("%s", name);

            for (int i = 0; i < num; i++) {
                if (strcmp(name, contacts[i].name) == 0) {
                    printf("\n%s 的电话号码是:%s\n", name, contacts[i].phone);
                    break;
                }
                if (i == num - 1) {
                    printf("\n未找到 %s 的联系人信息。\n", name);
                }
            }
            break;
        case 3:
            if (num == 0) {
                printf("\n电话薄为空。\n");
            } else {
                printf("\n电话薄中的联系人如下:\n");
                for (int i = 0; i < num; i++) {
                    printf("%s\t%s\n", contacts[i].name, contacts[i].phone);
                }
            }
            break;
        case 4:
            printf("\n感谢使用电话薄,再见!\n");
            exit(0);
        default:
            printf("\n输入有误,请输入 1-4 中的一个数字。\n");
        }
    }

    return 0;
}

3. 添加联系人

用户选择添加联系人后,程序会要求用户输入联系人的姓名和电话号码,并将其添加到数组中。添加联系人的代码如下:

if (num < 10) {
    printf("\n请输入联系人姓名和电话号码:\n");
    scanf("%s %s", contacts[num].name, contacts[num].phone);
    printf("添加联系人成功!\n");
    num++;
} else {
    printf("\n电话薄已满,无法添加联系人。\n");
}

其中,num 表示电话薄中联系人的个数。如果 num 小于 10,则可以添加联系人;否则提示电话薄已满。

4. 查找联系人

用户选择查找联系人后,程序会要求用户输入要查找的联系人姓名,并在数组中查找对应的电话号码。代码如下:

printf("\n请输入要查找的联系人姓名:\n");
char name[20];
scanf("%s", name);

for (int i = 0; i < num; i++) {
    if (strcmp(name, contacts[i].name) == 0) {
        printf("\n%s 的电话号码是:%s\n", name, contacts[i].phone);
        break;
    }
    if (i == num - 1) {
        printf("\n未找到 %s 的联系人信息。\n", name);
    }
}

其中,strcmp 函数用于判断两个字符串是否相等。如果找到对应的联系人,则输出电话号码;否则输出未找到的提示信息。

示例说明

以下是两个电话薄的使用示例,以便更好地理解程序的实现。

示例1

请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
1

请输入联系人姓名和电话号码:
张三 12345678910
添加联系人成功!

请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
1

请输入联系人姓名和电话号码:
李四 98765432101
添加联系人成功!

请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
3

电话薄中的联系人如下:
张三   12345678910
李四   98765432101

请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
2

请输入要查找的联系人姓名:
李四

李四 的电话号码是:98765432101

请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
2

请输入要查找的联系人姓名:
王五

未找到王五的联系人信息。

请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
4

感谢使用电话薄,再见!

示例2

请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
1

请输入联系人姓名和电话号码:
张三 12345678910
添加联系人成功!

请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
2

请输入要查找的联系人姓名:
李四

未找到李四的联系人信息。

请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
3

电话薄中的联系人如下:
张三  12345678910

请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
1

请输入联系人姓名和电话号码:
李四 98765432101
添加联系人成功!

请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
3

电话薄中的联系人如下:
张三  12345678910
李四  98765432101

请选择要进行的操作:
1. 添加联系人
2. 查找联系人
3. 显示所有联系人
4. 退出电话薄
4

感谢使用电话薄,再见!

以上就是用C语言实现一个电话薄的完整攻略,希望对你有帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用c语言实现一个电话薄(附完整代码) - Python技术站

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

相关文章

  • C语言代码中调用C++代码的方法示例

    当我们在C语言中需要使用一些C++代码的时候,可以通过以下几个步骤实现: 编写C++代码 在C++中编写我们需要使用的函数或者类,注意要在代码中添加extern “C”修饰,使C++代码能够被C语言调用。例如,我们编写一个简单的C++函数: #include<iostream> using namespace std; extern "…

    C 2023年5月23日
    00
  • 一文带你深入了解C++中的类型转换

    一文带你深入了解C++中的类型转换 在C++中,类型转换是一种将一种数据类型转换为另一种数据类型的方法。类型转换在编程中非常常见,它可以将我们需要的数据类型作为参数传递给函数或表达式,也可以帮助我们处理特定的数据类型。 类型转换的分类 在C++中,类型转换可以分为隐式类型转换和显式类型转换两种: 隐式类型转换:自动将一种数据类型转换为另一种数据类型。例如,将…

    C 2023年5月24日
    00
  • 谷歌Pixel C怎么样?谷歌Pixel C对比微软Surface 3,各有不同

    谷歌Pixel C怎么样? 谷歌Pixel C是一款由Google公司推出的平板电脑,采用了10.2英寸的屏幕,拥有高达2560×1800像素的分辨率,内置4GB RAM和32GB/64GB的闪存。平板电脑采用了NVIDIA Tegra X1处理器,运行Android 7.0操作系统,支持Google Play商店和Google应用。Pixel C拥有一款精…

    C 2023年5月23日
    00
  • 制作win2003自动安装盘 集成补丁/Raid及硬件驱动

    制作Win2003自动安装盘需要以下几个步骤: 1. 下载Win2003操作系统光盘镜像文件 首先需要从官网或者其他渠道下载Win2003的操作系统光盘镜像文件,通常为ISO格式的文件,作为后续制作自动安装盘的基础。 2. 下载并安装WinISO软件 WinISO是用于制作光盘镜像的工具软件,可以帮助将Win2003光盘镜像文件转换成ISO格式,方便进行自动…

    C 2023年5月24日
    00
  • c++中const的使用详解

    下面是“C++中 const 的使用详解”的完整攻略。 一、const 的基本概念 const 是 C++ 中的一个关键字,表示“常量”的意思。具体来说,const 可以用来修饰变量、函数、指针等,表明它们在程序执行过程中不能被修改。使用 const 的好处是可以增强程序的可读性和安全性。 二、const 对变量的修饰 1. const 修饰普通变量 在定义…

    C 2023年5月22日
    00
  • 基于C语言实现简易扫雷游戏

    基于C语言实现简易扫雷游戏攻略 介绍 扫雷游戏是一款经典的单人益智游戏,最早由微软公司开发,并已成为Windows操作系统默认自带的游戏之一。在扫雷游戏中,玩家需要找出所有雷所在的方格,并将它们标记出来,但不能点到任何一枚雷。本文将介绍如何基于C语言实现简易扫雷游戏。 准备工作 在开始编写游戏程序之前,需要了解以下几点: 游戏界面:使用C语言和控制台编写扫雷…

    C 2023年5月23日
    00
  • C++直接cout指针名的含义?

    当我们在C++中使用std::cout输出一个指针变量时,可以直接输出这个指针变量的名称,如下所示: int* p = new int(10); std::cout << p << std::endl; 这时输出直接的结果会是这个指针变量的地址值,而不是指针所指向的值或者其他内容。这样输出指针的地址值在某些情况下是有用的,比如如果想要…

    C 2023年5月30日
    00
  • C++连接并使用MySQL数据库

    一、C++连接MySQL数据库简介C++是一门非常流行的编程语言,除了可以进行基本的编程外,它还可以连接多种数据库进行数据操作,其中之一就是MySQL数据库。在本篇文章中,我们将讲解如何使用C++连接并操作MySQL数据库,并提供用C++语言的示例代码。 二、安装MySQL C++ Connector在使用C++连接MySQL数据库之前,需要先安装MySQL…

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