if, else if, else 函数未准确显示结果
if, else if, else function isn't accurately displaying results
#include <iostream>
using namespace std;
// prototype functions
void DisplayResult(float MaxOrMin);
float FindMinimum(float Array[5]);
float FindMaximum(float Array[5]);
//Global Variables
float Array[5];
float MaxOrMin = 3;
float FindMin;
float FindMax;
//Main Function
int main()
{
cout << "Please enter 5 numbers: " << endl;
for (int i=0; i<5; i++)
{
cin >> Array[i]; // input for array
}
cout << "Please enter '0' for minimum or '9' for maximum:" << endl;
cin >> MaxOrMin; // input 0 or 9 for min or max
//Calling Functions
FindMinimum(Array);
FindMaximum(Array);
DisplayResult(MaxOrMin);
return 0;
}
//Function to find Minimum
float FindMinimum(float Array[5])
{
float FindMin = Array[0];
for (int y=1;y<5;y++)
{
if(Array[y] < FindMin)
FindMin = Array[y];
}
return FindMin;
}
//Function to find Maximum
float FindMaximum(float Array[5])
{
float FindMax = Array[0];
for (int x=1;x<5;x++)
{
if(Array[x] > FindMax)
FindMax = Array[x];
}
return FindMax;
}
最后一部分是我的如果,否则如果,否则功能:
//Function to display minimum or maximum result
void DisplayResult(float MaxOrMin)
{
if (MaxOrMin == 0)
cout << "Minimum is: " << FindMin << endl;
else if (MaxOrMin == 9)
cout << "Maximum is: " << FindMax << endl;
else
cout << "Invalid Input" << endl;
}
我的项目是使用函数创建一个程序,以在 5 浮点数组上获取用户输入。然后找到最大值和最小值并显示用户要求的任何值。
这就是我的问题所在。对于最大值(输入 9(和最小值(输入 0(,我得到"0"。但是,任何其他输入都会正确返回我的"无效输入"消息。
我在日食上根本没有收到任何错误、警告或错误。我的教授告诉我,我的问题可能是我的空白函数显示结果。我希望有人能在这里为我指出正确的方向。
为我的格式和/或这个问题对于本网站来说太基本了,我们深表歉意。
你误解了局部变量和全局变量的工作原理。您的 Find* 函数用局部变量遮蔽全局变量,因此它们似乎不执行任何操作。
问题是您的FindMinimum()
(与FindMaximum()
相同(函数计算局部变量中的最小值(最大值(并返回它,但您main()
没有在正确的变量中接收它们
因此,计算值将丢失。
我的意思是。。。而不是
FindMinimum(Array);
FindMaximum(Array);
你应该写
FindMin = FindMinimum(Array);
FindMax = FindMaximum(Array);
相关文章:
- 我的简单if-else语句是如何无法访问的代码
- 如何删除peer if else分支中的冗长句子
- 我似乎对if/else的基本语句有问题:/
- 使用if-else将数字转换为单词
- 为什么这个案例陈述需要一个"if else"而不仅仅是一个"if"?
- C++ If/Else 语句被跳过
- 如果条件不相关,我应该更喜欢两个 if 语句而不是 if-else 语句吗?
- 如何将 if else 语句重写为 switch 语句
- 在 C++ 中的 if-else if- else 语句期间更改变量
- 为什么我的 if else 语句不起作用并从数组中输出正确的索引?
- 我的 If Else 语句无法在向量 (C++) 中提供最大值
- 具有嵌套 if-else 的循环的时间复杂度
- 为什么无论输入如何,所有 if-else 语句都会打印?
- 简化对两个布尔值的 4 个 if/else 检查
- 如何在C++中创建 if else 循环而不是多个嵌套?
- 为什么切换 if else 语句的顺序会导致错误?
- 如何使用 if else 语句
- if/else 语句输出由于加号或减号而未显示正确的消息
- 如何解释 #if/#else 位域?(VC++菜鸟)
- if-else 语句仅按特定顺序工作,我不知道为什么