You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++多if else分支程序跳过动物输入环节问题排查求助

C++代码问题排查

错误原因

  • 缺少用户输入读取逻辑:你在输出动物询问、定义animal变量后,没有编写任何输入读取语句,程序直接使用animal的栈内存随机初始值执行判断,自然不会等待用户输入。
  • 变量类型不匹配:char类型仅能存储单个字符,cat/dog属于多字符字符串,必须改用std::string类型存储动物名称。
  • 语法使用错误:C++中单引号仅可包裹单个字符,字符串必须使用双引号包裹,'cat'属于非法的多字符字符常量,无法正常匹配字符串内容。

修复后的完整代码

#include <iostream>
#include <string>
using namespace std;

int main()
{
    // 定义元音字母变量
    char letter;
    
    // 请求输入小写元音
    cout << "Give me a lowercase vowel - ";
    cin >> letter;
        
    // 元音校验
    if  (letter=='a' || letter=='e' ||  letter=='i' || letter=='o' || letter=='u' || letter=='y' )
    {
        cout << "Thank you! " << endl;
    }
    else if  (letter=='A' || letter=='E' ||  letter=='I' || letter=='O' || letter=='U' || letter=='Y' )
    {
        cout << "Your stupid .... I said lowercase vowel.  " << endl;
    }
    else 
    {
        cout <<  "Error Not A Vowel " << endl;
    }
            
    // 询问最喜欢的动物
    cout << "what is your favorite animal? " << endl;
    // 定义字符串类型存储动物名称
    string animal;
    // 新增输入读取语句
    cin >> animal;
    
    // 动物判断逻辑
    if  (animal == "cat" || animal == "Cat" || animal == "dog" || animal == "Dog" )
    {
        cout << " Omg I love that tooo!!! " ;
    }
    else  
    {
        cout << "Oh.. Thats your favorite animal ";
    }
    
    // 后续大写字母输入逻辑可在此处补充
        
    // 程序结束
    cout << endl << endl;
    system("pause");
    return 0;
}

内容的提问来源于stack exchange,提问作者ONION

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 09:18:03