首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未格式化/格式化输入

未格式化/格式化输入
EN

Stack Overflow用户
提问于 2015-04-02 14:28:21
回答 1查看 65关注 0票数 0

工作一次后,循环不接受字符串菜单项的输入。但它对薄荷有效。

代码语言:javascript
复制
struct menuItemType
{
    char menuitem[30];
    float menuPrice;
};

void getdata( menuItemType menulist[], int items)
{
    for (int i = 0; i < items; i++)
    {
        cout<<"Please enter the menu item:"<<endl;
        cin.getline(menulist[i].menuitem,20,'\n');
        cout<<"Please enter the price for the menu item:"<<endl;
        cin>>menulist[i].menuPrice;
        cin.ignore;
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-02 14:36:13

实际上,您没有调用ignore,因为您缺少了参数列表括号:

代码语言:javascript
复制
cin.ignore();

只有当\n立即跟随输入时,这才能起作用。如果你想变得更安全,你可以:

代码语言:javascript
复制
cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');

它将丢弃所有直到并包含下一个\n字符的所有内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29415466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档