| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 基于C语言的 小爱同学课程表模拟 -> 正文阅读 |
|
[C++知识库]基于C语言的 小爱同学课程表模拟 |
你是否为每天该上什么课,什么时候上课,什么时候下课而烦恼,不用担心 !!你的救星到了,小爱同学课程表模拟来了!(只是个模拟) 以我的课表为例,主要区别 就在 单双周的不同,比如 单周的时候 周一课表是? 大英,高数,和工程制图? 周二课表是 计导和C语言,而双周 的时候 周一课表高数和工程制图,周二课表 是 计导 好了,现在发现规律了,只有周一和周二的课表在单双周有区别,周一到周五的课表都完全一样。 现在给出思路: ? ? ? ? 如果给出一个具体的日期 ,例如11.21号,要知道当天的课表,首先就要知道当天是周几,如果是周一或者周二,那么进一步需要知道11.21号所在的周是单周还是双周,若当天是双周,那么就根据周几以及单双周输出课表,但是如果 当天是周三到周五中的任意一天,那么可以直接输出,因为单双周的周三到周五的课表都是一样的,所以,要解决输出课表的问题,重点就在解决 当天是周几以及当天所处的周数是单周还是双周。 ? ? ? ? 下边是这个问题的思路图:(能力有限,流程图不规范,请谅解,谢谢) ? 接下来给出这个问题的代码:
一共有三个函数,days? output? ?CaculateWeekDay. days? 函数的作用是 计算 从开学到查询日期之间共经过了多少天并且判断当前所在的周数是单周还是双周 output? 函数的作用是 根据当前日期是周几以及所处周数是否单双周来输出? 需要查询日期的课表 CaculateWeekDay.? 函数作用是 根据蔡勒公式来计算查询日期是周几 接下来 逐步 理解该代码 从主函数看起, 首先从键盘输入 日期? 比如9.6,接下来的一大堆switch 语句是为了 判断输入的日期是否正确,就比如 输入9.31(当然9月是没有31号的,这里只是为了 测试),第一步进入switch语句,case 9 ,判断day是否大于等于31号,32>31,条件成立,输出语句? ?“亲,这边建议您重修小学哦,9月只有30天”,return 0;程序退出; 如果输入9.30 ,条件不成立,进行break语句,退出当前判断,继续下一个步骤。。。。。。 执行CaculateWeekDay 函数,此函数的功能是 根据输出的日期计算出 该日期是周几,依据就是蔡勒公式,返回值是 0到6的任意一个数,分别代表 周天到周一。 并将这个返回值赋给c 继续下一个函数,days ,此函数? 是计算从9月1号到指定日期相差大的天数,例如9.24号和9月1号相差24天,然后根据相差的天数计算出当天日期是单周还是双周,但是这里会有一点点的问题,因为是基于9月1号是周一的情况,但是事实是9月1号是周三,所以应该给计算出的日期加上2, 给个例子吧,例如9月27,距离9月1号27天,按理说是第四周的第六天,但是事实是,9月27号是第五周的第一天,刚好相差2,这里就解释了? 为什么要加上2; 好了,这里解释清楚了,继续运行程序,(天数+2)除以7,如果没有余数,就说明当前日期刚好处于某一周的周天,商就是当前日期所处周数,然后判断是否为单双周,相反(这里令商=a,余数=b,)假如有余数,说明当前日期是是第(a+1)周的第b天,这里就解释了为什么程序里有个 (x+1),如果? (x+1)%2=0,那么这周就是双周,相反就是单周,单周返回1,双周返回0; 将这个值赋给p,好了,最后一个函数,将c和p作为参数传给output函数中,这个函数相较于其他的函数比较简单,就是根据参数 c? 和? p 判断当前是单周还是双周,以及当前日期是周几来输出课表。 好了,程序到这里就结束了。 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 7:20:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |