C语言制作“三天打鱼;两天晒网”

来源:互联网 发布:网络主播崔佑欣揪痧 编辑:程序博客网 时间:2024/06/06 01:57

#include<stdio.h>
int year,month,day;  //年,月,日
int sum=0;           //总天数
int k=1;
void Int();
void date();
void display();
void menu();

int main()
{
while(k==1)
{
menu();
}
return 0;

}


void Int()//输入日期
{
 printf("输入年月日,用空格符隔开:\n");
 scanf("%d %d %d",&year,&month,&day);  //输入年月日    

}


void date()//计算日期
{  
int j;
for( j=2010;j<year;j++)         //指定年距2010年1月1日多少天
{
if(j%400==0||(j%4==0&&j%100!=0))//判断此年是否为闰年
sum=sum+366;                //如果是闰年,总天数加上366天
else
   sum=sum+365;                //如果是平年,总天数加上365天
}
 
 switch(month)                     //指定月份距指定年1月1日多少天
 {
 case 1:sum=sum+0;break;
 case 2:sum=sum+31;break;
 case 3:sum=sum+59;break;
 case 4:sum=sum+90;break;
 case 5:sum=sum+120;break;
 case 6:sum=sum+151;break;
 case 7:sum=sum+181;break;
 case 8:sum=sum+212;break;
 case 9:sum=sum+243;break;
 case 10:sum=sum+273;break;
 case 11:sum=sum+304;break;
 case 12:sum=sum+334;break;
 default:printf("month error:\n");break; //月份有误
 }
 sum+=day;             //指定年月天数加上指定日期
 if((year%400==0||(year%4==0&&year%100!=0))||month>2)//指定年是否为闰年
 sum=sum+1;          //当指定年为闰年且月份大余2时总天数加1
 else
 sum=sum;
}

void display( )  //计算从2010年1月1日至今总天数
  {
 int i;
     Int();
 if(year<2010||month>12)         //判断输入年份是否有效
 {
 printf("%d %d %d:ERROR!\n",year,month,day);
     printf("继续按1,退出按0:\n");
          scanf("%d",&i);
switch(i)
{
case 0:menu();break;
case 1:Int();break;
}
 }
 else
 {
 date();
      sum=sum%5;                     //总天数除5的余数
 if(sum>=1&&sum<=3)             //如果1<=余数>=3
  printf("%d %d %d:打渔!\n",year,month,day);//输出打鱼
 else
  printf("%d %d %d:晒网!\n",year,month,day);//输出晒网
 }
  }


void menu()
{
int num;
    printf("———————————————————————————————————\n");
printf("————————————三天打鱼,两天晒网——————————————\n");
printf("———————————————————————————————————\n");
printf("—————*0.退出系统\n");
printf("—————*1.手动输入\n");
printf("请输入菜单编号:");
scanf("%d",&num);
switch(num)
{
case 0:k=0;break;
case 1:display();break;
default:printf("请重新输入!\n");
}
}
0 0
原创粉丝点击