用于检查尺寸值及其内容的函数
Function to check dimension value and what it is
我正在尝试编写一个程序,检查矩形的维度是否大于零。在void函数Check中,我尝试使用数组来检查值,并使用字符串来显示用户错误的维度。我得到一个错误,它"无法将参数1从'double[6]'转换为'double'。
#include <iostream>
#include <string>
using namespace std;
void Check(double, string);
int main()
{
const int size = 3;
double DimArray[size];
string MyArray[size] = { "Height", "Length", "Width"};
cout << "Enter the height, length and width of rectangle: ";
cin >> DimArray[0] >> DimArray[1] >> DimArray[2];
Check(DimArray, MyArray);
return 0;
}
void Check(double arr1[], string arr2[])
{
int i;
for (i = 0; i < 4; i++)
{
if (arr1[i] <= 0)
cout << "Your entered " << arr2[i] << "is less than zero!";
cout << "Please enter a valid number --> ";
cin >> arr1[i];
}
}
您应该正确地声明函数。代替
void Check(double, string);
应该有
void Check( double[], const std::string[], size_t );
也代替了功能体中的循环
for (i = 0; i < 4; i++)
必须有
for (i = 0; i < 3; i++)
该功能可以定义为
void Check( double arr1[], const std::string arr2[], size_t n )
{
for ( size_t i = 0; i < n; i++ )
{
while ( arr1[i] <= 0 )
{
std::cout << "Your entered " << arr2[i] << "is not positive!n";
std::cout << "Please enter a valid number --> ";
std::cin >> arr1[i];
}
}
}
或者,如果您要定义文件范围的常量
const size_t SIZE = 3;
那么函数定义(以及相应的声明)可以简化
void Check( double arr1[], const std::string arr2[] )
{
for ( size_t i = 0; i < SIZE; i++ )
{
while ( arr1[i] <= 0 )
{
std::cout << "Your entered " << arr2[i] << "is not positive!n";
std::cout << "Please enter a valid number --> ";
std::cin >> arr1[i];
}
}
}
此外,最好定义一个const char *
数组,而不是std::string数组
const char * MyArray[size] = { "Height", "Length", "Width"};
因为据我所知,你不会改变它。
由于您的原型需要类型double
,而您正在传递double arr1[]
。。
更改原型:
void Check(double, string);
至:
void Check(double arr1[], string arr2[])
相关文章:
- C++模板来检查友元函数的存在
- 检查函数返回类型是否与STL容器类型值相同
- 文本 RPG - 使用函数检查有效的输入
- 如何使用斐波那契和递归函数检查矩形是否是黄金矩形?
- 使用函数检查数字是素数、偶数还是奇数
- 给定一个创建的带有货物的链表,我需要使用函数检查实际序列或"train"是否有效
- 编写一个函数,用递归函数检查数字是否是正方形
- 如何使O(n)的函数检查字母(上和下)和()+-*/到尾递归?
- 寻找一种更有效的方法来使用 STL 函数检查字符串是否为回文
- 在矩阵C 中使用Bool函数检查重复数字
- 通过函数检查数组的大小
- 如何使用 testBit 函数检查二进制数组中的特定索引位
- 布尔函数检查特定的字符串要求
- 函数检查整数类型是否适合可能不同(整数)类型的值
- 函数检查出边界/分割故障在二维循环
- QMap函数:检查是否包含isbn号
- 函数检查字符串是否为int型
- 为什么CString(LPCTSTR lpsz)构造函数检查lpsz的高两个字节
- 字符类型的函数检查值
- 成员函数检查:用c++ 11特性实现编译时检查