首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

不输入数据时,程序就结束,该如何做?不要用cin>>a这样的语句

2013-03-12 
不输入数据时,程序就结束,该怎么做?不要用cina这样的语句求帮忙啊啊啊 啊啊啊 !!![解决办法]好怪的需求

不输入数据时,程序就结束,该怎么做?不要用cin>>a这样的语句
求帮忙啊啊啊 啊啊啊 !!!
[解决办法]
好怪的需求啊,不懂
[解决办法]
异步IO+定时器
[解决办法]
#include<iostream>
#include<fstream>
using namespace std;
enum {score_count=7,namelength=30};
struct singerInfo{
  double score_by_Judge[score_count];
  char name[namelength+1];//namelength+1
  double ratescore;  
};

double calcScore(singerInfo& singer)
{ double minscore=singer. score_by_Judge [0];
  double maxscore=singer. score_by_Judge [0];
  double sum =singer. score_by_Judge [0];
  for(i=1;i<score_count;i++)
  {if(singer. score_by_Judge [i]<minscore)minscore=singer. score_by_Judge ;
   else if   (singer. score_by_Judge [i]>maxscore)maxscore=singer. score_by_Judge ;
   sum+= singer. score_by_Judge [i];
                
  }
  if(score_count<2)return singer.ratescore = sum;
  if(score_count==2)return singer.ratescore = sum/2;
  return singer.ratescore = (sum-minscore-maxscore)/(score_count-2);   
}
istream& LoadSingerInfo(istream &is,singerInfo& singer)
{
    for(i=0;i<score_count;i++)is>>singer. score_by_Judge[i];
    is.getline( singer.name,namelength);
    return is;           
}
ostream& StoreSingerScore(ostream &os,const singerInfo& singer)
{
   os<<singer.name<<" "<<setprecision(2)<<singer.ratescore<<endl;
   return os;           
}


int main()
{
  ifstream ifs("Juge.txt",ios::in);
  ofstream ofs("Score.txt",ios::out
[解决办法]
ios::trunc);
  if(!ifs){cout<<"error Cannot Open intput file"<<endl;return -1;}
  if(!ofs){cout<<"error Cannot Open Output file"<<endl;return -2;}
   
  singerInfo singer;
  while(!ifs.eof())
  {
     LoadSingerInfo(ifs,singer);
     calcScore(singer);
     StoreSingerScore(os,singer);       
  }
  return 0;
}
 LoadSingerInfo(ifs,singer);
StoreSingerScore(os,singer);       
可以考虑 实现为 operator>>() ,operator<<();

热点排行