读书人

计算输入日期在一年中第几天的有关问题

发布时间: 2012-03-17 19:06:27 作者: rapoo

计算输入日期在一年中第几天的问题
#include <iostream>
using namespace std;
int get_date(int yy,int mm,int dd)
{
int yy,mm,dd;
cout < < "Input the date: "\n ";
cin> > yy> > mm> > dd;
return;
}
void diplay_runnian(int mm,int dd) //定义闰年计算方法
{
int Total;
switch(int mm)
{
case 12:
Total=335+dd;
break;
case 11:
Total=305+dd;
break;
case 10:
Total=274+dd;
break;
case 9:
Total=223+dd;
break;
case 8:
Total=212+dd;
break;
case 7:
Total=181+dd;
break;
case 6:
Total=151+dd;
break;
case 5:
Total=120+dd;
break;
case 4:
Total=90+dd;
break;
case 3:
Total=59+dd;
break;
case 2:
Total=31+dd;
break;
case 1:
Total=dd;
break;
cout < <Total;
}
}

void diplay_feirunnian(int mm,int dd)//定义非闰年计算方法
{
int Total;
switch(int mm)
{
case 12:
Total=334+dd;
break;
case 11:
Total=304+dd;
break;
case 10:
Total=273+dd;
break;
case 9:
Total=222+dd;
break;
case 8:
Total=211+dd;
break;
case 7:
Total=180+dd;
break;
case 6:
Total=150+dd;
break;
case 5:
Total=119+dd;
break;
case 4:
Total=89+dd;
break;
case 3:
Total=60+dd;
break;
case 2:
Total=31+dd;
break;
case 1:
Total=dd;
break;
cout < <Total;
}
}

int main()
{
get_date();
if(((yy/4==0)&&(yy/100!=0)||(yy/400==0))
dispay_runnian();
else
display_feirunnian();
return 0;
}
这个是我今天想了很久写的,水平有限,不知道到底怎么错了
比较简单的实现计算输入日期,要求计算它是这一年第几天的问题。

[解决办法]
#include <iostream>
using namespace std;
int yy,mm,dd;
int get_date( )
{

cout < < "Input the date:\n ";
cin> > yy> > mm> > dd;
//return;
}
void display_runnian() //定义闰年计算方法
{
int Total;
switch(mm)
{
case 12:
Total=335+dd;
break;
case 11:
Total=305+dd;
break;
case 10:
Total=274+dd;
break;
case 9:
Total=223+dd;
break;
case 8:
Total=212+dd;
break;
case 7:
Total=181+dd;
break;
case 6:
Total=151+dd;
break;
case 5:
Total=120+dd;
break;
case 4:
Total=90+dd;
break;
case 3:
Total=59+dd;
break;
case 2:
Total=31+dd;
break;
case 1:
Total=dd;
break;

}
cout < <Total;
}

void display_feirunnian()//定义非闰年计算方法
{
int Total;
switch( mm)
{
case 12:
Total=334+dd;
break;
case 11:
Total=304+dd;
break;
case 10:
Total=273+dd;
break;
case 9:
Total=222+dd;
break;
case 8:
Total=211+dd;


break;
case 7:
Total=180+dd;
break;
case 6:
Total=150+dd;
break;
case 5:
Total=119+dd;
break;
case 4:
Total=89+dd;
break;
case 3:
Total=60+dd;
break;
case 2:
Total=31+dd;
break;
case 1:
Total=dd;
break;

}
cout < <Total;
}

int main()
{
get_date();
if( (yy/4==0)&&(yy/100!=0)||(yy/400==0))
display_runnian();
else
display_feirunnian();
return 0;


}
---------------------------------------------------
错误多的我都懒得一个个指出了
自己看吧
按照你的思路改了下
gcc下运行成功
[解决办法]
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31}
int b[12]={31,29,31,30,31,30,31,31,30,31,30,31}
[解决办法]
cout < <Total;
应放在
switch(int mm)
{
}
外面

读书人网 >C++

热点推荐