c语言电子日历程序,c语言程序设计电子日历
c语言程序设计电子日历
目 录 一、设计思路 二、功能实现详细设计 三、测试结果分析 四、用户手册 五、设计体会 一、设计思路: 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函数,输出该日日期。 二、功能实现详细设计: 输入选择---选择+回车键---输入相应信息+回车键---输出结果。 流程图如下: 退出 开始 选择 年历 月历 日历 日期 输入年 输入年月 输入年月日 输出该年的所有日期 输出该月的日期 输出这一天是星期几 输入2012年1月 输出该月农历 程序包含多个函数,分别为main函数、nianli函数、yueli函数、rili函数、nongli函数、printmonth函数、printyear函数、SelectMenu函数、HandleMenu函数、showmonth函数、week1函数、*week2函数、day1函数、day2函数。通过函数间的调用,实现程序的运行。 详细程序 #include #include void nongli() {int j; printf(“\n\n\t\t\t\t 2012年1月\n“); printf(“\n\t星期日 星期一 星期二 星期三 星期四 星期五 星期六\n\n“); for(j=1;j0) { printf(“\t“); n--; } } #include 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 } 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“, 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]; else d
c语言电子日历程序,c语言程序设计电子日历相关推荐
- c语言一年日历程序,c语言日历程序
关于日历程序的设计 1.设计要求;输入一个年份要求输出打印该年每个月的日历. 2.设计思路:要输出某年的日历,先求出该年第一天是星期几:再从1月到12月执行一次循环, 考虑闰年2月29天,月份有大小, ...
- 趣味c语言代码,趣味程序C语言
<趣味程序C语言>由会员分享,可在线阅读,更多相关<趣味程序C语言(36页珍藏版)>请在人人文库网上搜索. 1.趣味程序导学C语言,你玩过电脑游戏吗?,你喜欢电脑游戏吗?,电脑 ...
- c语言机票预定程序,c语言程序设计报告飞机票预订系统.doc
目录 TOC \o "1-3" \h \z \u HYPERLINK \l _Toc1220 目录 PAGEREF _Toc1220 i HYPERLINK \l _Toc6278 ...
- C语言数据处理系统程序,c语言程序设计~用高级语言实现篮球联赛个人技术数据处理系统.doc...
c语言程序设计~用高级语言实现篮球联赛个人技术数据处理系统 匣烈同芳僧块搁拇掂犀均钒俭展边劣卸粮噪执挪宽由陌乳刽沉匡澈否辐狐损铸己涣讨前颇呼鹃使琳滤掩遁仟壁涨触乱牙敏堆蔚讳准那箕女垦点摧污劈汞憾令跃嫌 ...
- c语言日期星期程序,C语言程序设计: 输入年月日 然后输出是星期几
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include main() { int year,month,day=0,a,b,week,c,i,sum=0,days,d; printf(&quo ...
- c语言法定节日日历程序,C 语言写的日历
学习C 时敲的 ^_^ 1.[代码][C/C++]代码 #include int main(void) { char *weeks[7]={"星期日","星期一&quo ...
- c语言保龄球计分程序,c语言程序设计--保龄球计分系统,绝对可用,完美测试.doc...
#include"stdio.h" #include"stdlib.h" int totscore(); void paixu(struct people st ...
- c语言中用temp程序,e__temp_c语言第02章作业.doc
e__temp_c语言第02章作业 C语言程序设计第02章作业 单选题 1.假定有以下变量定义:int k=7,x=12; 则能使值为3 的表达式是_______. A)x%=(k%=5) B)x%= ...
- c语言银行存钱程序,c语言银行存钱.doc
c语言银行存钱 红河学院工学院 课 程 设 计 报 告 专业:计算机技术与科学 年级: 11 级 学号:6 姓名: 曹 永 前 成绩: 批改时间: 红河学院 工学院编制说 明 1.本报告供学生课程设计 ...
最新文章
- OpenCV线特征Line Features
- Spring Boot和应用程序上下文层次结构
- 传授电脑蓝屏开不了机怎么办
- Python3中遇到UnicodeEncodeError: 'ascii' codec can't encode characters in ordinal not in range(128)...
- Xshell 使用数字小键盘进行vim 写入操作.
- 27、一个扒网站软件——teleport ultra(静态页面)
- 电脑使用VMware安装Android系统
- 手机连接ftp文件服务器,手机链接ftp服务器地址
- 试题 历届试题 回文数字
- OpenCV(二) —— 颜色通道提取 边界填充 数值计算 图像融合
- 蓝桥杯OJ示例题目之A+B问题——掌握获取输入的基本方法(Python)
- 华芯微特MCU——SWM181
- w7系统桌面没有计算机图标不见了,桌面上我的电脑图标不见了怎么办
- 清华大学五道口金融学院2023年博士生招生简章(普博+直博)
- 微信公众平台开发入门教程(图文)
- java定时任务原理,东软集团java面试题
- Proxy(代理) ARP作用及原理
- 专访超脑链团队:公链比联盟链更适合赋能传统企业
- 牛客网SQL刷题二-某音短视频
- 面试官提问关于c语言知识,c语言面试的问题分析.doc
热门文章
- python 摄像头拍照是反的,Python/OpenCV网络摄像头向后移动
- 初级会计实务--第四章第二节、资本公积
- MC9S12XE 内存分配
- oracle对某两列求和再求和_“1”招软化他的心,再心狠的男人也会心软求和
- light java框架_Java框架之light-4j( 比Spring Boot快44倍,性能好 )
- ELK 安装部署(入门必备)
- 四大开源分布式存储_开源软件丨网易开源分布式存储系统 Curve
- Android开发_自定义视图和属性
- spring boot高校社团管理系统毕业设计源码231128
- 基于SSM框架的手机商城设计与实现