我正在写一本书,其中一项任务就是编写一个执行此操作的程序:
提示用户输入值。 存储最高和最低值。 显示最高和最低值。 全部使用while循环。
所以我写了这个:
#include <iostream>
double length;
double length_highest=0;
double length_lowest=0;
int main()
{
std::cout << "Please enter a length.\n";
while(std::cin>>length){
if (length_lowest+length_highest==0){
length_lowest = length;
length_highest = length;
}else if (length<length_lowest){
length_lowest = length;
}else if(length>length_highest){
length_highest = length;
}
std::cout << "The highest length is " << length_highest << ".\n";
std::cout << "The lowest length is " << length_lowest << ".\n";
}
}
然后,本书要求我修改程序,以便它也接受长度为cm,m,ft和AND的单位,以考虑转换因子。因此,如果用户输入10厘米,然后输入1英寸,则程序必须知道10厘米> 1英寸。 1英尺。程序必须存储它并使用与其对应的正确单元显示它。
我在过去3天左右一直试图写这个,而且我的所有方法都失败了,所以我想继续阅读这本书。
任何建议都有帮助。
答案 0 :(得分:1)
由于这是一个练习,我不会直接回答代码解决方案。
首先,因为您需要知道哪个数字与哪个单位一致。您必须存储每个数字。
您可以将所有数字存储在包含2个元素,数字和单位的数组中。为此,只需解析输入。
然后,因为你必须在你的数组中检索你的元素。不应将长度存储为maxLength,而应将索引存储在数组中作为maxIndex存储。
然后一切都很简单,你知道如何从cm转换为英寸(基本数学),你知道如何用它们的单位检索最大长度和最小长度。
另一条帮助你的建议就是你应该发挥作用。简单而小巧的功能。 你可以做的功能的想法:
还有其他方法可以做到这一点,它只是一个