64,654
社区成员
发帖
与我相关
我的任务
分享
#include <iostream.h>
int main()
{
int month,day;
int allday = 0;
int daymax;
cout << "请输入月份:" << endl;
cin >> month;
while (1)
{
if (month>9 || month<1)
{
cout << "输入月份不对,请重新输入:" << endl;
cin >> month;
}
else
break;
}
switch(month)
{
case 1:
daymax = 31;
break;
case 2:
daymax = 29;
allday = 31;
break;
case 3:
daymax = 31;
allday = 60;
break;
case 4:
daymax = 30;
allday = 91;
break;
case 5:
daymax = 31;
allday = 121;
break;
case 6:
daymax = 30;
allday = 152;
break;
case 7:
daymax = 31;
allday = 182;
break;
case 8:
daymax = 31;
allday = 213;
break;
default:
daymax = 30;
allday = 244;
}
cout << "请输入日期:" << endl;
cin >> day;
while (1)
{
if (day>daymax || day<1)
{
cout << "输入日期不对,请重新输入:" << endl;
cin >> day;
}
else
break;
}
allday += day-1; //注意此处应该减 1
cout << "总天数为:" << allday;
}
#include "stdafx.h"
#include <iostream>
#include <time.h>
using namespace std;
int main(int argc, char* argv[])
{
int yy, mm, dd;
cout<<"请输入年份:";
cin>>yy;
cout<<"请输入月份:";
cin>>mm;
cout<<"请输入日期:";
cin>>dd;
yy-=1900;
mm--;
tm t1 = { 0, 0, 0, 1, 0, 108};
tm t2 ;
t2.tm_year = yy;
t2.tm_mon= mm;
t2.tm_mday = dd;
t2.tm_hour = 0;
t2.tm_min = 0;
t2.tm_sec = 0;
std::cout << ((mktime(&t2) - mktime(&t1))/(24*60*60))+1 << std::endl;
return 0;
}
int YearMon(int year,int mon)
{
int mday=0;
switch(mon)
{
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
mday=31;
break;
case 2:
if(year%4 ==0 && year%100 != 0 || year%400==0)
{
mday=29;
}
else
{
mday=28;
}
break;
case 4: case 6: case 9: case 11:
mday=30;
break;
}
return mday;
}
#include<stdio.h>
#include<string.h>
#include<conio.h>
struct months{
char name[10]; /*月份名 */
char abbrev[4]; /*月份缩写 */
int days; /*月份天数*/
char monumb[3]; /*月份号*/
}mon[12]={{"January","Jan",31,"1"},{"February","Feb",28 ,"2"},{"March","Mar",31,"3"},
{"April", "Apr", 30, "4"},{"May", "may", 31, "5"},{"June", "Jun", 30, "6"},
{"July","Jul",31,"7"},{"August", "Aug", 31, "8"},{"September", "Sep", 30, "9"},
{"October", "Oct", 31, "10"},{"November","Nov", 30 ,"11"},{"December","Dec",31,"12"}};
int func(int day,char m[],int year)
{
int s=0,i,j,n;
if( ((year%4 == 0) && (year%100 != 0)) || (year%400 == 0) )
{
mon[1].days=29;
}
for(i=0; i<12; i++)
{
if(strcmpi(mon[i].name,m)==0 ||
strcmpi(mon[i].abbrev,m)==0 ||
strcmpi(mon[i].monumb,m)==0)
{
n=i;
//printf("i=%d\n",i);
break;
}
}
for(j=0; j<n; j++)
{
s+=mon[j].days;
}
s+=day;
return s;
}
void main()
{
int sum,day,year;
char m[20];
printf("用户键入日号:\n");
scanf("%d",&day);
printf("用户键入月:月份可以是月份号、月份名或月份缩写:\n");
scanf("%s",m);
printf("用户键入年:\n");
scanf("%d",&year);
sum=func(day,m,year);
printf("当前输入的日号是%d年的第%d天",year,sum);
getch();
}
/*
result:
用户键入日号:
3
用户键入月:月份可以是月份号、月份名或月份缩写:
10
用户键入年:
2008
当前输入的日号是2008年的第277天
*/