| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 824 人关注过本帖
标题:请大家帮帮忙.看看我写的一个小程序
只看楼主 加入收藏
peterpan1977
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-3-23
收藏
 问题点数:0 回复次数:2 
请大家帮帮忙.看看我写的一个小程序

大家好,两天前发的贴子得到了朋友的回应,谢谢. 今天小弟有一个小程序想让大家帮帮忙程序如下 nclude<iostream.h> void ren() { int Y,d; if((Y%4==0&&Y%100!=0)||(Y%400==0)) d=29; d=28; } void mouthday(int Y, int M,int D ) { int d; if(M==2) ren(); else if((M<=7 && M%2!=0)||(M>7 && M%2==0)) d=30; d=31; } void main() { int y,m,d,mouth,d1,sumday(0); cout<<"please input year,mouth and day:"<<endl;

cin>>y>>mouth>>d1; for(m=1;m<mouth;m++) { for(m=1;m<mouth;m++)

mouthday(y,m,d); sumday+=d; } sumday+=d1; cout<<"sumday="<<sumday<<endl; } :以上是一段是: 输入相应的年,月,日,计算当天是一年中的第几天.但是当我输入M>1时,sumday的结果是一个负数,这个程序那里有错误,请指出.该怎么改? 请大家帮帮我.谢谢!

搜索更多相关主题的帖子: int mouth ren 
2005-03-26 15:57
地狱十八
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-3-24
收藏
得分:0 
for(m=1;m<mouth;m++) { for(m=1;m<mouth;m++) 这一句没用吧 mouthday(y,m,d); sumday+=d; }

[此贴子已经被作者于2005-3-27 8:26:01编辑过]

2005-03-26 18:35
terran
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-3-17
收藏
得分:0 
感觉楼主程序有点乱,稍微整理了一下,算法也做了一下改动:假设2月为30天,算出总天数后减2为实际天数;然后检查是否为润年,是则最后天数加1。程序如下:
#include &lt;iostream.h&gt;
bool run(int year)
{
 if ((year%4==0 &amp;&amp; year%100!=0)||(year%400==0))
  return true;
 return false;
}
int monthday(int year, int month)
{
 int day;
 if (month&gt;0)
 {
  if((month&lt;=7 &amp;&amp; month%2!=0)||(month&gt;7 &amp;&amp; month%2==0))
   day=31;
  else
   day=30;
 }
   return day;
}
void main()
{
 int i,y,m,d,sumday(0);
 cout&lt;&lt;"please input year,mouth and day:"&lt;&lt;endl;
 cin&gt;&gt;y&gt;&gt;m&gt;&gt;d;
 for(i=1;i&lt;m;i++)
 {
  sumday=sumday+monthday(y,i);
 }
 sumday=sumday+d-2;
 if (run(y))
  sumday=sumday+1;
 cout&lt;&lt;"sumday="&lt;&lt;sumday&lt;&lt;endl;
}

2005-03-28 19:31
快速回复:请大家帮帮忙.看看我写的一个小程序
数据加载中...
 
   



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

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