标题:菜鸟问题!cin未被执行!
取消只看楼主
sudong0913
Rank: 1
等 级:新手上路
帖 子:38
专家分:5
注 册:2009-4-15
结帖率:76.92%
 问题点数:0 回复次数:5 
菜鸟问题!cin未被执行!
#include<vector>
#include<algorithm>
#include<iostream>
using namespace std;
void main()
{
    cout<<"请输入数据!"<<endl;
    double x;
    vector<double> data;
    while (cin>>x)
    {
        data.push_back(x);
    }
    int m=data.size(),n=0;
    if (m==0)
    {
        throw domain_error("数据不能为空!");
    }
    else
    {
        double number;
        cout<<"请输入你要找的数!"<<endl;
        cin>>number;                         //此处未被执行!!
        for (int i=0;i<m ;i++)
        {
            if (number==data[i])
            {
                n++;
            }
        }
        if (n==0)
        {
            cout<<"没有你要找的数"<<endl;
        }
        else
        {
        cout<<number<<"有"<<n<<"个"<<endl;
        }
    }
}
请高手指教!!!有bug待完善!!
搜索更多相关主题的帖子: cin 
2010-08-30 16:15
sudong0913
Rank: 1
等 级:新手上路
帖 子:38
专家分:5
注 册:2009-4-15
得分:0 
回复 3楼 toadswan
不行!!
崩溃了!

[ 本帖最后由 sudong0913 于 2010-8-30 18:43 编辑 ]
2010-08-30 18:42
sudong0913
Rank: 1
等 级:新手上路
帖 子:38
专家分:5
注 册:2009-4-15
得分:0 
回复 6楼 ToBeOOP
依然被跳过!!!
2010-08-30 18:46
sudong0913
Rank: 1
等 级:新手上路
帖 子:38
专家分:5
注 册:2009-4-15
得分:0 
回复 7楼 toadswan
我用的是EditPlus~~你的是?
2010-08-30 18:49
sudong0913
Rank: 1
等 级:新手上路
帖 子:38
专家分:5
注 册:2009-4-15
得分:0 
回复 16楼 pangding
要输入两次ctrl+z才能被执行~~~
当输入字符时依然被跳过~~
求教~~~
2010-09-01 09:04
sudong0913
Rank: 1
等 级:新手上路
帖 子:38
专家分:5
注 册:2009-4-15
得分:0 
已经解决~~
cin.clear();只是清楚了流的错误标记~~~没有清空输入缓冲区~~
在后面加个cin.sync();清空输入缓冲区的所有数据就完美解决了~~
//////////////////////////////////////////////////////////////////////
#include<vector>
#include<algorithm>
#include<iostream>
using namespace std;
void main()
{
    cout<<"请输入数据!"<<endl;
    double x;
    vector<double> data;
    while (cin>>x)
    {
        data.push_back(x);
    }
///////////////////////////////
     cin.clear();
     cin.sync();
//////////////////////////////
    int m=data.size(),n=0;
    if (m==0)
    {
        throw domain_error("数据不能为空!");
    }
    else
    {
        double number;
        cout<<"请输入你要找的数!"<<endl;
        cin>>number;
        for (int i=0;i<m ;i++)
        {
            if (number==data[i])
            {
                n++;
            }
        }
        if (n==0)
        {
            cout<<"没有你要找的数"<<endl;
        }
        else
        {
        cout<<number<<"有"<<n<<"个"<<endl;
        }
    }
}

2010-09-01 15:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-317207-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.116601 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved