C语言-程序设计-节日查询和任务提醒系统-万年历
C语言课程设计报告-万年历
课程设计题目:万年历实验题目:万年历程序的编写实验目的:综合运用所学的C语言知识解决一个比较实际的简单问题,侧重对数组、函数、指针、结构体和文件等相关内容的综合应用,使同学们能进一步熟悉掌握C语言的基本语法,进一步提升自己的编程能力并逐步培养编程思维,进而不断提高同学们解决问题的能力,并为以后的语言学习打下良好的基础。
实验要求:万年历设计主要功能包括:1、查询某年某月每一天对应星期几。
2、可以查询某年某月的上个月或是下个月的日历情况。
3、查询某年某月某日是这一年的第几天,并查询改天是星期几。
4、判断该年是闰年还是平年,判断这一年的生肖。
实现思路(要求有文字描述,并画出流程图):实现过程(要求有文字说明实现的过程,并对相应的代码添加注释):见程序(程序见后)后的解析。
运行时只要你输入年月日,你要的星系都会显示出来;如果想继续输入日期的话,只需按y就可以,祥结束按n就可以结束。
实验总结(分析程序的得与失):得:通过这次程序设计,更使我了解了编程序的严谨性,每个问题,每个不走都得有依据,不得盲目乱造,同时也让我获得了一点编写简单程序的能力,使自己平时在理论课中很多部明白的东西明白了好多,学会了好多语句的用法,比如会用‘y’ or‘ n’来决定程序是否要继续;怎么控制输出格式等等。
总之在这次程序设计中我学到了很多。
失:在编程序过程中有些函数的用法不怎么会用,偶尔会落下写简单的东西。
如‘,’‘;’等;同时在编写输出上下个情况及判断程序是否要继续的程序上花费了好多时间;函数的声明、调用既然不清楚,感到很惭愧。
实验的过失就是成功的阶梯,在过失中我也学到很多。
心得体会:我体会到了编程序的严谨性,也觉得如果我们要是熟悉课本所讲的内容,不怕麻烦,坚持不懈,我们一定可以将它实现的。
要有耐心,有时候很多的错误就是一个地方引起的,只要认真检查,一定能突破的,所以在以后的编程序是要细心,有耐心,人不断调试程序,直至最后成功。
c语言万年历程序
#include <stdio.h>#include <stdlib.h>#include <ctype.h>int leap (int year) ;//判断是否为闰年int days_month (int month,int year) ;//判断这个月的天数int menu_select();/*void f(){int day,month,year,sum,leap,S;printf("\n请输入年月日\n");scanf("%d%d%d",&year,&month,&day);switch(month){case 1:sum=0;break;case 2:sum=31;break;case 3:sum=59;break;case 4:sum=90;break;case 5:sum=120;break;case 6:sum=151;break;case 7:sum=181;break;case 8:sum=212;break;case 9:sum=243;break;case 10:sum=273;break;case 11:sum=304;break;case 12:sum=334;break;default:printf("data error");break;}sum=sum+day;if(year%400==0||(year%4==0&&year%100!=0))leap=1;else leap=0;if(leap==1&&month>2)sum++;S=(year-1+(year-1)/4-(year-1)/100+(year-1)/400+sum)%7; //X表示年份,C是该年份元旦开始到这一日的天数//S/7的系数就是星期数//01printf("%d",S);switch(S){case 1:printf("星期一\n");break;case 2:printf("星期二\n");break;case 3:printf("星期三\n");break;case 4:printf("星期四\n");break;case 5:printf("星期五\n");break;case 6:printf("星期六\n");break;case 0:printf("星期日\n");break;}}*/int Leap(int year){ int leap;if(year%400==0||(year%4==0&&year%100!=0))leap=1;else leap=0;return leap;}int SU(int sum,int year){int S;S=(year-1+(year-1)/4-(year-1)/100+(year-1)/400+sum)%7;return S;}int Sum(int year,int month,int day=1){int sum,leap;switch(month){case 1:sum=0;break;case 2:sum=31;break;case 3:sum=59;break;case 4:sum=90;break;case 5:sum=120;break;case 6:sum=151;break;case 7:sum=181;break;case 8:sum=212;break;case 9:sum=243;break;case 10:sum=273;break;case 11:sum=304;break;case 12:sum=334;break;default:printf("data error");break;}sum=sum+day;leap=Leap(year);if(leap==1&&month>2)sum++;return sum;}void Print(int S){switch(S){case 1:printf("星期一\n");break;case 2:printf("星期二\n");break;case 3:printf("星期三\n");break;case 4:printf("星期四\n");break;case 5:printf("星期五\n");break;case 6:printf("星期六\n");break;case 0:printf("星期日\n");break;}}void Fun1(){int day,month,year,sum,S;printf("\n请输入年月日\n");scanf("%d%d%d",&year,&month,&day);sum=Sum(year,month,day);S=SU(sum,year);Print(S);}void Fun2(){int i,j=1,k=1,a,b,month,year,sum;printf("\n 输入年月:\n");scanf("%d%d",&year,&month);b=days_month(month,year);sum=Sum(year,month);a=SU(sum,year);printf("*************************************\n");printf(" Sun Mon Tue Wed Thu Fri Sat \n");if(a==7){for(i=1;i<=b;i++){printf("%4d",i);if(i%7==0){printf("\n");}}}if(a!=7){while (j<=4*a){printf(" ");j++;}for(i=1;i<=b;i++){printf("%4d",i);if(i==7*k-a){printf("\n");k++;}}}printf("\n*************************************\n");printf("\n");}int days_month (int month,int year){if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) return 31;if(month==4||month==6||month==9||month==11)return 30;if(month==2&&Leap(year)==1) return 29;else return 28;}void main(){for(;;){switch(menu_select()){case 1:printf("输入年月日计算该月第一天是星期几\n");Fun1();break;case 2:printf("打印任意日历\n");Fun2();break;case 3:printf("谢谢使用!\n");exit(0);}}}int menu_select(){ system("cls");char s;int cn;printf("1. 输入年月日计算该月第一天是星期几\n");printf("2. 打印任意日历\n");printf("3.谢谢使用! \n");printf("input 1-3:");do {s=getchar();cn=(int)s-48;}while(cn<0||cn>6);return cn;}。
c语言课程设计万年历
c语言课程设计万年历一、课程目标知识目标:1. 理解C语言中结构体、数组、函数等基本概念,并能运用这些知识实现万年历的基本功能;2. 学会使用循环、判断等控制结构,实现对日期的有效处理;3. 了解并掌握C语言中模块化编程的方法,将万年历功能划分为独立的功能模块。
技能目标:1. 能够独立编写C语言程序,实现万年历的日期显示、查询、切换等功能;2. 学会使用调试工具,对程序进行调试和优化,提高程序的稳定性;3. 学会在团队协作中发挥个人优势,与他人共同完成程序设计。
情感态度价值观目标:1. 培养学生积极思考、勇于探索的精神,增强学生对编程的兴趣和热情;2. 培养学生良好的编程习惯,遵循编程规范,注重代码的可读性和可维护性;3. 培养学生的团队协作意识,学会与他人沟通、分享、互助,共同进步。
课程性质:本课程为实践性较强的课程,要求学生在掌握C语言基本知识的基础上,运用所学知识完成万年历的设计与实现。
学生特点:学生具备一定的C语言基础,对编程有一定了解,但实践经验不足。
教学要求:结合学生特点,注重理论与实践相结合,引导学生主动参与,培养学生的编程能力和团队协作能力。
通过课程学习,使学生能够独立完成万年历的设计与实现,提高学生的编程水平和实际操作能力。
二、教学内容1. C语言基本语法复习:回顾结构体、数组、函数等基本概念,确保学生能够熟练运用;相关教材章节:第一章至第四章。
2. 控制结构:讲解循环、判断等控制结构在万年历中的应用;相关教材章节:第五章。
3. 模块化编程:引导学生将万年历功能划分为独立的功能模块,讲解模块之间的调用关系;相关教材章节:第六章。
4. 程序调试与优化:介绍调试工具的使用,教授学生如何找出并解决程序中的错误;相关教材章节:第七章。
5. 项目实践:指导学生按照教学大纲,分阶段完成万年历的设计与实现;相关教材章节:全书综合应用。
教学进度安排:1. 第一周:C语言基本语法复习;2. 第二周:控制结构;3. 第三周:模块化编程;4. 第四周:项目实践(第一阶段:功能设计);5. 第五周:项目实践(第二阶段:功能实现);6. 第六周:项目实践(第三阶段:调试与优化)。
C语言课程设计--万年历
C 语言课程设计报告设计题目:万年历学生姓名:学生学号:专业班级:数学与应用数学一班学院名称:数学与计量经济学院同组人姓名:指导老师:2011年6月15 日1 需求分析1.1问题描述我们需要实现万年历的功能,那么如何实现这个功能呢?我们都很清楚,普通年份和闰年是有区别的,那么该怎么区分这种一天的差别对于万年历日期现实的影响呢?而且已知一个日期,那么我们怎么能够知道它是星期几?是不是需要一个参照物来比较呢?而且还有很多关于万年历的美化问题,占位符的考虑等等。
另外我们还必须判断输入的万年历是否合法,这也需要一个子函数来实现。
好吧,至于基础的判断闰年也是不在话下了。
1.2输入数据要求我们要考虑三种情况,这三种情况下是不能够实现这个万年历的功能的:/*如果给定的日期中年份部分为非正数*/if(date.year<=0)printf("年份不符合要求!\n"printf("请重新输入)/*如果给定的日期中月份部分为负数,为0或者大于12*/if(date.month>12||date.month<1)printf("月份不符合要求!\n");printf("请重新输入");getchar();exit(0);/*如果给定的日期中天数部分为非正数,或者大于31*/a[2]=28+leap(date.year);if(date.day>a[date.month]||date.day<1)printf("日期不符合要求!\n");printf("请重新输入");getchar();exit(0);1.3输出数据要求根据输入数据,输出数据必须严格的按照占位符进行逻辑的策划,然后得知一行万年历的日期的占位符是38个占位符,于是空格占位符和字符显示出来的那些占位符就需要有一个限定使得其不凌乱特别应该注意空格符的占位。
C语言课程设计 万年历
计算机基础课程设计C语言设计报告题目:万年历学院:电气与电子工程学院专业:自动化班级:070304姓名:于洋指导教师:周丽娟设计日期:一、设计题目及来源万年历,来自网上搜索。
二、功能isLeap()判断输入数据是否是闰年;maxDay()判断某年某月最多天数;eachYearTotal ()判断这一天是该年的第几天;week判断某年某月某日的编号;output()输出该天星期几;display()显示月历;check()检查有效性;display1()输出年历;display2()输出月历;display3()输出日历;getMenu()调菜单;三、流程图#include<stdio.h>#include<stdlib.h>int isLeap(int year);int maxDay(int year,int month);int eachYearTotal(int year,int month,int day); int week(int year,int month,int day);char *chineseWeek(int number);void output(int year,int month,int day);void display(int year,int month);int check(int year,int month,int day);void display1(int year);void display2(int year,int month);void display3(int year,int month,int day); void getMenu();void main(){int year,month,day,flag,select;while(1){getMenu();printf("shu ru xuan ze: ");fflush(stdin);scanf("%d",&select);fflush(stdin);switch(select){case 1:do{printf("shu ru nian: ");scanf("%d",&year);flag=check(year,1,1);if(flag==0){printf("shu ru wu xiao\n");}}while(flag==0);display1(year);break;case 2:do{printf("shu ru nian yue: ");scanf("%d%d",&year,&month);flag=check(year,month,1);if(flag==0){printf("shu ru wu xiao\n");}}while(flag==0);display2(year,month);break;case 3:do{printf("shu ru nian yue ri: ");scanf("%d%d%d",&year,&month,&day);flag=check(year,month,day);if(flag==0){printf("shu ru wu xiao\n");}}while(flag==0);display3(year,month,day);break;case 4:exit(0);default:printf("shu ru you wu!\n\n");}}}int isLeap(int year){if(year%4==0&&year%100!=0||year%400==0) return 1;elsereturn 0;}int maxDay(int year,int month){int a[]={31,28,31,30,31,30,31,31,30,31,30,31};if(isLeap(year))a[1]=29;return a[month-1];}int eachYearTotal(int year,int month,int day){int i,sum=0;for(i=1;i<month;i++){sum+=maxDay(year,i);}sum+=day;return sum;}int week(int year,int month,int day){intnumber=(year-1)+(year-1)/4-(year-1)/100+(year-1)/400+eachYearTotal(year,month,d ay);number%=7;return number;}char *chineseWeek(int number){switch(number){case 0:return "Sunday";case 1:return "Monday";case 2:return "Tuesday";case 3:return "Wednesday";case 4:return "Thursday";case 5:return "Friday";case 6:return "Saturday";default:return "error";}}void output(int year,int month,int day){int number=week(year,month,day);printf(" gong yuan%d nian%d ue%d ri%10s\n\n",year,month,day,chineseWeek(number)); }void display(int year,int month){int max,number,i,j=1;max=maxDay(year,month);number=week(year,month,1);printf("%4s%4s%4s%4s%4s%4s%4s\n"," Sunday "," Monday "," Tuesday "," Wednesday "," Thursday "," Friday "," Saturday ");for(i=0;i<number;i++){printf(" ");}while(j<=max){printf("%4d",j);if(i%7==6){printf("\n");}i++;j++;}printf("\n\n");}int check(int year,int month,int day){if(year<0||month<1||month>12||day<1||day>maxDay(year,month))return 0;elsereturn 1;}void display1(int year){int i;printf("\n");for(i=1;i<=12;i++){printf(" gongyuan%d nian%d yue\n\n",year,i); display(year,i);}}void display2(int year,int month){printf("\n gongyuan%d nian%d yue\n\n",year,month); display(year,month);}void display3(int year,int month,int day){printf("\n");output(year,month,day);display(year,month);}void getMenu(){printf("1.nianli\t2.yueli\t3.rili\t4.tuiqu\n");}。
C语言课程设计万年历 完整版
目录一引言 (2)二系统功能和数据说明 (3)一)功能简介 (3)二)程序中的数据说明 (3)三程序总体设计及流程图 (4)一)应用到的c语言 (4)二)程序的总框架 (5)四功能模块设计及调试 (5)一)算法说明 (5)1.总天数的算法 (5)2.计算输入日期是星期几 (6)3.对输入信息的汇总 (8)4..界面的控制 (10)二)调试结果 (11)五程序清单 (12)六结束语 (17)一引言通过大一上学期对C语言的学习,了解到了很多C语言的相关知识。
学习的过程有很多困惑但是当自己能够独立的看懂,能过独立的完成一个简单的程序时,心中就会收获无限的喜悦和成就感。
我可以里哟哦那个它看懂一些简单的程序,编写一些简单的计算程序,更多的是学会了一种思想——编程,它让我在去思考很多日常生活中的事物是怎么样通过一个个小小的函数实现功能的,激发我对探究的兴趣。
C语言是近年在国内外得到迅速推广应用的一种语言。
C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。
因此,C语言特别适合于编写各种软件。
在这次的课程设计中我将把日常生活中最经常接触的——日期的查询利用C语言的程序编成一个简单的日历。
通过这个小小的日历可以实现很多功能。
在程序中你能看到很多熟悉的C语言关键字,同时也加入了很多自己课外了解到的一些关键字。
在不断的调试中最终才获得最为完整的程序。
接下来就是我的C 语言课程设计的具体内容来了二系统功能和数据说明(一)功能简介在我们的日常生活中能接触到很多不同类型的日历,在日历上我们通常希望它能简介明了的给我们最想要的日期信息。
在我的万年历当中,就是将日历,月历做的简单明了,很方便我们的使用。
下面是它要实现的一些基本功能:用C语言编写万年历1、输入年份,判断是否为闰年2、输入年月日,判断改日为星期几3、输入年份,打出12个月历,输入月份,打出该月的日历4、要求用多个函数实现[名称]万年历[修改]1、对输入的日期进行容错处理2、增加和修改为英文的月份和星期显示3、采用指针形式的weeks和month数组(二)程序中的数据说明①int days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};这是定义的关于每个月天数的数组,根据大小月以及二月分的特殊情况将每个月的天数最为数组中的元素存入数组当中。
万年历系统——C语言完整版
实验十九:编写一个万年历系统1.设计目的:从实验的角度来看,这次课程设计一方面可以让自己巩固并加深对C语言程序设计知识的理解,掌握和提高C语言编程和程序的基本调试的基本技能,进一步理解和运用结构化程序的思想和方法;另一方面,可以让自己在面对一个全新的问题时,学会如何思考,如何寻找问题的关键,从而提升自己的能力。
2.总体设计:1.、当前页以系统当前日期的月份为准,显示当前月的每一天(显示出日及对应的星期几);2、当系统日期变到下一个月时,系统自动翻页到下一月。
3.调试与测试:4.源程序清单和执行结果:#include <stdio.h>#include <conio.h>#include <stdlib.h>#include <time.h>int leap(int year ){if ((year %4 == 0) && (year % 100 != 0)|| (year % 400 == 0)){return 1;}return 0;}void show(int year,int month,int date,int sec,int mini,int hour) {const char month_str[][4]={"","Jan","Feb","Mar","Apl", "May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};const int month_day[]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int i,j,wdays,mdays,days;for(i=1,days=0;i<year;i++){if(leap(i)){days += 366;}else{days += 365;}}for(i=1;i<month;i++){if(i==2 && leap(year)){days+=29;}else{days+=month_day[i];}}printf(" %s.%d.%d %d:%d:%d \n",month_str[month],date,year,hour,mini,sec);printf(" 一二三四五六日\n");wdays = days % 7;for( j = 0; j < wdays; j++){printf(" ");}if(month == 2 && leap(year)){mdays=29;}else{mdays= month_day[month];}for(i=1;i<=mdays;i++){if( i > 1 && days % 7 == 0 ){Printf(“\n”);printf("\n");}printf("%4d",i);days=days+1;}printf("\n---------------------------\n\n\n");}void main(){time_t rawtime;struct tm *info;int year,month,date,sec,mini,hour; char ch;time ( &rawtime );info = localtime ( &rawtime );year =info->tm_year + 1900; month =info->tm_mon + 1;date =info->tm_mday;hour =info->tm_hour;mini =info->tm_min;sec =info->tm_sec;while(1){show(year,month,date,sec,mini,hour); printf("↑......上一年\n\n");printf("↓......下一年\n\n");printf("←....前一个月\n\n");printf("→....后一个月\n\n");printf("Esc.......退出\n\n");ch=getch();switch(ch){case 27://Ecsexit(0);case -32://Navigatorch=getch();if(ch==77){//Rightyear+=(month==12)?1:0;month=month%12+1;}else if(ch==75){//Leftyear-=(month==1)?1:0;month=(month-2+12)%12+1;}else if(ch==72) {//Upyear--;}else if(ch==80) {//Downyear++;}system("cls"); }}}。
万年历c语言课程设计
万年历 c语言课程设计一、课程目标知识目标:1. 学生能够理解万年历的基本概念,掌握日期与星期之间的转换关系。
2. 学生能够运用C语言中的数据类型、运算符和函数实现日期的计算。
3. 学生掌握结构体在C语言中的应用,并能利用结构体数组存储和管理大量日期数据。
技能目标:1. 学生能够运用所学知识,设计并编写一个简单的万年历程序,实现日期的输入、输出及查询功能。
2. 学生能够在编写程序的过程中,运用结构化编程思想,使代码具有可读性和可维护性。
3. 学生能够通过调试和修改程序,解决实际问题,提高编程解决问题的能力。
情感态度价值观目标:1. 学生培养对计算机编程的兴趣和热情,增强学习C语言的自信心。
2. 学生在团队合作中,学会互相帮助、沟通与协作,培养团队精神。
3. 学生通过编程实践,体会计算机科学在生活中的应用,认识到编程对解决实际问题的价值。
本课程针对高中年级学生,结合C语言编程知识,设计具有实用性和趣味性的万年历项目。
课程旨在让学生在实际编程过程中,掌握C语言的基本语法和编程技巧,提高解决问题的能力,同时培养团队协作和沟通能力。
通过本课程的学习,为学生奠定扎实的编程基础,激发他们对计算机科学的兴趣。
二、教学内容1. C语言基础语法复习:变量、数据类型、运算符、控制语句(条件语句、循环语句)。
2. 函数的定义与调用:重点复习函数的定义格式、参数传递、返回值。
3. 结构体的定义与应用:介绍结构体的概念、定义方法以及如何使用结构体数组。
4. 日期与星期的计算方法:讲解日期与星期之间的转换公式,引导学生理解算法。
5.万年历程序设计:a. 界面设计:设计简洁明了的用户界面,方便用户输入和查看日期。
b. 功能实现:实现日期的输入、输出、查询(按年月查询、按日期查询)。
c. 程序优化:讨论如何优化代码,提高程序运行效率。
d. 错误处理:学习如何处理用户输入错误、日期有效性验证等。
教学内容参考教材相关章节,按照以下进度安排:1. 第一课时:C语言基础语法复习,引入结构体概念。
C语言万年历程序设计
目录第 1 章需求分析. (2)第 2 章概要设计. (2)第 3 章详细设计. (7)第四章运行结果及分析 (13)1. 登陆界面 (13)2. 显示某年全年日历 (13)3. 显示某月日历 (14)第 5 章课程设计心得 (16)参考文献. (17)1第1章需求分析)程序运行时,首先给出四个菜单选项和输入提示:图1-1(2)用户可以通过主菜单选择不同选项。
输入~~1,通过输入年份可显示一年每个月份的日历;输入2,通过输入年份和月份(中间以空格分开)可显示该月的日历;若输入3,通过输入年份月份和日期(中间以空格分开)可显示该日的星期;输入0,则退出查询系统。
第2章概要设计31.菜单选择界面可通过下面所示函数时现;主要思路:通过while 语句与swich …case 以及if 条件语句实现菜单的循环功能和不 同选项的功能实现。
闰年与平年的判断: 代码如下:void mai n(){int year,m on th,day,a,b; while(1) { prin tf("\n\n\n\n"); prin tf("********************************************************"); printf (” \n"); printf(" 欢 迎 进 入 万 年 历 查 询 系统 \n");printf(" * *\n\n");**\n\nprintf("**********************************************************\n\n\n");printf(" 1 年历2 月历3 日历4 退出\n"); printf(" 请输入您的选择<1~4>, 按回车键确定: "); scanf("%d",&b);switch(b){case 1:printf("\n 请输入您要查的年份: ");scanf("%d",&year); a=x3(year,1,1);if(a==0){printf(" 错误! 请您重新输入。
c语言课程设计--万年历
万年历系统题目:万年历系统姓名:黄炼军学号:20070810505学院:计算机与通信学院专业:计算机科学与技术0705班指导老师:何英完成时间:2009年11月10日一、问题描述模仿Windwos的日历.1)日历显示功能。
能根据系统日期进行初始化,如果没有任何输入,则显示系统日期所在月份的月历。
2)日历查询、闰年判断功能。
输入日期进行查询,显示查询日期所在月份的月历,还将显示所在年份是否为闰年。
3)参数检查功能。
如果输入日期不合法,查询将被拒绝,并显示提示信息。
4)选做:通过键盘操作(如:光标上、下、左、右移动键,pageup、pagedown键)调整年份、月份和日期,并显示调整后的日期及月历。
二、问题分析对于要求1:难点在于判断星期,但根据蔡勒公式,可以很容易地有年月日推断出星期:nDay=year-1+(year-1)/4-(year-1)/100+(year-1)/400+nday;w=nDay%7;其中year:要查询的年份nday:从该年的一月一日起到该天的天数w:得出的星期数,w==0表示星期天。
在打印月历时,只要知道第一天的星期,就可以依次输入后面的日期,通过定长度输出日期,在遇到某天时星期六时,就换行输出,因此可以按照月历的格式输出。
对于初始输入当前月历,可以通过<time.h>中的time 和localtime函数取出系统时间进行初始化。
time_t timer;struct tm* gmt;time(&timer);gmt=localtime(&timer);gmt就是一个时间结构体,可以从中取出年月日。
对于要求2:闰年的判断,能被4整除但不能被100整除,或者能被400整除的年份为闰年,否则为平年。
日期的查询,就是直接打印改天所在月份的月历。
对于要求3:判断日期是否合法,可以先判断年月日是否有小于0的值,月和日是否有超出最大值12和31 ,如果通过此判断合法,再判断是否时闰年,如果时闰年,则判断二月份是否满足要求,闰年二月份不能超过29天,平年二月份不能超过28天。
万年历C语言课程设计(内附程序)
C语言课程设计万年历摘要本课程设计报告介绍的是C语言实习中的万年历项目。
该报告共分五章,第一章介绍选题意义,也就是我选择万年历作为课题项目的理由。
第二章是系统的分析,包括系统概述,系统的构成,其中包括各个模块功能的分析介绍,该章节的最后介绍了各部分的功能,即组成程序的各个函数的功能介绍。
第三章是系统的实现,即为各个功能的实现而服务的十个自定义函数的流程图,通过这十个流程图,您可以快速地明白程序功能的实现过程。
第四章是总结,即本人在设计万年历程序过程中的心得,以及在整个程序设计过程中我的工作过程,也体现了我的设计思路。
第五章是参考文献,在这里我主要查阅了《C程序设计(第三版)》中的C函数附表,另外有几处欠缺的知识,我借鉴了另一本书上的相关部分。
第六章,也是最后一章,我把整个程序的源代码及其注释附上。
由于本人水平所限,程序也不可能很完美,必定有一些漏洞和拖沓,还请谅解。
好了,从这里开始,我将与你们分享我我在整个万年历程序设计中的所做所想。
目录1.选题的意义 (4)2.系统的分析 (5)2.1系统概述 (5)2.2系统的构成 (5)2.3各模块的功能 (5)2.4系统的运行环境 (5)3.系统实现 (6)4.总结 (11)5.参考文献 (12)6.附录(程序源代码) (13)第一章选题的意义(1)通过万年历的设计,使我们掌握软件开发过程的问题分析、系统设计、程序编写、测试等基本方法和技能。
(2)通过万年历的设计,熟练掌握C语言中的分支、循环、数组、函数、文件操作等的综合运用。
(3)通过万年历的设计,可以培养独立思考、综合运用所学有关相应知识的能力,更好地巩固《C程序设计》课程中的所学内容。
(4)通过万年历的设计,可以强化自己的动手编程能力,更加深刻地感受C语言的优点。
(5)万年历与我们的生活联系密切,通过万年历的设计,我们可以感受知识与实践相结合的乐趣。
第二章系统的分析(1)系统概述:该程序可以实现系统当前日期所在月份的日历显示功能,日期查询功能,程序的初始日期设定功能,还有把给定年份的日历输出到txt文档中的功能。
C语言 程序设计 节日查询和任务提醒系统-万年历
程序设计报告( 2010 / 2011 学年第二学期)题目:节日查询和任务提醒系统专业光信息科学与技术学生姓名史明霞,陈苏华,毛胤,张春龙,赵梁班级学号B100301指导教师金仙力日期2011年3月11日分工说明:本课题有本小组各成员分工合作完成。
前期查询资料工作由全体成员一起完成,充分利用了网络资源。
中间主要由赵梁和毛胤完成主程序,由其他成员配合子程序。
由张春龙,陈苏华,史明霞完成实验报告和PPT 等后期文字工作。
最后有全体成员一起扫尾,查漏补缺。
目录1.实验目的 (3)2.设计目标 (5)3.对问题的分析理解 (5)4. 算法中涉及的知识点 (7)5.设计用的计算机环境 (7)6 结论 (7)7.源代码 (8)8. 效果图 (20)1.实验目的1.熟悉C语言运行环境Microsoft visual C++2.会简单的程序调试3.熟悉C语言各种类型数据的输入输出函数的使用方法4.掌握顺序结构程序设计2.设计目标:设计一个简单的日历﹑月历系统,支持节日查询,任务提醒功能,用C或C++语言实现。
本系统的基本功能:(1)日历﹑月历功能:界面能够显示日历和月历,默认为当月的月历。
能够通过上下翻页查询每月的月历。
(2)日历查询:根据输入日期查询月历。
(3)支持农历查询。
(4)显示星期功能。
(5)显示季节功能。
(6)具有节日查询功能。
(7)可查询是否是闰年。
(8)可查询今天是今年的第几天。
(9)任务提醒:可添加﹑删除﹑修改﹑查询任务功能。
3.对问题的分析理解3.1 要输入任一年显示出该年的所有月份日期,应该先设计具体的输出格式,如下:the calendar of the year2011.JanuarySun Mon Tue Wed Thu Fri Sat12 3 4 5 6 7 89 10 11 12 13 14 1516 17 18 19 20 21 2223 24 25 26 27 28 2930 31FebruarySun Mon Tue Wed Thu Fri Sat1 2 3 4 56 7 8 9 10 11 1213 14 15 16 17 18 1920 21 22 23 24 25 2627 28=============================================…………3.2 判断是不是闰年(year%4!=0||year%100==0&&year%400!=0)满足条件就是平年,把一年中的所有月份分为四类(28,29,30,31)。
万年历c语言代码讲解
万年历c语言代码讲解摘要:一、万年历C语言代码讲解简介1.万年历的概念及用途2.C语言代码讲解的重要性二、C语言代码基础1.C语言简介2.C语言基本语法3.C语言的数据类型与变量三、万年历C语言代码实现1.计算闰年2.计算月份的天数3.计算日期的星期4.输出万年历四、万年历C语言代码的优化与拓展1.代码性能优化2.功能的拓展与实现五、总结1.万年历C语言代码讲解的意义2.对编程能力的提升正文:一、万年历C语言代码讲解简介万年历是一种记录了公历日期的工具,它可以帮助我们快速查询公历日期对应的农历、节日、提醒等信息。
C语言是一种广泛应用于计算机领域的编程语言,掌握C语言编程对于学习其他编程语言有很大的帮助。
本文将详细讲解万年历C语言代码的实现过程,帮助读者更好地理解C语言编程。
二、C语言代码基础1.C语言简介C语言是一种高级编程语言,由丹尼斯·里奇(Dennis Ritchie)于20世纪70年代在贝尔实验室开发。
C语言具有良好的性能和可移植性,被广泛应用于操作系统、嵌入式系统、硬件驱动等领域。
2.C语言基本语法C语言的基本语法包括变量声明、数据类型、运算符、控制结构、函数等。
了解这些基本语法对于编写C语言代码至关重要。
3.C语言的数据类型与变量C语言的数据类型包括整型、浮点型、字符型等。
变量是存储数据的容器,通过变量名来表示。
声明变量时需要指定变量的数据类型和存储空间。
三、万年历C语言代码实现1.计算闰年闰年是指公历年份可以被4整除但不能被100整除的年份,或者是可以被400整除的年份。
通过编写一个函数,我们可以判断一个年份是否为闰年。
2.计算月份的天数根据公历规定,每个月的天数不同。
通过编写一个函数,我们可以计算指定月份的天数。
3.计算日期的星期通过编写一个函数,我们可以根据公历日期计算对应的星期。
4.输出万年历根据用户输入的日期范围,输出对应的万年历信息。
四、万年历C语言代码的优化与拓展1.代码性能优化在实现万年历C语言代码的过程中,可以通过优化算法、使用更高效的函数等方式提高代码性能。
C语言程序设计报告―“万年历”
C语言程序设计报告―“万年历”一、程序实现的功能“万年历”,也叫做历法及历历,是一种用于计算日期及节假日的日历,它可以帮助我们计算一些特定的日期及其所属的节日。
本程序通过C语言实现了一款传统的“万年历”的功能,它可以根据用户输入的年份和月份,打印出当月的日历表格,以及当月的公历及节假日。
二、程序的功能结构及总体设计本程序的功能结构如下:(1)输入年份及月份,计算出当月有多少天;(2)根据此判断出当月的第一天是星期几;(3)将前面算出的信息用表格形式打印出来;(4)计算当月的节假日及其所属的日期;(5)将节假日打印到表格中,形成一张完整的月历表。
程序的总体设计,主要由两部分组成:(1)调用函数实现实际的打印功能;(2)实现主函数的调用以控制程序的流程。
1. 程序结构:程序的核心是对日历表的生成,其结构如下:主函数:负责主函数的调用,以控制程序的流程。
日历表生成函数:调用该函数以生成日历表;在调用该函数之前,首先运行“getfirstday”函数,以计算当月的第一天是星期几;然后调用“dayOut”函数,将当月的日期和节日打印出来。
“getfirstday”函数:该函数用来计算某年某月的第一天是星期几,实现的核心思想是以1900年为基准,计算出某年某月离1900年相差多少天,然后根据求出的和1900年的差值,计算出当月的第一天是星期几;此外,还进行了考虑闰年等特殊情况的特别处理,以进一步检查结果。
2. algorithm:(1) 从键盘输入年份及月份,将年份及月份保存在相应的变量中;(2) 调用“getfirstday”函数,计算出当月的第一天是星期几;(3) 调用日历表生成函数,生成当月的日历表;(4) 输出生成的日历表,完成程序的运行。
四、程序的测试为了验证本程序的可行性,我进行了严格的测试,并与电子版的日历比较,测试结果表明,本程序的结果完全一致,能够满足正确的要求,用户可以使用该程序进行相应的日历计算。
C语言万年历 有节日可搜索
#include"stdio.h"main(){int Y[12]={31,28,31,30,31,30,31,31,30,31,30,31};int a=0,b=0,c=0,d=0,i=0,n=0,hx=0,kg=0,lj=0,lj1=lj;/*a管年份,b管月份,c赋值某月天数,hx是横线,kg是空格,lj是连接*/printf("\t\t\t万年历\n");while(1){a=0,b=0,c=0,d=0,i=0,n=0,hx=0,kg=0,lj=0,lj1=lj;printf("输入年份:");scanf("%d",&a);printf("输入月份:");scanf("%d",&b);if(b<=0||b>12){printf("\t【输入错误!】\n");continue;}lj=4;if(a>=2015)while(n+2015<=a){ if((n+2015)%4==0)Y[1]=29;elseY[1]=28;if(n+2015==a){ for(i=0;i<b-1;i++)lj=(lj+Y[i])%7;break;}for(i=0;i<12;i++)lj=(lj+Y[i])%7;n++;}if(a<2015)while(2014-n>=a){ if((2014-n)%4==0)Y[1]=29;elseY[1]=28;if(2014-n==a){ for(i=11;i>=b-1;i--)lj=7-(7-lj+Y[i])%7;break;for(i=11;i>=0;i--)lj=7-(7-lj+Y[i])%7;n++;}for(hx=57;hx--;)printf("_");printf("\n");for(kg=7;kg--;)printf("| ");printf("|\n");printf("| 日| 一| 二| 三| 四| 五| 六|\n");for(kg=7;kg--;)printf("|_______");printf("|\n");for(hx=7;hx--;)printf("| ");printf("|\n");for(hx=7;hx--;)printf("| ");printf("|\n");/*8到21是顶上框架*/lj1=lj;c=Y[b-1];for(;c--;c){ d++;for(;lj;lj--)printf("| ");printf("| %2d ",Y[b-1]-c);if((d+lj1)%7==0){printf("|\n");for(kg=1;kg<=7;kg++){ if(b==1&&d+kg-7==1)/*lj空格是一次性显示完的,所以d就是当月的天数,此循环是从d=7开始的,也就是月份开始一周后,所以减七天就和月份对上了*/ { printf("| 元旦节");continue;}if(b==2&&d+kg-7==14){ printf("| 情人节");continue;if(b==3&&d+kg-7==3){ printf("| 爱耳日");continue;}if(b==3&&d+kg-7==8){ printf("| 妇女节");continue;}if(b==3&&d+kg-7==12){ printf("| 植树节");continue;}if(b==4&&d+kg-7==1){ printf("| 愚人节");continue;}if(b==5&&d+kg-7==1){ printf("| 劳动节");continue;}if(b==5&&d+kg-7==4){ printf("| 青年节");continue;}if(b==5&&(d+kg+lj1-8)/7.0==2){ printf("| 母亲节");continue;}if(b==6&&d+kg-7==1){ printf("| 儿童节");continue;}if(b==6&&(d+lj1+kg-8)/7.0==3){ printf("| 父亲节");continue;/*不用lj1只能找运算成功的数,而有lj1才能确定位置,它是星期几只是位置问题。
用C语言实现万年历
//任务五:万年历程序#include<stdio.h>#include<stdlib.h>#include<string.h>void DataTrans(char *chDate,int *nY ear,int *nMonth,int *nDay);int IsLeapY ear(int nY ear);int GetWeekOfFirstday(int nY ear);int GetWeek(int nY ear,int nMonth,int nDay,int nWeekOfFirstday);void PrintCalendar(int nWeek,int nDay,int nMonthDays,char *chDate);int nDaysY ear[]={31,28,31,30,31,30,31,31,30,31,30,31};int nDaysLeapY ear[]={31,29,31,30,31,30,31,31,30,31,30,31};main(int argc,char *argv[]){char chDate[11];//输入查询日期int nY ear=0,nMonth=0,nDay=0;////查询日期对应的年、月、日int nWeekOfFirstday;//查询年的1月1日是周几int nDaysOfMonth;//查询当月总天数int nWeek;//查询日是周几if(argc>1){strcpy(chDate,argv[1]);}else{printf("Please enter the date(YYYY/MM/DD or YYYY.MM.DD or YYYY/MM or YYYY.MM):\n");gets(chDate);}DataTrans(chDate,&nY ear,&nMonth,&nDay);if(nY ear<=0||nMonth<1||nMonth>12){printf("Input error!\n");exit(0);}if(IsLeapY ear(nY ear)){nDaysOfMonth=nDaysLeapYear[nMonth-1];}else{nDaysOfMonth=nDaysY ear[nMonth-1];}nWeekOfFirstday=GetWeekOfFirstday(nY ear);if(strlen(chDate)==10){nWeek=GetWeek(nY ear,nMonth,nDay,nWeekOfFirstday);if(nDay<1||nDay>nDaysOfMonth){printf("Input error!\n");exit(0);}}if(strlen(chDate)==7){nWeek=GetWeek(nY ear,nMonth,1,nWeekOfFirstday);}PrintCalendar(nWeek,nDay,nDaysOfMonth,chDate);}void DataTrans(char *chDate,int *nY ear,int *nMonth,int *nDay)//将字符串表示的日期变换为整数分别表示的年、月、日{*nY ear=(chDate[0]-'0')*1000+(chDate[1]-'0')*100+(chDate[2]-'0')*10+(chDate[3]-'0');*nMonth=(chDate[5]-'0')*10+(chDate[6]-'0');*nDay=(chDate[8]-'0')*10+(chDate[9]-'0');}int IsLeapY ear(int nY ear)//判断给定的年份是否是闰年{if(((nY ear%4==0)&&(nY ear%100!=0))||(nY ear%400==0))return 1;elsereturn 0;}int GetWeekOfFirstday(int nY ear)//查询年nY ear1月1日是周几{int i,m,n,temp;if(nY ear==2000){return 6;}else if(nY ear>2000){i=nY ear-2000;if(i==1){temp=(366+1-2)%7;if(temp==0)return (temp+7);elsereturn temp;}else{m=(i-1)/4;n=(i-1)%4;temp=(366+(365*3+366)*m+365*n+1-2)%7;if(temp==0)return (temp+7);elsereturn temp;}}else{i=2000-nY ear;m=i/4;n=i%4;temp=((365*3+366)*m+365*n+2)%7;if(temp==0)return 1;elsereturn (8-temp);}}int GetWeek(int nY ear,int nMonth,int nDay,int nWeekOfFirstday)//查询日是周几{int sum;int i,j;sum=nDay;if(IsLeapY ear(nY ear)){for(i=0;i<(nMonth-1);i++){sum+=nDaysLeapY ear[i];}sum=(sum-1)%7;sum+=nWeekOfFirstday;if(sum>7)return (sum-7);elsereturn sum;}else{for(i=0;i<(nMonth-1);i++){sum+=nDaysY ear[i];}sum=(sum-1)%7;sum+=nWeekOfFirstday;if(sum>7)return (sum-7);elsereturn sum;}}void PrintCalendar(int nWeek,int nDay,int nMonthDays,char *chDate)//根据查询日、星期几打印日历{int i,j;if(strlen(chDate)==7){printf("The calendar of this month as following:\n");printf("*********************************\n");printf("SUN MON TUE WEN THE FRI STA\n");if(nWeek==7){for(i=1;i<=nMonthDays;i++){printf("%2d ",i);if(i%7==0)printf("\n");}if(i!=28)printf("\n");}else{for(j=0;j<5*nWeek;j++){printf(" ");}for(i=1;i<=nMonthDays;i++){printf("%2d ",i);if((i-(7-nWeek))%7==0)printf("\n");}if((nMonthDays-(8-nWeek))%7!=6)printf("\n");}printf("*********************************\n");printf("OK!\n");}if(strlen(chDate)==10){printf("This day (");printf("%s",chDate);printf(") is ");switch(nWeek){case 1:printf("MONDAY(1)\n");break;case 2:printf("THESDAY(2)\n");break;case 3:printf("WEDNESDAY(3)\n");break;case 4:printf("THURDAY(4)\n");break;case 5:printf("FRIDA Y(5)\n");break;case 6:printf("SA TURDAY(6)\n");break;case 7:printf("SUNAY(7)\n");break;default:printf("error!\n");exit(0);}printf("OK!\n");}}。
万年历代码c语言
万年历代码c语言万年历是一种实用的日历工具,它可以根据年、月、日来显示当天的日期信息,并可以切换到其他日期来查询对应的日期信息。
在编写万年历的代码时,我们需要考虑输入的年份是否为闰年、每个月的天数、以及每个月第一天是星期几等等。
以下是一份使用C语言编写万年历的参考代码:```c#include <stdio.h>// 判断是否为闰年int isLeapYear(int year) {return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); }// 获取某年某月的天数int getMonthDays(int year, int month) {int days[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};if (month == 2 && isLeapYear(year)) {return 29;}return days[month - 1];}// 获取某年某月第一天是星期几int getFirstDayOfWeek(int year, int month) {int day = 1;for (int i = 1800; i < year; i++) {if (isLeapYear(i)) {day = (day + 366) % 7;} else {day = (day + 365) % 7;}}for (int i = 1; i < month; i++) {day = (day + getMonthDays(year, i)) % 7;}return day;}int main() {int year, month;printf("请输入年份:");scanf("%d", &year);printf("请输入月份:");scanf("%d", &month);// 判断输入是否合法if (year < 1800 || month < 1 || month > 12) {printf("输入的年份或月份不合法!\n");return 0;}// 获取某年某月的天数和第一天是星期几int days = getMonthDays(year, month);int firstDayOfWeek = getFirstDayOfWeek(year, month); // 打印万年历printf("日一二三四五六\n");for (int i = 0; i < firstDayOfWeek; i++) {printf(" ");}for (int i = 1; i <= days; i++) {printf("%2d ", i);if ((firstDayOfWeek + i) % 7 == 0) {printf("\n");}}printf("\n");return 0;}```以上代码实现了一个简单的万年历功能,在控制台输出给定年份和月份的月历。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计报告( 2010 / 2011 学年第二学期)·题目:节日查询和任务提醒系统》专业光信息科学与技术学生姓名史明霞,陈苏华,毛胤,张春龙,赵梁班级学号 B指导教师金仙力日期 2011年3月11日分工说明:)本课题有本小组各成员分工合作完成。
前期查询资料工作由全体成员一起完成,充分利用了网络资源。
中间主要由赵梁和毛胤完成主程序,由其他成员配合子程序。
由张春龙,陈苏华,史明霞完成实验报告和PPT 等后期文字工作。
最后有全体成员一起扫尾,查漏补缺。
…目录1.实验目的......................................................... (3)2.设计目标.............................. 错误!未定义书签。
3.对问题的分析理解...................... 错误!未定义书签。
^4. 算法中涉及的知识点.................... 错误!未定义书签。
5.设计用的计算机环境.................... 错误!未定义书签。
6 结论.................................. 错误!未定义书签。
7.源代码................................ 错误!未定义书签。
:8. 效果图......................................................... . (20)1.实验目的1.熟悉C语言运行环境 Microsoft visual C++2.会简单的程序调试3.熟悉C语言各种类型数据的输入输出函数的使用方法4.掌握顺序结构程序设计2.设计目标:设计一个简单的日历﹑月历系统,支持节日查询,任务提醒功能,用C或C++语言实现。
本系统的基本功能:(1)日历﹑月历功能:界面能够显示日历和月历,默认为当月的月历。
能够通过上下翻页查询每月的月历。
(2)日历查询:根据输入日期查询月历。
.(3)支持农历查询。
(4)显示星期功能。
(5)显示季节功能。
(6)具有节日查询功能。
(7)可查询是否是闰年。
(8)可查询今天是今年的第几天。
(9)任务提醒:可添加﹑删除﹑修改﹑查询任务功能。
#3.对问题的分析理解3.1 要输入任一年显示出该年的所有月份日期,应该先设计具体的输出格式,如下:the calendar of the year2011.JanuarySun Mon Tue Wed Thu Fri Sat12 3 4 5 6 7 8&9 10 11 12 13 14 1516 17 18 19 20 21 2223 24 25 26 27 28 2930 31FebruarySun Mon Tue Wed Thu Fri Sat;1 2 3 4 56 7 8 9 10 11 1213 14 15 16 17 18 1920 21 22 23 24 25 2627 28=============================================…………【3.2 判断是不是闰年 (year%4!=0||year%100==0&&year%400!=0)满足条件就是平年,把一年中的所有月份分为四类(28,29,30,31)。
3. 3 求出一年中的第一天是周几(year +(year-1)/4-(year-1)/100+(year-1)/400)%7。
3.4 有指针数组存放十二个月的英文和星期的英文缩写。
3.5 用FOR循环输出各月份的日历~3.6 调用windows函数system (“color 10 ”)设置字体和背景颜色。
3.7 懂得农历转换公式。
5.算法中涉及的知识点5.1 定义整型,字符型,指针变量,字符型数组和指针数组。
数组的初始化和引用和指针的使用。
5.2 函数的定义、声名、调用以及函数的返回值。
5.3 程序的三种基本结构:顺序,选择,循环。
if语句的嵌套,for语句的嵌套,switch ~ case语句的应用。
?5.5 赋值语句的使用。
5.6 输入( scanf )输出( printf )函数的应用。
5.7 算术运算符、关系运算符和逻辑运算符的应用。
5.7文件的各种应用;结构的应用;模块化程序设计的相关知识。
6.设计用的计算机环境】Microsoft Visual C++7.结论经过运行和调试得到了想要的结果—“万年历”,任意输入一个年份能按当初设计的格式输出每个月份的日历。
而且还支持各种强大的功能,如:闰年查询,星期,可上下翻页等功能。
但也存在一些问题。
对C语言在编写程序时的用处有了更明确的认识,懂得了编写C程序的一般法方步骤。
最大的收获是,编写程序时一定要有信心和勇气,要相信自己一定可以把这个程序编写出来。
分析问题做出算法,想好思路,在心里有个大致的框架,然后按部就班的记下自己想到的每一点内容,把写下的东西认真整理,查缺补漏,把一些细节的地方补上,就这样一个貌似很难的程序就写出来了(其实编程并不难,关键是要投入,要钻到里面去)。
下一步就是读程序了,读程序时一定要小心仔细,一条语句一条语句的读,看是否能输出自己想要输出的结果,如果发现错误要马上改过来,再接着向下读,直到把程序调试的完美无缺为至。
8.源代码#include <>)#include <>#include <>#include <>#include <>#include <>#include <>#include <>%#define TRUE 1#define CURU 72#define CURD 80#define CURL 75#define CURR 77#define ESC 27#define ENTER 13、#define A 49ear,memo[i].month,memo[i].day,memo[i].num,memo[i].messege);}0a056a0a0a6a0a06a052f4a1c0c4a8a056a1a0a0a0a9a0a0f056a0a6a195a0a0a27a06a074a055c0c4a056a0a4a0 a0a0a0a076a0a5a0a0a年份查询*************** =\n");printf(" = ***************2.按月份查询*************** =\n");printf(" = ***************3.按日期查询*************** =\n");printf(" = ***************4.备忘录 *************** =\n");printf(" = ***************5.节日查询 *************** =\n");printf(" = ***************6.农历查询 *************** =\n");(printf(" = ***************7.退出系统 *************** =\n");printf(" = ****************************************** =\n");printf(" =============================================================\n");}询年历 *************** =\n");printf(" = ***************2.是不是闰年*************** =\n");printf(" = ***************3.返回主菜单*************** =\n");|printf(" = ****************************************** =\n");printf("=============================================================\n");printf(" 注:输入其它字符则直接返回主菜单!!\n");}else{goto repeat;}、printf("\n");ch=getch();system("cls");switch(ch){case A:{printf("\n");/printf("\n");printf("\n");printf(" ☆☆☆万年历查询☆☆☆\n");printf("********************************************************************************\n");printf(" 查询中...\n");buffer(1);system("cls");printWNL(year);《printf(" 按《任意键》返回主菜单 ");ch=getch();if(ch==ENTER)break ;}break;case B:{if(isRunNian(year)):{printf(" ☆☆☆万年历查询☆☆☆\n");printf("********************************************************************************\n");printf(" 按年份查询\n");printf("=============================================================\n");printf(" = ****************************************** =\n");printf(" = ************* %4d年是闰年 *************** =\n",year);printf(" = ****************************************** =\n");…printf("=============================================================\n");printf(" 按《任意键》返回主菜单 ");ch=getch();if(ch==ENTER)break ;}else{/printf(" ☆☆☆万年历查询☆☆☆\n");printf("********************************************************************************\n");printf(" 按年份查询\n");printf("=============================================================\n");printf(" = ******************************************=\n");printf(" = ************* %4d年不是闰年 *********** =\n",year);printf(" = ****************************************** =\n");printf("=============================================================\n");…printf(" 按《任意键》返回主菜单\n");ch=getch();if(ch==ENTER)break ;}};break;case C:break;default:goto loop;?}}询月历 *********** =\n");printf(" = ***************2.返回主菜单*********** =\n");printf(" = ****************************************** =\n");printf("=============================================================\n");printf("\n");|}ch = getch();switch(ch){case A:{do{system("cls"); 6f询日历 *************** =\n");~printf(" = ***************2.查询本日是今年的第几天*** =\n");printf(" = ***************3.返回主菜单*************** =\n");printf(" = ****************************************** =\n");printf("=============================================================\n");printf("\n");ch=getch();switch(ch){{case A:{do{system("cls"); 示所有信息************** =\n");printf(" = **************2.添加备忘录**************** =\n"); printf(" = **************3.查询备忘录**************** =\n");printf(" = **************4.修改备忘录**************** =\n");。