c语言课程设计电子日历

合集下载

c语言日历课程设计

c语言日历课程设计

c语言日历课程设计一、课程目标知识目标:1. 学生能理解并掌握C语言中结构体、数组、函数等基本概念及其应用。

2. 学生能运用C语言编写程序,实现日历的显示、日期的计算和查询等功能。

3. 学生了解并掌握C语言中文件操作的基础知识,能够实现日历数据的保存和读取。

技能目标:1. 学生能够运用所学知识,独立设计并实现一个具有基本功能的日历程序。

2. 学生能够运用调试工具对程序进行调试,找出并修正程序中的错误。

3. 学生能够通过编写程序,锻炼逻辑思维能力和解决问题的能力。

情感态度价值观目标:1. 学生在学习过程中,培养对编程的兴趣和热情,树立编程学习的自信心。

2. 学生通过小组合作,培养团队协作精神和沟通能力,增强集体荣誉感。

3. 学生能够认识到编程在生活中的实际应用,提高对计算机科学的认识和尊重。

分析课程性质、学生特点和教学要求:1. 本课程为C语言编程实践课,注重培养学生的实际操作能力和编程思维。

2. 学生为高中生,具备一定的编程基础和逻辑思维能力,但对复杂问题解决能力有待提高。

3. 教学要求以学生为主体,注重启发式教学,引导学生自主探究和合作学习。

1. 熟练掌握C语言基础知识,如结构体、数组、函数等。

2. 独立设计和实现日历程序,具备基本的编程能力。

3. 能够进行程序的调试和优化,提高解决问题的能力。

4. 增强对编程学习的兴趣和自信心,培养良好的团队协作和沟通能力。

二、教学内容1. 结构体和数组的使用:- 结构体定义及使用方法- 结构体数组及其操作- 课本第四章相关内容2. 函数的编写与应用:- 函数定义、声明和调用- 递归函数的理解与应用- 课本第三章相关内容3. 日历算法设计与实现:- 日期计算方法(如闰年判断、每月天数计算)- 日历显示格式设计- 课本第二章相关内容4. 文件操作:- 文件的打开、关闭、读写操作- 日历数据的保存与读取- 课本第五章相关内容5. 程序调试与优化:- 常见错误类型及调试方法- 代码优化技巧- 课本第六章相关内容6. 实践项目:日历程序设计与实现- 学生分组进行项目实践,运用所学知识完成日历程序设计- 包括日历显示、日期查询、添加备忘录等功能- 结合课本各章节内容进行教学安排教学进度安排:1. 结构体和数组(2课时)2. 函数编写与应用(2课时)3. 日历算法设计与实现(3课时)4. 文件操作(2课时)5. 程序调试与优化(1课时)6. 实践项目:日历程序设计与实现(4课时)教学内容安排注重科学性和系统性,结合课本各章节内容,使学生能够逐步掌握C语言编程知识,为完成日历程序设计奠定基础。

电子日历c课程设计

电子日历c课程设计

电子日历 c 课程设计一、课程目标知识目标:1. 学生能理解电子日历的基本概念,掌握其功能与操作方法。

2. 学生能了解电子日历在生活中的应用,认识到电子日历与传统日历的区别。

3. 学生能运用所学知识,分析电子日历的优缺点。

技能目标:1. 学生能独立操作电子日历,进行日期查询、日程安排等基本操作。

2. 学生能利用电子日历进行时间管理,提高学习效率。

3. 学生能通过小组合作,共同完成一个创意电子日历项目,锻炼团队协作能力。

情感态度价值观目标:1. 学生培养对电子产品的兴趣,激发学习信息技术的热情。

2. 学生认识到时间管理的重要性,养成良好的时间观念。

3. 学生在合作过程中,学会尊重他人意见,培养团队协作精神。

课程性质:本课程为信息技术课程,旨在帮助学生掌握电子日历的使用方法,提高时间管理能力。

学生特点:六年级学生已具备一定的信息技术基础,对电子产品有一定了解,好奇心强,善于合作。

教学要求:教师需关注学生的个体差异,提供个性化的指导,鼓励学生积极参与,注重培养实践操作能力和团队协作能力。

通过本课程的学习,使学生将所学知识应用于生活,提高自身素质。

二、教学内容1. 电子日历的认识:介绍电子日历的定义、发展历程及其与传统日历的异同,帮助学生建立电子日历的基本概念。

- 教材章节:第一章 信息技术与日常生活2. 电子日历的功能与操作:讲解电子日历的主要功能,如日期查询、日程安排、闹钟提醒等,并指导学生进行实际操作。

- 教材章节:第二章 电子产品及其应用3. 时间管理:引导学生运用电子日历进行时间管理,提高学习效率,培养学生良好的时间观念。

- 教材章节:第三章 信息技术与时间管理4. 创意电子日历项目:组织学生分组合作,设计并实现一个具有特色的电子日历项目,提高学生团队协作能力和创新能力。

- 教材章节:第四章 信息技术与项目实践5. 电子日历的评价:分析电子日历的优缺点,引导学生正确看待电子产品,培养学生客观评价事物的能力。

C语言课程设计万年历打印(20191225204701)

C语言课程设计万年历打印(20191225204701)

void thirdFun( int year , int month , int day ); // 第三功能
各程序流程图如下:
4
firstFun() 函数 开始
判断是否打印了 6

