- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
万年历 一、目的 根据所学知识,编写指定题目的C语言程序,并规范地完成课程设计报告。通过课程设计,加深对《C语言程序设计》课程所学知识的理解,熟练掌握和巩固C语言的基本知识和语法规范,包括:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);库函数应用(时间函数、绘图函数以及文件的读写操作函数等);复杂任务功能分解方法(自顶向下逐步求精、模块化设计、信息隐藏等)。 学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力。 二、需求分析 1、程序运行之前,给出友好菜单界面,包括菜单项和输入提示。 2、对于要求一:用户输入一个四位数,代表的是输入年份,则根据要求输出该年份对应的年历信息。 3、对于要求二:用户输入某一个6位的数字,代表输入的是年份和月份,则根据要求输出该月份对应的月历信息。 4、对于要求三:用户输入某一个8位的数字,代表输入的是年份、月份和日期,则根据要求输出这一天是星期几,距离今天有多少天。 三、概要设计 1.本程序包含八个模块: (1)主程序模块: main(){ 定义以及初始化; 获得系统时间并用全局变量记录下来; 调用菜单等函数; 对输入的数字进行判断,并将之转换成相应的代表的年月日然后进行判断用户的具体要求。 } (2)菜单函数模块: void caidan(){ 这是一个返回值为空的函数,主要进行打印的任务。 } (3)打印月历的函数之一: void print_yueli_1(int year,int month){ 返回值为空类型的有两个参数的函数; 这里的year接收主函数输入的number转换而来的年份,month接收主函数number转换而来的月份; 函数主要是打印日历中的月历。 } (4)打印月历的函数之二: void print_yueli_2(int year,int month) { 同样是返回值为空类型的有两个函数入口的函数; 接收的值来源和类型和上一个函数一样,之所以设置两个打印月历的函数是因为任务书要求分为两部分打印,故有了两个答应月历的函数。 } (5)控制输出时位置(或坐标)的函数: void change_position(int x,int y) { 便于打印年历时光标的顺利移动; X,Y相当于横纵坐标。 } (6)获得8位数从而得到具体是哪一天的函数: int giveday(int year,int month,int day) { 获取三个参数从而利用数学计算公式算得具体的星期信息; 该函数中用到了for循环便于更好的判断输入的代表的是星期几; 该返回值的类型为int型。 } (7)判断是否为闰年的函数: int runnian(int year) { 本函数主要依据判断闰年的公式; 函数期间定义了一个标志变量来进行判断是否为闰年; 该函数有一个形参对应year,一个味int类型的返回值。 } (8)计算输入的日期距离现在相差多少天的函数: long int sumofdays(int thyear,int thmonth,int thday) { 函数的形参用您要查询的日期替换; 分为当前日期大于和小于输入的日期两种情况; 分别按年,月,日计算对应的天数差值,并累加; 返回计算的总差值。 } 四、详细设计 /* 万年历 */ #includestdio.h /* 定义头文件 */ #includetime.h /* 日期和时间头文件 */ #includewindows.h int year,month,day; /* 使用全局变量记录当前的年月日 */ int daysofmonth[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31, 30,31}}; int position_of_y ; /* 使用控制光标位置的纵坐标 */ void caidan(); /* 菜单函数 */ void change_position(int x,int y); /* 利用坐标将光标的位置移动 */ void print_yueli_1(int year,int month); /* 打印1~6月的
您可能关注的文档
最近下载
- 《活着读后感》课件.pptx VIP
- 活着读后感课件.docx VIP
- 企业数字化转型大数据湖一体化运营管理平台建设方案.docx VIP
- 企业大数据湖总体规划及大数据湖一体化运营管理建设方案.pdf VIP
- 鄂尔多斯市东胜区殡仪馆项目环境影响报告表环评报告.pdf
- 社会研究:设计与写作教学课件-第十二章 实例解析.pptx VIP
- 社会研究:设计与写作教学课件-第十一章 论文写作(下):结果、讨论、参考文献.pptx VIP
- 社会研究:设计与写作教学课件-第十章 论文写作(中):文献回顾、研究方法.pptx VIP
- 腾讯云原生湖仓一体技术在大规模数据场景中的应用实践.pdf VIP
- 腾讯数据湖技术分享专场.docx VIP
文档评论(0)