当前位置: 首页 > news >正文

C语言课程设计--电子万年历

本人能力有限,不太会处理阴历,就在这个平台上找了一个比较好理解的博主的文章进行二创,因为其中有部分需求和我的不太一样,就进行了修改。同时也发现该博主代码好像只能在Dev-C++上运行,在VisualStudio2022上反复报错,也可能是我的能力不足的原因。

该博主的原文链接在这里:万年历实现:周几查询、农历转换与节假日检索-CSDN博客

博主文章开头“字体重叠是因为没有全屏,或者屏幕缩放率不为100%造成的”这个问题:

我采用其他方法进行了解决,就不需要调整系统屏幕的自定义缩放。因为这个调整还要两次重新启动,且打印出来的字体较小。但不得不佩服博主的聪明才智,我理解为通过控制光标的位置来实现打印位置的偏移。我在源代码中进行了一定的调整,即换行打印的时候缩小行间距,使得可以不改变系统屏幕的自定义缩放来打印出来。

首先下载后解压,点击calendar.dev用Dev-C++打开。

我的代码里面有着详细的注释,在main.c这个程序里面编译运行。

出来黑窗口后,只有在进行需求3、显示阴历时才要进行以下的操作,其他情况不要

缩小:按住Ctrl键,转动鼠标滚轮,使得屏幕上的字尽可能的小。然后输入你要查询的年份:由于博主是通过网上农历数据表变成txt文本的形式来取农历的数据,该文件记录的数据量有限,所以说只能画出2000年到2050年的农历,就像原来的纸质农历一样的效果,我会把整个代码的流程图以及各个函数的运行结果图放在课程设计书里面,都是可以跑出来的。黑窗口里会展示你输入有效年的农历图,然后按照缩小相反的方式对其结果进行放大。

博主有的函数是多余的,如:week.c,可以看看我的阳历代码,就可以简化掉。week.c函数实现的是返回某年某月某日是周几,可以利用struct tm 结构体里面的tm_wday这个成员变量来直接返回周几。

鉴于csdn平台不太好把docx文件放在文章里,所以用资源绑定的形式和代码一起上传,放在同一个压缩包里面。

入侵的话,请联系我立即删除,按照原主的开源精神,我的也是开源的。我把我的整个代码全部压缩上传了,绝无保留。如果不会下载,可以看看原博主的文章。

一、设计题目        电子万年历

二、设计内容

【题目描述】

   设计一个电子万年历,要求具有以下功能:

1、显示当前系统日期(年月日);2、显示当前系统时间(24小时制);3、日历生成和显示(阴历和阳历);4、节日提醒; 5、日期查询功能。

【题目要求】

  (1)为各项操作功能设计一个主菜单。然后用户通过菜单项选择进入操作显示项目;

(2)可以实现以上各功能;

  (3)要求以上功能分别用函数实现。

【输入/输出要求】

  (1)应用程序运行后,显示主菜单。然后用户通过菜单项选择进入操作显示项目。

三、基本要求

1、编写源程序的要求:

(1)能够实现任务书中的功能;(2)直观、易操作;(3)源程序要有适当的注释,使程序容易阅读。

2、撰写“课程设计报告”,要求如下:

   (1)封面:统一采用《常州大学课程设计说明书》封面格式

   (2)任务书

   (3)目录

   (4)“课程设计报告”正文

3、课程设计验收要求:

   (1)运行系统;(2)回答有关问题;(3)提交课程设计报告;(4)提交源程序。

四、进度安排

1、系统分析、设计准备阶段:4学时

2、编程调试阶段:30学时

3、总结和书写课程设计报告阶段:2学时

4、机房考核阶段:4学时

http://www.dtcms.com/a/275822.html

相关文章:

  • 【数据分析】03 - Matplotlib
  • 9.2 埃尔米特矩阵和酉矩阵
  • Go内存分配
  • linux系统mysql性能优化
  • 【Modern C++ Part9】Prefer-alias-declarations-to-typedefs
  • Opencv---深度学习开发
  • 云计算三大服务模式深度解析:IaaS、PaaS、SaaS
  • 【数据结构与算法】数据结构初阶:详解顺序表和链表(四)——单链表(下)
  • 【PTA数据结构 | C语言版】后缀表达式求值
  • Transforms
  • Spring(四) 关于AOP的源码解析与思考
  • 一文理解缓存的本质:分层架构、原理对比与实战精粹
  • 别再怕 JSON!5分钟带你轻松搞懂这个程序员的好帮手
  • 鸿蒙的NDK开发初级入门篇
  • RISC-V:开源芯浪潮下的技术突围与职业新赛道 (四) 产业应用全景扫描
  • (LeetCode 面试经典 150 题 ) 209. 长度最小的子数组(双指针)
  • Ntfs!LfsFlushLfcb函数分析之while的循环条件NextLbcb的确定和FirstLbcb->LbcbFlags的几种情况
  • docker-compose方式搭建lnmp环境——筑梦之路
  • 【android bluetooth 协议分析 07】【SDP详解 2】【SDP 初始化】
  • Operation Blackout 2025: Smoke Mirrors
  • Windows符号链接解决vscode和pycharm占用C盘空间太大的问题
  • NX二次开发——导入模型是常遇见的问题(导入模型原点的确定导入模型坐标的确定)
  • BERT:双向Transformer革命 | 重塑自然语言理解的预训练范式
  • 深入理解大语言模型:从核心技术到极简实现
  • 洛谷题解 | UVA1485 Permutation Counting
  • jenkins自动化部署前端vue+docker项目
  • 前端面试宝典---项目难点2-智能问答对话框采用虚拟列表动态渲染可视区域元素(10万+条数据)
  • 自动化运维工具jenkins问题
  • Ubuntu安装Jenkins
  • java堆的创建与基础代码解析(图文)