当前位置:编程学习 > C/C++ >>

c++编程,寻求帮助!

#include<iostream.h>
#include<stdio.h>
void main()
{
void print_head(int x,int y); /*打印头文件*/
void print_month(int x,int y); /*打印月历*/
int days_of_month(int x,int y); /*计算指定年月的天数*/
int leap(int x,int y); /*计算指定年月1号是星期几*/
int i,days,year,month,firstday;
do
{
cout<<"请输入要查询的年份(0000-9999):\n\n";
cin>>year;
if (year<0||year>9999)
cout<<"输入错误!请重新输入!!!";
}
while (year<0||year>9999);
cout<<"\n\n";
do
{
cout<<"请输入要查询的月份(0-12):\n\n\n";
cin>>month;
if (month<=0||month>12)
cout<<"输入错误!请重新输入!!!";
}
while (month<=0||month>12);
cout<<"\n\n\n";
days=days_of_month(year,month);
firstday=leap(year,month);
print_head(year,month);
print_month(firstday,days);
}
days_of_month(int x,int y)
{
int d;
switch (y)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: d=31;break;
case 4:
case 6:
case 9:
case 11: d=30;break;
case 2:
{
if ((x%4==0&&x%100!=0)||(x%400==0))
d=29;
else
d=28;
break;
}
}
return d;
}


leap(int x,int y)
{
int z,i,moday;
z=(x+(x-1)/4-(x-1)/100+(x-1)/400)%7;
for (i=1;i<y;i++)
{
moday=days_of_month(x,i);
z=(z+moday)%7;
}
return z;
}
void print_head(int x,int y)
{
printf("\t\t\t\t\t\t%d %d\n\n",x,y);
printf("\t\t\t 星期日 星期一 星期二 星期三 星期四 星期五 星期六\n");
printf("\t\t\t");
}
void print_month(int x,int y)
{
int i;
char space[7]={' '};
for (i=1;i<=x;i++)
printf("%7c",space[i]);
for (i=1;i<=y;i++)
{
if ((i+x)%7==1)
printf("\n\t\t\t%7d",i);
else
printf ("%7d",i);
}
}
(请你们帮我为这个程序各个函数的参数说明和功能说明一下,越详细越好了,谢谢了)
答案:
#include<iostream.h>
#include<stdio.h>
void main()
{
void print_head(int x,int y); /*打印头文件*/
void print_month(int x,int y); /*打印月历*/
int days_of_month(int x,int y); /*计算指定年月的天数*/
int leap(int x,int y); /*计算指定年月1号是星期几*/
int i,days,year,month,firstday;
do
{
cout<<"请输入要查询的年份(0000-9999):\n\n";//输出
cin>>year;//输入
if (year<0||year>9999)
cout<<"输入错误!请重新输入!!!";
}
while (year<0||year>9999);
cout<<"\n\n";
do
{
cout<<"请输入要查询的月份(0-12):\n\n\n";
cin>>month;
if (month<=0||month>12)
cout<<"输入错误!请重新输入!!!";
}
while (month<=0||month>12); //确定输入正确
cout<<"\n\n\n";
days=days_of_month(year,month);// 取days
firstday=leap(year,month); //取fisrtday
print_head(year,month); //输出年
print_month(firstday,days); //输出月
}
days_of_month(int x,int y) //计算days
{
int d;
switch (y)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: d=31;break;
case 4:
case 6:
case 9:
case 11: d=30;break;
case 2:
{
if ((x%4==0&&x%100!=0)||(x%400==0))
d=29;
else
d=28;
break;
}
}
return d;
}


leap(int x,int y)
{
int z,i,moday;
z=(x+(x-1)/4-(x-1)/100+(x-1)/400)%7;
for (i=1;i<y;i++)
{
moday=days_of_month(x,i);
z=(z+moday)%7;
}
return z;
}
void print_head(int x,int y)
{
printf("\t\t\t\t\t\t%d %d\n\n",x,y);
printf("\t\t\t 星期日 星期一 星期二 星期三 星期四 星期五 星期六\n");
printf("\t\t\t");
}
void print_month(int x,int y)
{
int i;
char space[7]={' '};
for (i=1;i<=x;i++)
printf("%7c",space[i]);
for (i=1;i<=y;i++)
{
if ((i+x)%7==1)
printf("\n\t\t\t%7d",i);
else
printf ("%7d",i);
}
}

上一个:关于c++编程的问题
下一个:一个简单的C++编程问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,