【发布时间】:2013-12-07 20:46:15
【问题描述】:
我的代码包含一个 If Else 语句。我希望它在两件事上验证用户输入放入脚本的字符串:
- 字符串长度必须大于0
- 字符串必须由字母字符组成
以下是我的代码,我认为错误与字符串代码的长度有关。
编辑前:
cout << "Your word: " << szOriginal << "\n";
if szOriginal.length() > 0 and (isalpha(szOriginal))
{
szWord = szOriginal.tolower();
cout << szWord << "\n";
}
else
{
cout << "Please enter a valid word." << endl;
}
对不起,Dev-C++ 产生的错误是
“szOriginal”之前的预期'('
打印屏幕链接:http://gyazo.com/b3f43928072e9c2a5a8a712a9030364d
使用变量声明等编辑后:
#include <cstdio>
#include <cstdlib>
#include <string>
#include <iostream>
using namespace std;
int main(int nNumberofArgs, char* pszArgs[])
{
string original;
cout << "Welcome to the English to Pig Latin translator!\n";
cout << "Type a word you wish to translate:\n";
cin >> original;
cout << "Your word: " << original << "\n";
if (original.length() > 0 && (isalpha(original)) )
{
word = original.tolower();
cout << Word << "\n";
}
else
{
cout << "Please enter a valid word." << endl;
}
system("PAUSE");
return 0;
}
很抱歉这篇糟糕的帖子!
【问题讨论】:
-
生成SSCCE 并发布完整错误。
-
什么错误?你真的错过了
if子句周围的( )吗? -
缺少括号
( ) -
另外,如果没有看到声明,我会假设您的“字符串”变量实际上是
char []基于名称。这也是错误的,对于具有方法的 C++ 字符串,您需要std::string(但没有有.tolower()。 -
另请参阅如何使用
isAlpha-- 它不适用于字符串。
标签: c++ if-statement syntax