非常简单的功能,我无法执行
Very simple function I can't execute
我是一名学生,我正在尝试编写一个函数,如果我输入元音,则返回"true",如果我输入辅音,则返回"false"。
这是我写的:
#include <iostream>
using namespace std;
int main()
{
bool isVowel(char x);
}
bool isVowel(char x)
{
cout << "Enter a letter" << endl;
cin >> x;
if (x == 'a', 'e', 'i', 'o', 'u')
return true;
else
return false;
}
我用 g++ isvowel.cpp-o isvowel 编译,显然没有错误,但后来我尝试使用 ./isvowel 执行并且没有发生。怎么了?
您的 if 相等比较不起作用。正如 Sam 在评论中所说,您需要巧妙地将 x 与每个值进行比较。
bool isVowel(char x)
{
// The if is not really needed here since you can
// just return the result of the comparison
if (x == 'a' || x == 'e' || x == 'i' || x == 'o' || x == 'u') {
return true;
}
else {
return false;
}
}
调用此方法:
std::cout << "Input character" << std::endl;
char x;
std::cin >> x;
bool vowel = isVowel(x);
std::cout << "Is vowel: " << vowel << std::endl;
逗
号不是你认为的那样工作(上面已经解释过了),但什么都没有发生的原因是因为你没有真正调用isMoowel函数。代码
bool isVowel(char x);
定义一个新函数,该函数隐藏要调用的函数。要完成这项工作,您需要正确调用该函数,即
isVowel('x'); // or, better, isVowel(), as I'll explain below
并将 isMoowel 函数定义移到 main 上方,否则它在 main 中将不可见。第三件事是,您传递给函数的"char x"参数实际上并没有执行任何操作,因为您用 cin>> x 覆盖它;您可能希望使用不带参数的方法。最后,如果你想看到结果,你需要把它打印到屏幕上。因此,为了将其放在一起,您的代码应如下所示:
#include <iostream>
using namespace std;
bool isVowel()
{
cout << "Enter a letter" << endl;
char x;
cin >> x;
if (x == 'a' || x == 'e' || x == 'i' || x == 'o' || x == 'u')
return true;
else
return false;
}
int main()
{
bool b = isVowel();
cout << b << endl;
}
或者,如果您愿意,
#include <iostream>
using namespace std;
bool isVowel(char x)
{
if (x == 'a' || x == 'e' || x == 'i' || x == 'o' || x == 'u')
return true;
else
return false;
}
int main()
{
cout << "Enter a letter" << endl;
char x;
cin >> x;
bool b = isVowel(x);
cout << b << endl;
}
相关文章:
- 简单C++"Hello World"程序的执行时间长
- 来自简单循环的 OpenAcc 错误:内核执行期间的非法地址
- 如何直接在安卓设备上作为可执行文件运行简单的 c++ 程序?
- 从命令提示符使用 MSBuild 调试简单的C++可执行文件
- 如何在特征中对二维数组的列执行简单的算术运算
- 无法与exe一起执行简单的Shell Script/Commonads
- 使用 QT 创建器通过树莓派上的 Wifi 执行简单的终端命令
- 优化一个简单的方程式,用于C 中的执行速度
- Q无法执行简单的控制台程序
- 在垫子矩阵上执行简单的逆和乘法操作
- 在Windows上编译器/执行汇编程序的最简单方法
- 如何使用 CreateProcess 执行简单的命令行
- 无法使用WSO2(Axis2c)执行简单的SOAP操作
- "No such file or directory" 使用 makefile 时在 c++ 中执行简单 fstream 时出错
- 测量时间以执行简单的指令
- 在终止/非活动会话上执行简单查询需要几分钟时间
- 如何加载加载win32 dll和执行简单的winapi与firebreath
- 如何执行简单缩放到曼德布洛特集
- 无法使用opencv执行简单程序,错误"Can't find the entry point of the procedure"
- 是一个std::vector查找,比执行简单操作要快