| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1188 人关注过本帖
标题:大家帮我看看是怎么回事,急!!!
只看楼主 加入收藏
flysky102
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2007-12-26
收藏
 问题点数:0 回复次数:16 
大家帮我看看是怎么回事,急!!!
我写了个记录一本书3年来每个月的销售情况,并且显示3年中每年的销售量和3年总的销售量,可是当程序运行到第2年的八月的时候程序就说出现了错误需要关闭,这是怎么回事呢?我用的是dev-c++编译器,下面是我的程序:
#include <iostream>
const int Years=3;
const int Months=12;
int main()
{ using namespace std;
  int years,months;
  int xs[years][months];
  long int book1=0;
  long int book2=0;
  long int book3=0;
  long int books;
  for(years=1;years<=Years;years++)
   { for(months=1;months<=Months;months++)
      {cout<<"请输入第"<<years<<"年第"<<months<<"月的销售量";
       cin>>xs[years][months];
        book1=book1+xs[1][months];
        book2=book2+xs[2][months];
        book3=book3+xs[3][months];
        books=book1+book2+book3;
        }
    }
   cout<<"第一年的销售量是:"<< book1;
   cout<<"第二年的销售量是:"<< book2;
   cout<<"第三年的销售量是:"<< book3;
   cout<<"三年总的销售量是:"<<books;
   system("pause");
   return 0;
}
搜索更多相关主题的帖子: 八月 include months 编译器 
2008-03-06 11:31
flysky102
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2007-12-26
收藏
得分:0 
55555,怎么还没人来帮帮我呢?

I think I could do better.
2008-03-06 11:46
hylhp
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2008-2-27
收藏
得分:0 
int xs[years][months];
  long int book1=0;
  long int book2=0;
  long int book3=0;
  long int books;
改为:
int xs[Years][Months];
  long int book1=0;
  long int book2=0;
  long int book3=0;
  long int books=0;试试看.
2008-03-06 11:50
flysky102
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2007-12-26
收藏
得分:0 
按你说的改了,虽然解决了刚才的问题,但是新问题又出来了,输入到第3年的第2月的销售量时就不停的要求我输入第3年第2月的销售量

I think I could do better.
2008-03-06 11:54
flysky102
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2007-12-26
收藏
得分:0 
还有个问题,我输入的检测数据都是一位数的,如果在要求输入第3年第2月的销售量时输入了2位以上的数那程序就一下子执行完毕了

I think I could do better.
2008-03-06 11:59
hylhp
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2008-2-27
收藏
得分:0 
应该是数组定义错了.
int xs[Years+1][Months+1];
2008-03-06 12:14
Waiting159
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-11-7
收藏
得分:0 
程序代码:
#include <iostream>
const int Years=3;
const int Months=12;
int main()
{ using namespace std;
  int years,months;
  int xs[Years][Months];
  long int book1=0;
  long int book2=0;
  long int book3=0;
  long int books;
  for(years=0;years<Years;years++)
  { for(months=0;months<Months;months++)
      {cout<<"请输入第"<<years + 1<<"年第"<<months + 1<<"月的销售量: ";
       cin>>xs[years][months];
       switch(years){
        case 0: book1=book1+xs[0][months];break;
        case 1: book2=book2+xs[1][months];break;
        case 2: book3=book3+xs[2][months];break;
        }
       }
  }
  books=book1+book2+book3;
   cout<<"第一年的销售量是:"<< book1 << endl;
   cout<<"第二年的销售量是:"<< book2 << endl;
   cout<<"第三年的销售量是:"<< book3<< endl;
   cout<<"三年总的销售量是:"<<books << endl;
   system("pause");
   return 0;
}
2008-03-06 12:18
flysky102
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2007-12-26
收藏
得分:0 
我把程序该成下面这样了,发现可以运行了,但是不知道为什么
int xs[Years][months];//把Months该成了months了
  double  book1=0;  //把int 改成double了
  double  book2=0;
  double  book3=0;
  double books=0;
为什么改成months就可以了呢?

I think I could do better.
2008-03-06 12:22
hylhp
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2008-2-27
收藏
得分:0 
楼主还是把课本上数组的定义和使用看看.自然就明白了
2008-03-06 12:28
flysky102
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2007-12-26
收藏
得分:0 
好的,我会看看的

I think I could do better.
2008-03-06 12:29
快速回复:大家帮我看看是怎么回事,急!!!
数据加载中...
 
   



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

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