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

新手求教,程序没有检测出异常,但运行老出错。

2012-09-14 
新手求教,程序没有检测出错误,但运行老出错。。。。下面是程序:#includeiostream#includestringint main()

新手求教,程序没有检测出错误,但运行老出错。。。。
下面是程序:
#include<iostream>
#include<string>
int main()
{
  using namespace std;
  struct pat{
  string name;
  double money;
  };
  int n;
  cout<<"Please enter the number of patrons: ";
  cin>>n;
  cin.get();

  pat * pc=new pat[n];
  for(int i=0;i<n;i++)
  {
  cout<<"Please enter the name: ";
  getline(cin,pc[i].name);
  cout<<"Please enter the money: ";
  cin>>pc[i].money;
  cin.get();
  }
  int number=0;
  cout<<"Grand patrons :"<<endl;
  for(int i=0;i<n;i++)
  {
  if(pc[i].money>10000)
  {
  cout<<pc[i].name<<endl;
  number++;
  }
  }
  if(number==0)
  cout<<"None"<<endl;
  number=0;
  cout<<"Patrons :"<<endl;
  {
  for(int i=0;i<5;i++)
  if(pc[i].money<10000)
  {
  cout<<pc[i].name<<endl;
  number++;
  }
  }
  if(number==0)
  cout<<"None"<<endl;
  delete [] pc;

  return 0;

}



求大神指教。。。

[解决办法]
for(int i=0;i<5;i++)把这儿的i < 5;改成i < n;就没问题了。如果测试者输入的数据个数小于5个,那么是不是会有溢出的可能性呢,我想不是可能,应该一定会的。

热点排行