当前位置: 首页 > 知识库问答 >
问题:

在C++中选择选项2时不显示输出

傅英喆
2023-03-14

所以当我在选项1中输入我的输入后,我选择继续。我的输入信息在选择选项2时消失了。我刚开始我的编程课程,所以请给我很多建议。这是这里的输出输入图像描述

struct Human
{
    string name;
    string foods;
    string date;

};

char option;

int main()
{
    do
        {
            int user;
            cout << "You" <<endl;
            cout << "\nChoose one from the menu below" <<endl;
            cout << "1 Enter information" <<endl;
            cout << "2 See information stored" <<endl;
            cout << "\nEnter your option" <<endl;
            cin >> user;
           Human me;
            switch(user)
            {
            case 1:
                {
                    cin.ignore(100, '\n');
                    cout << "\nEnter your name: ";
                    getline(cin, me.name, '\n');
                    cout << "Enter your favorite foods: ";
                    getline(cin, me.foods, '\n');
                    cout << "Enter your birthday: ";
                    getline(cin, me.date, '\n');
                    break;
                }
            case 2:
                {
                    cin.ignore(100, '\n');
                    cout << "Your name is: " << me.name<<endl;
                    cout << "Your favorite foods are: " <<me.foods<<endl;
                    cout << "Your birthday is: " <<me.date<<endl;
                    break;
                }
            }
            cout << "\nDo you wish to continue?" <<endl;
            cout << "Enter 'y' to continue and 'n' to exit" <<endl;
            cout << "Your choice:";
            cin >> option;
        }while(option == 'y');

    return 0;
}

共有1个答案

鄢英毅
2023-03-14

在do-while循环的每次迭代中都创建一个新的human me;。当您在一次迭代中读取ME的输入时,下一次迭代中的ME将不会知道这一点。

阅读“作用域”,将声明human me;移到循环之外可能会达到您所期望的效果。

 类似资料:
  • 问题内容: 好的,一段时间以来,我一直在寻找答案,但我遇到的所有问题(甚至在搜索javascript时)都与jQuery结合在一起!没人再使用普通的javascript吗?!? 因此,我想要一个下拉列表(使用多个选项进行选择)。选择某个选项后,我希望显示一个隐藏的div。 然后,我尝试使用以下JavaScript代码: 我猜我的问题出在选项中的onClick触发器上,但是我不确定还有什么用?或者,

  • 我使用此代码在表单中设置select。 我检查时的html部分似乎具有适当的值,并将文本放在那里。 但是在屏幕上,选择框是空的,不显示文本。 我也试图将文本放在跨度选项中,但它也不起作用

  • 我有两个<代码> 当用户从第一个选择框中选择一个值时,我希望第二个选择框只显示连接的值。 我的代码: 因此,当用户从第一个选择框M中选择“test1”时,他在第二个选择框上只会看到“test2”、“test3”和“test4”;第一个框中的“test2”将在第二个框中显示“test6”、“test7”和“test8”。 如何使用JavaScript解决此问题?

  • 我正在使用引导datetimepicker库使用日历选择日期。现在,由于需求变化,我还需要选择时间和日期。 在新变化之前,我使用下面的代码在文本字段上显示日历: 通过上面的代码,日历显示正常,一切正常。 为了显示时间选项,我刚刚更改了如下格式: 但使用这种方式,只显示时间选项,不显示日历。请看我附带的屏幕截图: 单击此处查看问题屏幕截图 我正在使用以下库来使用日历: https://cdnjs.c

  • 这是一个ASP。NET应用程序,在后面的代码中使用C#。我可以在下拉列表中添加背景颜色,但是当我选择时,颜色在Chrome或IE 11中不存在。在IE 9中工作正常。 到目前为止我做了什么(从so上的另一个问题得到提示): 将添加到我的DropDownList。但不知道现在该怎么做才能保留颜色。 SelectedItemCLR函数(来自SO中的另一个问题)如下所示: 这更像是我必须忍受的浏览器问题

  • 问题内容: 我用。字段之一是: 我需要更改其显示类型。我不想在显示中使用(或在Python 2中),而是要显示曲目的名称和日期。 我该怎么做? 问题答案: 子类并重写以返回曲目名称和日期。然后在中使用新字段。