C++If Else语句问题

C++ If Else statement Problems

本文关键字:问题 语句 Else C++If      更新时间:2023-10-16

我的代码包含一个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;
}

很抱歉这篇糟糕的帖子!

if ( [...] )-缺少括号。

此外,它是&&而不是and

我认为您来自python背景

cout << "Your word: " << szOriginal << "n";
if (szOriginal.length() > 0 && (isalpha(szOriginal)) )
{
    szWord = szOriginal.tolower();
    cout << szWord << "n";
}
else
{
    cout << "Please enter a valid word." << endl;
}

if条件周围需要( ),并使用&&进行逻辑和

编辑
当您说isalpha(szOriginal)时,您使用的是szOriginal作为char当你说szWord = szOriginal.tolower();时作为一个对象因此您还需要研究