求一个用C语言写的小程序
查询当前日期是今年的阳历、阴历第几天,要求调用WIN7系统的内部时间……谢谢各位大神了!只有调用系统时间的那段也行啊...
查询当前日期是今年的阳历、阴历第几天,要求调用WIN7系统的内部时间……谢谢各位大神了!
只有调用系统时间的那段也行啊 展开
只有调用系统时间的那段也行啊 展开
3个回答
展开全部
不会写阴历,因为不懂,给你一个全年的
不好意思,没看清楚你的问题,是自己以前写的,你要是自己调用系统时间的话,就自己编写吧,那个我不会。
#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
#include<iomanip.h>
//处理年份
bool IsLeapYear(int year)
{
return ((year%400==0)||(year%100!=0&&year%4==0));
}
//处理天数
int YearStartDay(int year)
{
return ((year-1)*365+(year-1)/4)%7;
}
//处理月数
int GetMonthDay(int year,int month)
{
int monthcount[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(IsLeapYear(year))
monthcount[2]++;
return monthcount[month];
}
void main()
{
int year,month,day,start,startday;
cout<<"请输入年份:";
cin>>year;
cout<<endl;
startday=YearStartDay(year);
cout<<setw(18)<<year<<" "<<"的日历"<<endl;
cout<<endl;
for(month=1;month<=12;month++)
{
cout<<setw(18)<<month<<"月"<<endl;
cout<<"SUN"<<setw(6)<<"MON"<<setw(6)<<"TUE"<<setw(6)<<"WEN"<<setw(6)<<"THU"<<setw(6)<<"FRI"<<setw(6)<<"SAT"<<endl;
start=0;
while(start<startday)
{
start++;
}
cout<<setw(start*6)<<" ";
for(day=1;day<=GetMonthDay(year,month);day++)
{
start++;
startday++;
if((start-1)%7==0&&start!=1)
cout<<endl;
cout<<day<<setw(6);
if(startday%7==0)
startday=0;
}
cout<<endl;
cout<<endl;
}
}
不好意思,没看清楚你的问题,是自己以前写的,你要是自己调用系统时间的话,就自己编写吧,那个我不会。
#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
#include<iomanip.h>
//处理年份
bool IsLeapYear(int year)
{
return ((year%400==0)||(year%100!=0&&year%4==0));
}
//处理天数
int YearStartDay(int year)
{
return ((year-1)*365+(year-1)/4)%7;
}
//处理月数
int GetMonthDay(int year,int month)
{
int monthcount[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(IsLeapYear(year))
monthcount[2]++;
return monthcount[month];
}
void main()
{
int year,month,day,start,startday;
cout<<"请输入年份:";
cin>>year;
cout<<endl;
startday=YearStartDay(year);
cout<<setw(18)<<year<<" "<<"的日历"<<endl;
cout<<endl;
for(month=1;month<=12;month++)
{
cout<<setw(18)<<month<<"月"<<endl;
cout<<"SUN"<<setw(6)<<"MON"<<setw(6)<<"TUE"<<setw(6)<<"WEN"<<setw(6)<<"THU"<<setw(6)<<"FRI"<<setw(6)<<"SAT"<<endl;
start=0;
while(start<startday)
{
start++;
}
cout<<setw(start*6)<<" ";
for(day=1;day<=GetMonthDay(year,month);day++)
{
start++;
startday++;
if((start-1)%7==0&&start!=1)
cout<<endl;
cout<<day<<setw(6);
if(startday%7==0)
startday=0;
}
cout<<endl;
cout<<endl;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询