跳到主要内容

C++ 编程:使用结构添加两个距离(英尺-英寸)

为了理解这个示例,你应该具备以下 C++ 编程 主题的知识:

示例:使用结构体相加距离

#include <iostream>
using namespace std;

struct Distance {
int feet;
float inch;
}d1 , d2, sum;

int main() {
cout << "Enter 1st distance," << endl;
cout << "Enter feet: ";
cin >> d1.feet;
cout << "Enter inch: ";
cin >> d1.inch;

cout << "\nEnter information for 2nd distance" << endl;
cout << "Enter feet: ";
cin >> d2.feet;
cout << "Enter inch: ";
cin >> d2.inch;

sum.feet = d1.feet+d2.feet;
sum.inch = d1.inch+d2.inch;

// 如果英寸大于12,则转换为英尺
if(sum.inch > 12) {
  // 额外的英尺
int extra = sum.inch / 12;

sum.feet += extra;
sum.inch -= (extra * 12);
}

cout << endl << "Sum of distances = " << sum.feet << " feet " << sum.inch << " inches";
return 0;
}

输出

Enter 1st distance,
Enter feet: 6
Enter inch: 3.4

Enter information for 2nd distance
Enter feet: 5
Enter inch: 10.2

Sum of distances = 12 feet 1.6 inches

在这个程序中,声明了一个名为 Distance 的结构体,其中包含两个数据成员(inchfeet),用来存储英尺-英寸制的距离。

这里,创建了两个结构体变量 d1d2 来存储用户输入的距离。而变量 sum 用来存储距离之和。

如果 sum 变量的 inch 值大于 12,则使用 if 语句将英寸转换为英尺:

  • int 类型的变量 extra 存储由于英寸值大于 12 而获得的额外英尺。这是通过 sum.inch 除以 12 的商获得的。
  • 然后我们将额外的英尺加到 sum.feet 上。
  • 然后通过从初始值中减去 extra * 12 来计算 sum.inch 的真实值。