C ++源代码错误 - 计算距离和总和的差异

时间:2016-01-24 14:45:48

标签: c++ compiler-errors repeat

该程序的目的是能够输入一组整数double值,并将其作为总和输出总距离。它还意味着识别最小和最大距离 - 以及计算两个或更多距离的平均值。

我还希望能够删除程序中重复的代码块,我已经将其复制以使源代码的第二部分工作。显然有一种方法可以删除复制 - 但我不知道如何。

这是来源:

(venv)c:\Users\username\Desktop\venv>.\Scripts\django-admin.py startproject test_project 

此外,我一直在尝试以“catch(runtime_error e)”之类的形式输入一小块源代码,但它需要某种声明,我不知道如何编译它没有错误。

帮助删除复制/重复的代码块以减少膨胀会很好 - 除此之外。

1 个答案:

答案 0 :(得分:0)

您应该结合这两个条件以避免重复该代码,而不是在if中包含while语句:

while ( (cin >> val) && (val > 0) )

此外,如果您希望第一次比较捕获min的第一个可能值,则需要将min初始化为最大值而不是零。

使用重复代码创建函数是一个通用的解决方案,在您的情况下不是一个好的选择,原因有二:首先,没有必要,因为将控制流组合起来更容易,更好没有必要在两个地方调用该代码。其次,重复代码中使用的局部变量太多,因此如果有理由将重复的代码转换为函数,那么良好的设计也需要将部分或全部局部变量收集到对象中。

如果它不是更清晰,更容易合并这两个条件,那么合并控制流比发明从两个地方调用的函数更好。你冷得用了:

if (val <= 0)
{
   break;
}