示例:使用结构体添加距离
#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;
// changing to feet if inch is greater than 12
if(sum.inch > 12) {
// extra feet
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` 的结构体,其中包含两个数据成员(`inch` 和 `feet`),用于存储英寸-英尺系统中的距离。
在这里,创建了两个结构体变量 `d1` 和 `d2` 来存储用户输入的距离。并且,`sum` 变量用于存储距离的总和。
当 `sum` 变量的 `inch` 值大于 `12` 时,使用 `if` 语句将英寸转换为英尺。
- 整数变量 `extra` 存储了由于 `inch` 值大于 `12` 而产生的额外英尺数。这可以通过 `sum.inch` 除以 `12` 的商来获得。
- 然后,我们将额外的英尺数加到 `sum.feet` 中。
- 通过从 `sum.inch` 的初始值中减去 `extra * 12` 来计算其真实值。
另请阅读