和 12 月份的日历
否 打印某月日历
结束
图 2.1 程序流程图(一)
secondFun() 函数 开始
判断是否月末的
打印某年某月
提示信息
日历模块
计算距今天数和 判断节日模块
图 1.2 功能模块图
3
2 详细设计
2.1 数据结构
建立日历信息结构体,结构体成员变量包括月末、月初星期几、屏幕信息左半边日历是 否打印完毕。
typedef struct calendar {
int month_end; int first_day;
1.1 需求分析 ............................................................................................................................2.... 1.2 功能流程图 .........................................................................................................................2... 1.3 功能模块图 .........................................................................................................................3... 2 详细设计 .......................................................................................................................................4.... 2.1 数据结构 ............................................................................................................................4.... 2.2 函数功能设计 .....................................................................................................................4... 3 调试分析 .......................................................................................................................................7.... 3.1 程序测试 ............................................................................................................................7.... 3.2 程序缺陷 ............................................................................................................................9... 4 总结与体会 .................................................................................................................................1..0.. 参考文献 ........................................................................................................................................1..1.. 附录 ................................................................................................................................................1..2..

c语言课程设计电子日历

c语言课程设计电子日历

c语言课程设计电子日历一、课程目标知识目标:1. 理解C语言中结构体、数组、函数等基本概念及其在程序设计中的应用;2. 学会使用C语言编写具有日期计算功能的程序,掌握闰年和平年的判断方法;3. 掌握模块化编程思想,能将电子日历划分为多个功能模块并进行有效整合。

技能目标:1. 能运用C语言编写、调试简单的电子日历程序;2. 能运用结构体、数组等数据结构存储和管理日期数据;3. 能通过函数调用的方式实现日历的查询、添加、删除等功能。

情感态度价值观目标:1. 培养学生严谨、细心的编程习惯,提高问题分析和解决能力;2. 培养学生的团队合作意识,学会在团队中沟通、协作、共同完成任务;3. 激发学生对计算机编程的兴趣,培养探索精神,认识到编程在生活中的实际应用。

课程性质:本课程为实践性较强的课程,旨在让学生通过动手实践,掌握C语言编程技能,培养编程思维。

学生特点:高中生,具备一定的C语言基础,对编程有一定兴趣,但编程实践能力有待提高。

教学要求:注重理论与实践相结合,关注学生个体差异,鼓励学生积极参与,充分调动学生的主观能动性。

将课程目标分解为具体的学习成果,以便于教学设计和评估。

二、教学内容1. C语言基础知识回顾:结构体、数组、函数的定义与使用;2. 日期处理:闰年和平年的判断,日期的增加与减少;3. 电子日历功能模块设计:- 显示当前日期模块;- 查询日期模块;- 添加日程模块;- 删除日程模块;- 修改日程模块;4. 模块化编程:将电子日历划分为多个功能模块,并进行有效整合;5. 程序调试与优化:学会使用调试工具,找出程序中的错误并进行优化。

教学内容与教材关联性:1. C语言基础知识:参考教材第3章“数据类型”和第4章“控制语句”;2. 日期处理:参考教材第7章“数组”和第8章“函数”;3. 电子日历功能模块设计:结合教材第10章“结构体”和第11章“指针”;4. 模块化编程:参考教材第12章“文件操作”和第13章“模块化编程”。

c课程设计日历显示

c课程设计日历显示

c 课程设计日历显示一、教学目标本课程的目标是让学生掌握日历显示的基本知识和技能,能够运用编程语言实现简单的日历显示功能。

具体的学习目标包括:1.知识目标:学生需要了解日历的基本结构和相关概念,掌握日历显示的原理和方法。

2.技能目标:学生能够运用编程语言编写日历显示的程序,具备一定的编程能力和问题解决能力。

3.情感态度价值观目标:学生通过完成日历显示的项目,培养对编程和计算机科学的兴趣和热情,提高自我学习和探索的能力。

二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:1.日历的基本结构和相关概念:介绍日历的基本组成部分,如年、月、日、星期等,以及与之相关的概念如闰年、公历、农历等。

2.日历显示的原理和方法:讲解日历显示的基本原理和方法,包括日期计算、星期计算、闰年判断等。

3.编程实现日历显示:通过编程语言(如C语言)编写日历显示的程序,涉及变量定义、循环结构、条件语句等编程基础。

三、教学方法为了达到课程目标,本课程将采用多种教学方法相结合的方式进行教学:1.讲授法:教师通过讲解和演示,向学生传授日历的基本知识和编程方法。

2.讨论法:教师引导学生进行思考和讨论,通过提问和回答的方式促进学生的理解和思考。

3.案例分析法:教师通过分析具体的日历显示案例,让学生理解和掌握编程的思路和方法。

4.实验法:学生通过动手编写程序,实现日历显示的功能,培养编程能力和问题解决能力。

四、教学资源为了支持教学内容和教学方法的实施,本课程将准备以下教学资源:1.教材:选择合适的编程教材,提供日历显示的相关知识和编程指导。

2.参考书:提供相关的参考书籍,供学生进一步学习和深入研究。

3.多媒体资料:制作课件和教学视频,通过图文并茂的方式展示日历的基本知识和编程方法。

4.实验设备:提供计算机和其他实验设备,让学生能够实际编写程序并进行实验。

五、教学评估为了全面、客观、公正地评估学生的学习成果,本课程将采用多种评估方式相结合的方法。

C语言课程设计万年历 完整版

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语言程序设计》教学日历

《C语言程序设计》教学日历
课堂教学,实验课
实验十文件
注:因教学改革需要,课程上课时间与内容可能调整
教研室主任签字:教学科长签字:
说明:1、采用方式可分为:课堂讲授、讨论以及使用多媒体、投影仪、CAI、电子教案、录像
等现代化教学手段;
2、作业可注明作业内容、实验报告篇数等需要学生课外完成的作业;
3、每次课的内容占一格;
本科生教学日历
上课时间
计划教学内容
授课内容
授课方式
作业(实验)

1

第一章概述
1.1计算机语言和计算机程序
1.2程序设计方法
1.3程序的实现环境
1.4C语言和C++的发展
自主学习内容:计算机硬件和软件的相关概念和知识
课堂教学,实验课,自主学习
实验一 编译环境的使用

2

第二章程序设计初步
2.1 C程序的基本框架
5.3数组作为函数的参数
课堂教学,实验课
实验五数组(1)

8

第五章数组
5.4二维数组
5.5字符数组与字符串
5.6案例学习:计算课程平均成绩
课堂教学,实验课
实验五数组(2)

9

第六章指针
6.1指针和指针变量
6.2指针与数组
课堂教学,实验课
实验六指针(1)

10

第六章指针
6.3字符指针
6.4指针与函数

13

第八章自定义数据类型
8.1结构体
8.2案例学习:图书管理
课堂教学,实验课
实验八自定义数据类型

14

C语言---万年历(大一时的课程设计)

C语言---万年历(大一时的课程设计)

#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<time.h>#define leap(i) (i%400==0||i%4==0&&i%100!=0) /*判断是否为闰年*/#define main_printf printf("'S':上一月'F':下一月'E':下一年'D':上一年\n'空格键':手动输入'Backspace':返回系统时间\n'ESC':退出\t '回车键':开启日历\n")/*操作提示*/#define days(year,month)((month==4||month==6||month==9||month==11)?30:( (month!=2)?31:(year%400 ==0||year%4==0&&year%100!=0)?29:28))/*判断一个月有多少天*/#define head_place((timeinfo->tm_wday-(timeinfo->tm_mday%7-1)>=0)?(timeinfo->tm_wday -(timeinfo->tm_mday%7-1)):(timeinfo->tm_wday+(7-timeinfo->tm_mday% 7+1)))/*计算当月的头一天为星期几*/#define type_time time_t nowtime;struct tm *timeinfo;/*定义时间类型*/#define get_time (time( &nowtime ),timeinfo = localtime( &nowtime ))/*获得时间信息*/#define update_time ( now.day=timeinfo->tm_mday ,now.month=timeinfo->tm_mon+1 , now.year=timeinfo->tm_year+1900)/*更新当前时间*/struct date /*时间结构体*/{short year;short month;short day;}now, /*当前的时间*/check; /*查看的时间*/char move_relate[13]={0, 3,0,3, 2,3,2, 3,3,2, 3,2,3}; //每个月的头一天与下个月的头一天的水平距离//################################################### #################################################### ###//################################################### #################################################### ###voidinput()//----------------------------------------------------------------------------输入需要查看的月份{char inspect; //用于检查是否正确录入printf( "-----请输入需要查看的日期: '4位年份-2位月份' \n""\n""-----例如: %04d-%02d\n\n",now.year,now.month );//==================================================== ==================//====================循环,直到正确录入为止=============================while( rewind(stdin),(scanf("%4d-%2d%c",&check.year,&check.month,&inspect)!=3)||(check.year<0||check.year>10000)||(check.month<0||check.month>12)||inspect!=10)printf("请以正确的格式输入,如:%04d-%02d ( 0<=年份<=9999 , 0<月份<=12 )\n",now.year,now.month);}//################################################### #################################################### ######//################################################### #################################################### ######intcount()//---------------------------------------------------------------------------计算查看月份的头一天位置{int months= ( check.year - now.year )*12 + ( check.month - now.month ); /*月份之差*/int tally=0; /*计算两年份间的闰年数*/int i=0;int move=0; /*累计每个月头一天的偏移量*/type_time; //定义时间类型get_time; //获得时间信息//==================================================== =============================//=============================所查看日期在系统时间之后============================if(months>0){for(i=now.year;i<=check.year;i++) /*计算两年份间的闰年数*/{if(leap(i)) tally++;}if(check.month<=2&&leap(check.year)) tally--; //减去未涉及2月份的闰年if( now.month>2&&leap(now.year) ) tally--;move=(1)*(months/12) + tally; //每过一个非闰年,同一个月的头一天向后移一位for(i=0;i<months%12;i++){move+=move_relate[(i+now.month<=12)?i+now.month:i+now.month-12];//计算剩余各月份头一天的偏移总和}}//==================================================== ==============================//==============================所查看日期在系统时间之前============================else if(months<0){months=-months;for(i=check.year;i<=now.year;i++) /*计算两年份间的闰年数*/{if(leap(i)) tally++;}if(check.month>2&&leap(check.year)) tally--;//减去未涉及2月份的闰年,每包含一个闰年需向前推进一位if( now.month<=2&&leap(now.year) ) tally--;move=(-1)*(months/12) - tally; //每回移一个非闰年,同一个月的头一天向前移一位for(i=months%12;i>0;i--){move-=move_relate[ (now.month-i>=1)?now.month-i:12+(now.month-i) ];//计算剩余各月份头一天的偏移总和}}move+=head_place;move%=7;return (move>=0)?move:7+move;}//################################################### #########################################################//################################################### #################################################### #####void output(intstart_place)//-----------------------------------------------------------//输出需要查看的月份{int i,j,n,under_n;int record=7;int day=days(check.year,check.month); //判断该月所含有的天数;type_time; //定义时间类型get_time; //获得时间信息//==================================================== =======================================//======================================标题&logo========================================== system("cls");printf("万年历。

c程序课程设计日历

c程序课程设计日历

c程序课程设计日历一、教学目标本课程旨在通过C程序设计的学习,使学生掌握C语言的基本语法、编程技巧和相关概念,培养学生运用C语言进行程序设计的能力。

具体的教学目标如下:1.知识目标:(1)掌握C语言的基本语法和数据类型;(2)了解C语言的运算符和表达式;(3)学会使用C语言进行控制结构和函数的编写;(4)熟悉C语言的数组、指针和字符串的使用;(5)掌握C语言的文件操作和调试技巧。

2.技能目标:(1)能够运用C语言编写简单的程序;(2)具备一定的程序调试和排错能力;(3)能够独立完成小型项目的程序设计;(4)具备团队合作进行程序开发的能力。

3.情感态度价值观目标:(1)培养学生的编程兴趣,提高自主学习的积极性;(2)培养学生解决问题的能力和创新精神;(3)加强学生的团队合作意识和沟通能力。

二、教学内容根据教学目标,本课程的教学内容主要包括以下几个方面:1.C语言的基本语法和数据类型;2.C语言的运算符和表达式;3.C语言的控制结构,包括顺序结构、选择结构和循环结构;4.C语言的函数编写和调用;5.C语言的数组、指针和字符串的使用;6.C语言的文件操作;7.C语言的调试技巧;8.综合实例分析和项目实践。

三、教学方法为了达到教学目标,本课程将采用以下教学方法:1.讲授法:通过讲解C语言的基本语法、概念和编程技巧,使学生掌握相关知识;2.案例分析法:分析典型的C语言程序实例,使学生更好地理解和运用所学知识;3.实验法:上机实践,让学生亲自动手编写和调试程序,提高编程能力;4.讨论法:学生进行小组讨论,分享学习心得和编程经验,培养团队合作意识。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《C程序设计语言》(K&R);2.参考书:《C Primer Plus》、《C和指针》;3.多媒体资料:教学PPT、视频教程;4.实验设备:计算机、编程环境(如Code::Blocks、Visual Studio等);5.网络资源:在线编程平台(如LeetCode、牛客网等)。

c日历显示课程设计

c日历显示课程设计

c 日历显示课程设计一、课程目标知识目标:1. 让学生掌握日历的基础知识,包括星期、日期、月份和年份的表示方法。

2. 使学生了解不同历法的起源和特点,如公历、农历等。

3. 让学生学会如何使用日历查找特定日期,并了解日期与星期的对应关系。

技能目标:1. 培养学生动手制作日历的能力,运用所学知识设计简单的日历。

2. 提高学生运用日历进行时间管理和计划安排的能力。

3. 培养学生通过观察和思考,发现日历中隐藏的规律和周期性现象。

情感态度价值观目标:1. 培养学生珍惜时间、合理安排生活的意识。

2. 激发学生对历史文化的兴趣,了解历法发展的历史背景。

3. 培养学生合作交流、共同探讨的学习氛围,增强团队协作意识。

本课程针对五年级学生设计,结合学生的年龄特点和认知水平,注重知识性与趣味性的结合。

通过本课程的学习,使学生能够更好地了解时间概念,培养时间管理能力,同时提高学生的动手实践和团队协作能力。

课程目标旨在将理论知识与实际应用相结合,使学生在轻松愉快的氛围中掌握日历知识,培养良好的情感态度和价值观。

二、教学内容1. 日历的基础知识:包括星期的表示、日期、月份和年份的认识,以及日历的布局和结构。

- 教材章节:第三章“时间的计量”2. 历法的介绍:比较公历、农历等不同历法的特点和用途。

- 教材章节:第三章“历法的故事”3. 日历的使用方法:教授如何利用日历查询特定日期、计算日期间隔和判断星期。

- 教材章节:第三章“日历的运用”4. 制作手工日历:指导学生动手制作简单日历,加深对日历构成的理解。

- 教材章节:第三章“实践活动”5. 时间管理和计划安排:讨论如何合理安排时间,提高效率。

- 教材章节:第三章“时间管理”6. 日历中的规律和周期性:探索日历中的周期性现象,如闰年、季节变化等。

- 教材章节:第三章“时间的秘密”教学内容按照以上安排进行,确保学生能够系统地学习和掌握日历知识。

在教学过程中,结合实际案例和生活应用,使学生能够将所学知识内化为实际能力,培养良好的时间管理习惯。

c语言课课程设计日历

c语言课课程设计日历

c语言课课程设计日历一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,培养学生编程思维和解决问题的能力,提高学生的实际编程技能。

1.了解C语言的发展历程和特点。

2.掌握C语言的基本语法和规范。

3.熟悉常用的数据类型、运算符和控制结构。

4.理解函数的定义和调用。

5.掌握数组、字符串和指针的概念及应用。

6.能够使用C语言编写简单的程序,解决实际问题。

7.具备阅读和理解C语言程序的能力。

8.掌握常用的调试工具和技巧,能够独立排查程序错误。

情感态度价值观目标:1.培养学生对计算机科学的兴趣和热情。

2.培养学生勇于探索、创新的精神。

3.培养学生良好的编程习惯和团队协作意识。

二、教学内容教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数、数组、字符串和指针等。

具体安排如下:1.C语言概述:介绍C语言的发展历程、特点和基本语法。

2.数据类型和变量:讲解整型、浮点型、字符型等数据类型及其变量声明和使用。

3.运算符和表达式:介绍算术运算符、关系运算符、逻辑运算符等,以及它们的优先级和结合性。

4.控制结构:讲解顺序结构、选择结构(if-else)和循环结构(for、while)。

5.函数:包括函数的定义、声明、调用,以及函数的参数传递和返回值。

6.数组和字符串:讲解数组的声明、初始化和使用,字符串的基本操作。

7.指针:介绍指针的概念、声明和运算,指针与数组、函数的关系。

三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。

1.讲授法:通过讲解和演示,使学生掌握C语言的基本语法和概念。

2.案例分析法:通过分析实际案例,引导学生运用C语言解决实际问题。

3.实验法:让学生动手编写程序,培养学生的实际编程能力和解决问题的能力。

四、教学资源1.教材:《C程序设计语言》(K&R)或《C Primer Plus》。

2.参考书:提供一些相关的参考书籍,如《C语言编程思想》、《C语言实战》等。

《C语言程序设计》课程设计--年历显示

《C语言程序设计》课程设计--年历显示

南京航空航天大学金城学院《C语言程序设计》课程设计实验报告题目: _ 年历显示班级:学号:姓名:成绩:指导教师:完成日期:年月日目录一、程序的主要功能二、系统总框架图三、各模块的功能四、功能模块图五、程序结构流程图六、试验结果七、编程体会八、参考资料九、附录:程序清单及源程序一、程序的主要功能(1)可根据菜单进行日历显示(2)输入年月日显示当天星期几,是否为公历节日(3)自动获取系统当前日期,与输入日期比较(4)输入年月日,显示距今多少天二、系统总框架图三、各模块的功能int total (int yeara) //计算公元一年一月一日到输入年份之前的总天数int where (int yearb,int monb) //判断每月天数void when (int day) //判断输入日期是星期几void why(int month,int day) //公历节日判断void output_year() //年份输出void output_month() //年月输出void output_day() //年月日输出int main () //主函数四、功能模块图五、程序结构流程图六、试验结果七、编程体会刚开始没有想到去怎么做,查找资料知道了公元一年一月一日是星期一的切入点,然后事情就变得简单了。

还有就是在主函数中利用do while实现功能的循环。

最麻烦的是系统当前时间的获取,通过百度的查找,懂得了用tm 时间结构。

这次课设让我对c语言有了更深的认识八、参考资料(1)chinaunix博客(2)比特网(3)百度文库九、附录:程序清单及源程序#include <stdio.h>#include <time.h>int total (int yeara) //计算公元一年一月一日到输入年份之前的总天数{int i,s=0,a;for (i=1;i<=yeara-1;i++){if (i%4==0 && i%100!=0 || i%400==0)a=366;elsea=365;s=s+a;}return s;}int where (int yearb,int monb) //判断每月天数{int tian;switch (monb){case 1: tian=31;break;case 2:if(yearb%4==0 && yearb%100!=0 || yearb%400==0)tian=29;elsetian=28;break;case 3: tian=31;break;case 4: tian=30;break;case 5: tian=31;break;case 6: tian=30;break;case 7: tian=31;break;case 8: tian=31;break;case 9: tian=30;break;case 10: tian=31;break;case 11: tian=30;break;case 12: tian=31;break;}return tian;}void when (int day) //判断输入日期是星期几{switch(day){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 7: printf("该日为星期日\n");break;}}void why(int month,int day) //公历节日判断{if(month==1)if(day==1)printf("该日是元旦\n");elseprintf("该日不是公历节日!\n");if(month==3){switch(day){case 8: printf("该日是国际妇女节\n"); break;case 12: printf("该日是植树节\n"); break;default : printf("该日不是公历节日!\n"); break;}}if(month==4)if(day==5)printf("该日是清明节\n");elseprintf("该日不是公历节日!\n");if(month==5){switch(day){case 1: printf("该日是劳动节\n"); break;case 4: printf("该日是五四青年节\n"); break;default : printf("该日不是公历节日!\n"); break;}}if(month==6)if(day==1)printf("该日是儿童节\n");elseprintf("该日不是公历节日!\n");if(month==7)if(day==1)printf("该日是中国建党节\n");elseprintf("该日不是公历节日!\n");if(month==8)if(day==1)printf("该日是建军节\n");elseprintf("该日不是公历节日!\n");if(month==9){switch(day){case 3: printf("该日是抗日战争胜利纪念日\n"); break;case 10: printf("该日是教师节\n");break;default : printf("该日不是公历节日!\n"); break;}}if(month==10)if(day==1)printf("该日是国庆节\n");elseprintf("该日不是公历节日!\n");}void output_year() //年份输出{int year,d,di,did,z,j;printf("请输入年份(eg:2015):");scanf("%d",&year);z=total(year);for (j=1;j<=12;j++){d=z%7;printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");printf (" %d月份\n",j);printf ("sun mon tue wed thu fri sat\n");if (d<6)for (di=1;di<=d+1;di++)printf(" ");for (did=1;did<=where(year,j);did++){printf ("%d",did);if (did<10)printf (" ");elseprintf (" ");if (did==6-d || (did-6+d)%7==0 || did==where(year,j))printf ("\n");}z=z+where(year,j);}main();}void output_month() //年月输出{int year,m,n,d,di,did,j,Z,D;printf ("请输入所查日历的年月(eg:2015 01):");scanf ("%d%d",&m,&n);Z=total(m);for (j=1;j<=n-1;j++){D=where(m,j);Z=Z+D;}d=Z%7;printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");printf (" %d月份\n",n);printf ("sun mon tue wed thu fri sat\n");if (d<6)for (di=1;di<=d+1;di++)printf(" ");for (did=1;did<=where(m,n);did++){printf ("%d",did);if (did<10)printf (" ");elseprintf (" ");if (did==6-d || (did-6+d)%7==0 || did==where(m,n))printf ("\n");}main();}void output_day() //年月日输出{int d,h,j,k,l,x,y,z,Z,Z1,D,jian,judge;time_t timep;struct tm *p;time(&timep); //系统时间获取p =localtime(&timep); //此函数获得的tm结构体的时间,是已经进行过时区转化为本地时间printf ("请输入年月日(eg:2015 01 01):");scanf ("%d%d%d",&x,&y,&z);judge=where(x,y);if(judge<z || y>12)printf("输入日期不存在!");else{Z=total(x);for (j=1;j<=y-1;j++){D=where(x,j);Z=Z+D;}Z=Z+z;h=1900+p->tm_year;//时间赋值k=1+p->tm_mon;l=1+p->tm_mday;Z1=total(h);for (j=1;j<=k-1;j++){D=where(k,j);Z1=Z1+D;}Z1=Z1+l;jian=Z1-Z;printf ("输入日期距今有%d天\n",jian);d=Z%7;when(d);why(y,z);}main();}int main (){int number;printf("\n\n*************查询方式************* \n");printf("* 1.查询某年的日历 * \n");printf("* 2.查询某月的日历 * \n");printf("* 3.查询特定的日期 * \n");printf("* 4.查询结束--退出 * \n");printf("********************************** \n");do{printf("请输入查询方式:");scanf("%d",&number);switch(number){case 1: output_year(); break;case 2: output_month(); break;case 3: output_day(); break;case 4: break;default : printf("输入错误!\n--------------\n");break;}}while (number!=1 && number!=2 && number!=3 && number!=4);}。

c语言课程设计日历

c语言课程设计日历

c 语言课程设计日历一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构、算法和编程思想,培养学生具备基本的程序设计能力和良好的编程习惯。

具体分为以下三个部分:1.知识目标:学生能够理解并掌握C语言的基本语法、数据类型、运算符、表达式、语句、函数等基本概念;了解并掌握数组、指针、字符串、结构体等数据结构;理解并掌握基本排序算法和查找算法;了解并掌握程序设计的基本思想和方法。

2.技能目标:学生能够运用C语言编写简单的程序,解决实际问题;具备基本的程序调试和优化能力;具备良好的编程习惯和编程风格。

3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高学生分析问题、解决问题的能力,培养学生团队合作精神和自主学习能力。

二、教学内容教学内容主要包括C语言的基本语法、数据结构、算法和编程思想。

具体安排如下:1.C语言的基本语法:介绍C语言的基本数据类型、运算符、表达式、语句、函数等,使学生掌握C语言的基本编程结构。

2.数据结构:讲解数组、指针、字符串、结构体等数据结构的基本概念和应用,使学生能够熟练使用这些数据结构进行编程。

3.算法和编程思想:介绍基本的排序算法和查找算法,使学生掌握算法的基本原理和实现方法;讲解程序设计的基本思想和方法,培养学生具备良好的编程思维。

三、教学方法本课程采用讲授法、讨论法、案例分析法、实验法等多种教学方法,以激发学生的学习兴趣和主动性。

1.讲授法:通过讲解C语言的基本语法、数据结构、算法和编程思想,使学生掌握课程的基本知识。

2.讨论法:学生进行小组讨论,引导学生主动思考、提出问题和解决问题,培养学生的团队合作精神和沟通能力。

3.案例分析法:通过分析实际案例,使学生更好地理解C语言的应用和编程思想,提高学生的实际编程能力。

4.实验法:安排上机实验,让学生亲自动手编写程序,培养学生的实际编程能力和实验操作能力。

四、教学资源教学资源包括教材、参考书、多媒体资料和实验设备等。

c语言课程设计报告模板万年历

c语言课程设计报告模板万年历

C语言课程设计报告模板-万年历
引言
万年历是一个非常实用的工具,能够帮助人们快速查找任意日期的详细信息。

本报告将介绍我们设计的C语言万年历程序的实现及其功能。

设计目标
我们的设计目标是开发一个简单易用的C语言万年历程序,该程序应具备以下功能: - 显示指定年份的整年日历信息 - 显示指定年份指定月份的月历信息 - 显示指定日期的详细信息,如星期几、所在月份等 - 具备用户友好的交互界面
设计思路
我们的设计思路如下: 1. 获取用户输入的年份、月份和日期信息。

2. 判断用户输入的年份是否为闰年。

3. 根据用户输入的年份计算出该年份的1月1日是星期几。

4. 根据用户选择的功能,分别显示整年日历、月历或详细日期信息。

实现步骤
我们按照以下步骤实现了C语言万年历程序:
步骤一:获取用户输入
首先,我们使用scanf()函数获取用户输入的年份、月份和日期信息。

```c int year, month, day; printf(。

C语言电子日历程序设计

C语言电子日历程序设计

C语言电子日历程序设计一、项目要求设计一款电子日历,通过选择,实现如下5项功能:选择操作:1选择操作:2选择操作:3,根据输入的年-月,显示月历。

选择操作:4,根据输入年,显示年历。

部分年历如下图所示。

选择操作:5二、编译环境 Visuall C++6.0 + EasyX(Visual C++ 6.0),采用C++程序。

1. 创建工程在Visual C++6.0中,选择“文件”—>“新建”,弹出如下界面。

先创建工程,选择“Win32 Console Application”工程,给出存储位置和工程名,点“确定”按钮。

后面选择默认,即可。

2. 在工程中创建C++文件在Visual C++6.0中,选择“文件”—>“新建”,弹出如下界面。

刚才创建工程名给出文件名,不要给扩展名,默认创建C++文件,扩展名为cpp 点“确定”按钮,完成C++文件创建。

界面效果如下图所示。

3. 添加类库因为C语言中的图形库头文件graphics.h是Dos环境下的,只能使用TurboC进行编译调试,TurboC2.0环境不是图形化可视界面,调试程序不如VC++6.0。

但在Visual C++6.0中,原有C语言中的图形库头文件graphics.h不可用,有些人员开发了DLL文件,让Visual C++6.0能识别C语言的graphics.h,方便利用C语言进行图形化的设计。

即,要进行图形化设计,需要安装EasyX,添加类库。

安装过程如下:(1)双击EasyX中的Setup文件,效果如下图所示。

单击“下一步”,选择你的开发平台,安装类库。

这里选择Visual C++6.0即可,点击“安装”,弹出安装成功,“关闭”即可。

三、相关知识1. 本项目涉及到的头文件#include <stdio.h>#include <stdlib.h>#include <graphics.h>#include <conio.h>#include <math.h>(1) graphics.h是TC里面的图形库,分为:像素函数、直线和线型函数、多边形函数、填充函数等。

c语言课程设计简易万年历

c语言课程设计简易万年历

/**湖北师范学院信息工程1203班朱文峰**简易万年历* 1、输入年份,判断是否为闰年*2、输入年月日,判断改日为星期几*3、输入年份,打出12个月历,输入月份,打出该月的日历* 4、要求用多个函数实现*/#include<stdio.h>#include<stdlib.h>#include<windows.h>//每月的天数,闰年二月要加1int days[12]={31,28,31,30,31,30,31,31,30,31,30,31};//判断是否位闰年int isLeapYear(int year){if(year%4 == 0 && year%100 != 0 || year%400 == 0)return 1;elsereturn 0;}//判断某天为星期几int whichWeekday(int year, int month, int day){int weekday;//公式中要把1月和2月换成是上一年的13月和14月if (month == 1 || month == 2){month += 12;year -= 1;}//公式weekday=(day+2*month+3*(month+1)/5+year+year/4-year/100+year/400)%7;return weekday+1;}//打印某年某月的月历void yearMonth(int year, int month){int i,j=0;int weekday;//计算这个月第一天是星期几weekday = whichWeekday(year, month, 1);printf("\n%d年%d月\n",year,month);printf("------------------------------------------------\n");printf("星期一星期二星期三星期四星期五星期六星期天\n");if(isLeapYear(year) && month == 2)days[1] = days[1] + 1;printf("");for(i = 1; i < weekday; i ++)printf(" ");for(i = 0; i < 8 - weekday; i ++){printf("%6d", i+1);printf(" ");}printf("\n");for(i = 9-weekday; i <= days[month-1]; i ++,j++){if(j == 7){j = 0;printf("\n");}printf("%6d ", i);}printf("\n------------------------------------------------\n");}//输入年份,打出12个月历,输入月份,打出该月的日历void monthDay(int year){int i;char c;int month;for(i = 0; i < 12; i ++)yearMonth(year,i+1);printf("\n\n");printf("是否查看日历(y/n):");getchar();scanf("%c",&c);if(c == 'y'){printf("请输入月份:");scanf("%d", &month);yearMonth(year,month);}elseexit(0);}//主菜单void menu(){printf("-----------------------------------------------\n");printf(" ");printf("c语言课程设计-万年历\n\n");printf("***********************************************\n\n");printf("1、输入年份,判断是否为闰年\n");printf("2、输入年月日,判断该日为星期几\n");printf("3、输入年份,打出12个月历,输入月份,打出该月的日历\n\n");printf("***********************************************\n\n");}//判断是否继续void isContinue(){char c;printf("是否继续(y/n):");getchar();scanf("%c", &c);if(c == 'y')return;else{printf("");exit(0);}}//主函数void main(){int num;int year;int month;int day;int weekday;while(1){system("CLS");//清屏menu();printf("请输入对应操作:");scanf("%d", &num);switch(num){case 1:{printf("请输入年份:");scanf("%d", &year);if(isLeapYear(year))printf("%d年是闰年\n",year);elseprintf("%d年不是闰年\n");isContinue();break;}case 2:{printf("请输入年月日,以空格隔开:");scanf("%d%d%d", &year,&month,&day);weekday = whichWeekday(year, month, day);printf("这天是星期%d\n",weekday);isContinue();break;}case 3:{printf("请输入年份:");scanf("%d", &year);monthDay(year);isContinue();break;}default:{printf("您的输入有误");Sleep(1000);//延时一秒钟break;}}}}。

基于c语言单片机智能电子日历课程设计

基于c语言单片机智能电子日历课程设计

基于c语言单片机智能电子日历课程设计课程设计报告课程名称:单片机课程设计报告题目:智能电子日历学生姓名:所在学院:信息科学与工程学院专业班级:学生学号:指导教师:2013 年12 月25 日课程设计任务书摘要本设计是根据我们所学的单片机课程,按照大纲要求对我们进行的一次课程检验,是进行单片机课程训练的必要任务,也对我们掌握单片机应用有很大的帮助。

单片机技术作为电子专业的基础课程之一,对我们将来的工作以及生活和学习都有很密切的联系;近年来随着电子技术和微机计算机的迅速发展,单片机的性能不断更新和提高,应用领域也不断扩大,已经在工业控制、尖端科技、智能仪器、汽车电子系统、办公自动化系统、通信产品等等领域有广泛的应用,成为现代电子系统中最重要的智能化核心器件。

关键词:单片机,电子技术,智能化目录一、概述 (5)二、方案设计与论证 (5)1.单片机芯片选择 (5)2.时间计算模块 (5)3.显示模块 (6)三、单元电路设计 (6)1.单片机最小系统电路…………………………………………………………72.数码管电路 (8)3.按键电路 (9)四、程序设计 (10)1.程序总体思路和分析 (10)2.程序清单 (11)五、结论与心得………………………………………………………………………19六、参考文献 (20)一、概述本系统以STC89C52单片机为控制核心,通过单片机计时器模拟时间输出,并将时间通过数码管实时显示出来,通过相应的按键调整相应的数值和功能。

所以本设计可以分为以下几个模块:显示模块、按键模块、定日输出模块。

下面对各个模块进行逐一分析。

二、方案设计与论证时间计算模块有两种方式,一种利用现成的时间计时芯片实时读取时间,然后显示;第二种是利用STC89C52单片机内部的定时/计数功能,实现时间的计算。

1.单片机芯片选择方案一:采用89C52作为硬件核心采用Flash ROM,内部具有4KB ROM存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在先编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计(论文)任务书信息学院专业信息工程班级 2一、课程设计(论文)题目电子日历二、课程设计(论文)工作:自 2011年 12 月 26 日起至 2011年 12月 30 日止。

三、课程设计(论文)的容要求:1、主界面2、基本要求a)编写一个实用日历程序,并且可以多次进行。

b)编写一个2012年1月份日历与农历对照程序。

3、补充自己的设计容(1)、根据日期查星期几!(2)、某月日历!(3、)某年日历!(4、) 2012年1月的农历!学生签名:戴斌2011年 12月 30 日课程设计(论文)评阅意见评阅人王更生职称教授2011年 12月 30日目录一、设计思路二、功能实现详细设计三、测试结果分析四、用户手册五、设计体会一、设计思路:If语句:判断该年是否为闰年,判断一年是否为闰年需要符合下面二者之一:1,能被4整除,但不能被100整除。

2,能被400整除。

满足上述条件时,返回值为1,否则返回值为0。

day函数:判断某年某月最多多少天,定义一个十二个元素的数组a[12],给十二个月的天数分别赋初值31、28、31、30、31、30、31、31、30、31、30、31。

调用runnian函数,当if语句中条件为真实即返回值为1时,将二月份改为29天,即a[1]=29。

week函数:判断某年某月某日的编号,根据公式(年份-1)+(年分-1)除以4-(年份-1)除以100+(年份-1)除以400+该天是该年的第几天(调用day2函数),把算出的值赋给number,再用number除以7取余数,即得到某年某月某日的编号。

定义一个字符型指针变量,利用switch语句,当number=0时,使指针指向星期日;当number=1时,指针指向星期一;当number=2时,指针指向星期二;当number=3时,指针指向星期三;当number=4时,指针指向星期四;当number=5时,指针指向星期五;当number=6时,指针指向星期六;当number不是上述数值时,指针指向错误。

x函数:输出该天星期几,调用week1函数,将编号的值赋给number,调用*week2函数,根据number的值,确定指针指向,从而输出星期几,输出年,月,日,星期几。

显示月历,先输出星期日星期一星期二星期三星期四星期五星期六,星期日。

检验有效性,即当输入的年小于零、月小于一或大于十二、天大于该月最大值(调用day1函数)时将0返回给主函数,否则将1返回给主函数nianli函数:输出年历,先调用runnian函数,定义变量i,赋初值为1,利用for循环,循环十二次,调用x2函数,输出各个月的月历,从而显现出该年的每一天达到年历的效果。

yueli函数:输出月历,先调用runnian函数,调用showmonth函数,输出该月月历。

rili函数:输出日历,先调用函数,调用printmonth函数,输出该日日期。

二、功能实现详细设计:输入选择---选择+回车键---输入相应信息+回车键---输出结果。

流程图如下:程序包含多个函数,分别为main函数、nianli函数、yueli函数、rili函数、nongli函数、printmonth函数、printyear函数、SelectMenu函数、HandleMenu函数、showmonth函数、week1函数、*week2函数、day1函数、day2函数。

通过函数间的调用,实现程序的运行。

详细程序#include<stdio.h>#include<stdlib.h>void nongli(){ int j;printf("\n\n\t\t\t\t 2012年1月\n");printf("\n\t星期日星期一星期二星期三星期四星期五星期六\n\n");for(j=1;j<=31;j++){printf(" \t%d ",j);if(j==7||j==14||j==21||j==28)printf("\n");if(j==7){printf("\t元旦\t初九\t初十\t十一\t十二\t十三\t十四\t\n");}if(j==14){printf("\t十五\t十六\t十七\t十八\t十九\t廿十\t廿一\t\n");}if(j==21){printf("\t廿二\t廿三\t廿四\t廿五\t廿六\t大寒\t廿八\t\n");}if(j==28){printf("\t廿九\t春节\t初二\t初三\t初四\t初五\t初六\t\n");}if(j==31){printf("\n");printf("\t初七\t初八\t初九\n");}}}void printtab(int n){while (n>0){printf("\t");n--;}}#include <stdio.h>char MonthDay[]={31,28,31,30,31,30,31,31,30,31,30,31};char MonthDayLeap[]={31,29,31,30,31,30,31,31,30,31,30,31};char *WeekDayName[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};char getkey(){char c,s[10];scanf("%s",s);c=s[0];return c;}char isLeapYear(int y){return((y%4 == 0 && y%100 != 0 || y%400 == 0)?1:0);}int WeekDay(int y,int m, int d){int week;if(m==1) m=13;if(m==2) m=14;week=(d+2*m+3*(m+2)/5+y+y/4-y/100+y/400)%7;return week;}char queryweekday(){int y,m,d,week,c=0;do{printf("请输入年月日(XXXX XX XX)\n");scanf("%d %d %d",&y,&m,&d);week=WeekDay(y,m,d);printf("%d年%d月%d日是星期%s,是否继续查询(Y/N)?",y,m,d,WeekDayName[week]);c=getkey();}while (c=='Y' || c=='y');return c;}void showmonth(int y,int m){int d,dt,week;week=WeekDay(y,m,1);if (isLeapYear(y))dt=MonthDayLeap[(m-1)%12];elsedt=MonthDay[(m-1)%12];for (d=0;d<7;d++){printf("\t%s",WeekDayName[d]); }printf("\n");printtab(week);for (d=1;d<=dt;d++){printf("\t%6d",d);if (WeekDay(y,m,d)==6)printf("\n");}printf("\n");}char printmonth(){int y,m,c=0;do{printf("请输入年月(XXXX XX)\n"); scanf("%d %d",&y,&m);printtab(3);printf("%d年\t%d月\n",y,m);showmonth(y,m);printf("是否继续查询(Y/N)?"); c=getkey();}while (c=='Y' || c=='y');return c;}char printyear(){int y,m,c=0;do{printf("请输入年份(XXXX)\n");scanf("%d",&y);printtab(3);printf("%d年年历\n",y);for (m=1;m<=12;m++){printtab(4);printf("%d月\n",m);showmonth(y,m);}printf("\n是否继续查询 (Y/N)?");c=getkey();}while (c=='Y' || c=='y');return c;}void quit(){printf("\n\t谢谢使用该程序!\n");exit(0);}int SelectMenu(){int choice;printf("\n\t********************************************************** ********\n");printf(" 4:2012年1月的农历!\n");printf(" 3:某年日历!\n");printf(" 2:某月日历!\n");printf(" 1:根据日期查星期几!\n");printf(" 0:退出!\n");printf("\t************************************************************ ******\n");printf("\t请选择菜单号(0---4):");while( (!(scanf("%d",&choice)))|| (choice<0)||(choice>4)){printf("\n\t\t\a\a选择错误!!!!!!!!!!!请重新选择:");printf("\n\t********************************************************** ********\n");printf(" 4:2012年1月的农历!\n");printf(" 3:某年日历!\n");printf(" 2:某月日历\n");printf(" 1:根据日期查星期几!\n");printf(" 0:退出!\n");printf("\t************************************************************ ******\n");printf("\t请选择菜单号(0---4):");}return choice;}void HandleMenu(){printf("\t\t*****************欢迎使用该程序***************\n");while(1){switch(SelectMenu()){case 0:quit();break;case 1:queryweekday();break;case 2:printmonth();break;case 3:printyear();break;case 4:nongli();break;}}}void main() {HandleMenu();}三、测试结果分析:程序主界面:四、用户手册:可以根据界面的提示根据您的需要输入0.1.2或3.然后输入您要查的日期即可。

相关文档
最新文档