三天打鱼两天晒网 问题解决

来源:互联网 发布:爱奇艺独播的网络剧 编辑:程序博客网 时间:2024/06/06 01:40

                                                                              *********三天打鱼两天晒网***********

//*********三天打鱼两天晒网***********

//
//作者信息:白瑜  软件工程1502班 1508010206
//版本: v1.0
//创建时间: 2017/3/12
//主要功能:根据某人从2010年1月1日起开始“三天打鱼两天晒网”,在输入时判断输入是否有效,输出从这天起到特定的某一天共经历的总天数,
//并且实现对这个人在以后的某一天是打鱼还是晒网进行计算,完善用户选择系统,使运行界面更友好、人性化
//
//************************************
#include <stdio.h>
int main()
{   
    int year,month,day,i,days=0,choose=1;   //对所需变量的定义 
    int data[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};   //各个月份的天数
while(choose)
{   printf("**************三天打鱼两天晒网**************\n");
printf("请输入你所需要查找的年、月、日:\n");
        scanf("%d%d%d",&year,&month,&day);

while(year<2010||month>12||day>31)      //对输入错误日期的判断
{


printf("输入错误,请重新输入:\n");
            scanf("%d%d%d",&year,&month,&day);
}
}
  if((year%4==0&&year%100!=0)||year%400==0)        //判断该年是否为闰年
       data[2]+=1;   //如果该年是闰年,则该年二月份多加一天
for(i=2010;i<year;i++)          //将年之差换算成天数
{
if((year%4==0&&year%100!=0)||year%400==0)
     days+=366;
    else
     days+=365;
}
for(i=1;i<month;i++)    //将月之差换算成天数
{
days+=data[i];
}
    days+=day;     //将该月天数加上去
printf("\n从2010年1月1日到%d年%d月%d日共经过%d天\n\n",year,month,day,days);    //输出格式
{ if(days%5<=3)         //判断打鱼还是晒网
      printf("%d年%d月%d日他在打鱼\n\n",year,month,day);
      else
      printf("%d年%d月%d日他在晒网\n\n",year,month,day);
}


 printf("\n继续查找请选1,退出系统请选0:");    //程序选择系统完善
    scanf("%d",&choose);
    if(choose==0) 
return 0;
}
return 0;

}

                                                                                                                

                                                                      运行界面程序流程图及个人体会

一、程序运行结果展示

1、初始运行界面如下图:

 

2、输入错误的年月份测试运行界面如下图:

 

 

3、输入正确的日期计算结果及界面如下图:

 

 

4、完善用户选择系统运行界面如下图:


 


二、程序流程图






三、个人总结及心得体会

   本次作业是“三天打鱼两天晒网”,主要实现了计算从某一天开始到需要知道的日期中,该人是在打鱼还是晒网的功能,并识别错误日期的输入,输出共经历了多少天。

       在这次作业中,主要的问题就在于判断是否为闰年以及总天数的计算上,解决了这两大问题,整个程序也就一目了然了,我在源程序上增加了数据

正确性的测试功能,如果不合理,提供重新输入的功能,这也是我遇到的一个难题,一开始总是怎么改程序都是错的,在输入错误的日期后,弹出输入

错误,请重新输入的命令,但下方还是出现了计算总天数和打鱼还是晒网的判断,这让我很苦恼,最后终于在不断地检查修改下,得到了正确的结果。

通过这次作业,我收获到了很多有用的知识。首先在程序的编写上,我遇到了各种各样的小问题,不停地修改调试,终于写出了完整的程序,但还缺少

输入错误日期的情况,于是在原有的基础上,加入新功能,使程序更加完善,合理,在期间,不可避免的又会遇到一些问题,比如重新输入不了,仍对

错误日期进行计算等问题,但都一一解决了,这时,我体会到,写出一个正确程序,自己会感到那么高兴自豪,虽然只是一个小小的程序,但我从中得

到了很多乐趣,遗憾的是,还有许多我想到的功能不能完善,相信通过仔细的摸索,总有一天,我会把这些功能都完善了。在做作业过程中,我也看到

了自己的很多不足之处,基础知识掌握不牢固,不能学以致用,最主要的是不够细心,循环体老是出错,就连标点符号也会经常打错,导致程序调试不

成功,这时我需要改进的一个方面。其次,在基础知识的掌握上,不够扎实,有时候还需要看书,学习过程也不够认真,不够踏实,在以后的学习中,

我会认认真真学习专业知识,踏踏实实看书,希望在课余时间可以多看看有关自己专业课程的书,丰富自己的知识面,以便在日后的学习和工作中更好

的发挥。

      最后,请老师提出建议,在此衷心感谢老师的建议与指导。

0 0
原创粉丝点击