万年历C语言报告_第1页
万年历C语言报告_第2页
万年历C语言报告_第3页
万年历C语言报告_第4页
万年历C语言报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程实验报告 姓名: 学号: 班级: 指导老师第三章 实验报告(reports)实验题目:实验目的通过实例使同学们掌握结构化数据流分析技术,结构化程序设计的基本概念与技术,并且养成良好的编码风格,单元测试的一般步骤及技术,集成测试的一般步骤和技术等软件设计的相关技术。一 实验内容1 软件需求分析数据流程图 初始化年份输入年份是否在03000间间输入月份是否在012间对比初始化年份方案一算法法方案二算法 总流程算法一y%4=0&&y%100!=0|y%400=0是否闰年t1=28t1=29days=(year-2006)*365+count_leap(year)+monthd

2、ays(month,year)weekday=days%7 算法一算法一y%4=0&&y%100!=0|y%400=0是否闰年t1=28t1=29days=(2005-year)*365+count_leap(year)+monthdays(month,year)weekday=7-days%7 算法二2 软件设计与编码#include "stdio.h"#include "conio.h"void main()   int leap_year(int y);   int count_leap(lo

3、ng year);   int monthdays(int month,long year);   void monthprint(long year,int month);   int month=0;   long year=0;   char choose;   clrscr(); /* clear the windows */   do       printf ("nnplea

4、se input one integer number as 'year'(03000):n");        scanf ("%ld",&year);        if (year<0|year>3000) printf ("wanning:error,please input again!");      

5、;    while (year<0|year>3000);    printf ("nn");    do       printf ("please input the month(112)nn");        scanf ("%d",&month);    &

6、#160;  if (month<=0|month>12) printf ("wanning:error,please input again!");           while (month<=0|month>12);    printf ("nnn");   printf("tttt%ldt%dnn",year,month);   pr

7、intf("n*n");   printf("tt sunt mont tuet went thut frit satn");   monthprint(year,month);   printf("nn");   choose=getchar();    printf("continue?(y/n):nn");    scanf("%c",&cho

8、ose);    if (choose='y'|choose='y') main(); /*main函数调用main函数本身*/int leap_year(int y) int i;  if (y%4=0&&y%100!=0|y%400=0) i=1;  else i=0;  return i;int count_leap(long year)  int i=0,j,min,max;  if(year>2006) min=2006;max=year; 

9、 else min=year+1;max=2006;  for(j=min;j<max;j+)     if(leap_year(j) i+;    return i;int monthdays(int month,long year)  int sum=0,i,j;  if(year>=2006)    static int t12=31,0,31,30,31,30,31,31,30,31,30,31;/*112月的每月天数*/  

10、    j=month-1;      if(leap_year(year) t1=29;       else t1=28;      for(i=0;i<j;i+)       sum=sum+ti;      else      static int t11

11、2=31,30,31,30,31,31,30,31,30,31,0,31; /*121月的每月天数*/       j=12-month;       if(leap_year(year) t110=29;       else t110=28;       for(i=0;i<=j;i+)   sum=sum+t1i; 

12、      return sum;void monthprint(long year,int month)       static int t12=31,0,31,30,31,30,31,31,30,31,30,31; int i,y,weekday=0;  long days=0; if(leap_year(year) t1=29;       else t1=28; y=tmonth-1;&

13、#160;if(year>2006)     days=(year-2006)*365+count_leap(year)+monthdays(month,year);   weekday=days%7;    else if(year<2006)  days=(2005-year)*365+count_leap(year)+monthdays(month,year);   weekday=7-days%7;    else  days=monthdays

14、(month,year);weekday=days%7; for (i=1;i<=weekday+2;i+) /*由于上一行打印星期的时候空2个制表位,所以weekday要加2*/    printf ("t"); for (i=1;i<=y;i+)    if (i+weekday-1)%7=0) printf ("nntt%3dt",i);      else printf ("%3dt",i); printf ("n*nn");二测试结果三 总结通过本次

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论