📜  C C++程序使用“结构”将英寸英尺系统中给定的N个距离相加(1)

📅  最后修改于: 2023-12-03 14:39:37.884000             🧑  作者: Mango

C/C++程序使用结构将英寸英尺系统中给定的N个距离相加

本文介绍如何使用结构体来将英寸英尺系统中给定的N个距离相加。

前置知识

在本文中需要了解以下内容:

  • C/C++基础语法
  • 结构体的定义和使用
  • 输入输出流的使用
程序思路
  • 定义结构体Distance,表示距离。
  • 读入N个距离,将它们转化为英寸。
  • 计算这N个距离的总和,并将其转化为英尺英寸制。
  • 打印输出总长度。
程序展示
#include <iostream>

using namespace std;

// 定义结构体
struct Distance
{
    int feet;
    float inches;
};

// 转化为英寸
float convertToInches(Distance d)
{
    return d.feet * 12 + d.inches;
}

// 转化为英尺英寸制
Distance convertToFeet(float inches)
{
    Distance d;
    d.feet = inches / 12;
    d.inches = inches - d.feet * 12;
    return d;
}

int main()
{
    int n;
    cout << "请输入距离的个数:";
    cin >> n;

    Distance total = {0, 0.0};
    Distance d;

    for (int i = 0; i < n; i++)
    {
        cout << "请输入第" << i + 1 << "个距离(英尺 英寸):";

        cin >> d.feet >> d.inches;
        float inches = convertToInches(d);
        total.inches += inches;
    }

    // 转化为英尺英寸制
    total = convertToFeet(total.inches);

    cout << "总距离为:" << total.feet << " 英尺 " << total.inches << " 英寸" << endl;
    
    return 0;
}
代码解释
结构体定义
struct Distance
{
    int feet;
    float inches;
};

定义了一个结构体Distance,包含两个成员feetinches,分别表示英尺和英寸。

转化为英寸
float convertToInches(Distance d)
{
    return d.feet * 12 + d.inches;
}

将一个结构体类型的距离转化为英寸,并返回一个浮点数。

转化为英尺英寸制
Distance convertToFeet(float inches)
{
    Distance d;
    d.feet = inches / 12;
    d.inches = inches - d.feet * 12;
    return d;
}

将一个浮点数表示的英寸转化为英尺英寸制,并返回一个结构体类型的距离。

主程序
int main()
{
    int n;
    cout << "请输入距离的个数:";
    cin >> n;

    Distance total = {0, 0.0};
    Distance d;

    for (int i = 0; i < n; i++)
    {
        cout << "请输入第" << i + 1 << "个距离(英尺 英寸):";

        cin >> d.feet >> d.inches;
        float inches = convertToInches(d);
        total.inches += inches;
    }

    // 转化为英尺英寸制
    total = convertToFeet(total.inches);

    cout << "总距离为:" << total.feet << " 英尺 " << total.inches << " 英寸" << endl;

    return 0;
}
  • 先读入距离个数n。
  • 循环读入每个距离,转化为英寸并加入总长度。
  • 最后将总长度转化为英尺英寸制输出。
总结

本文介绍了如何使用结构体来处理英尺英寸制的距离,并通过代码展示了程序的实现过程。