ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:129.26KB ,
资源ID:20740668      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20740668.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C程序设计报告Word格式文档下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C程序设计报告Word格式文档下载.docx

1、2)注意闰年情况其显示格式要求如下:1)月份:中文英文都可以,2)下一行显示星期,从周日到周六,中英文都可以3)下一行开始显示日期从1号开始,并按其是周几实际情况与上面的星期数垂直对齐当输入2004显示如下:Input the year: 2004Input the file name: aThe calendar of the year 2004. Januray 1 February 2 Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat 1 2 3 1 2 3 4 5 6 7 4 5 6 7 8 9 10 8 9 10 11 1

2、2 13 14 11 12 13 14 15 16 17 15 16 17 18 19 20 21 18 19 20 21 22 23 24 22 23 24 25 26 27 28 25 26 27 28 29 30 31 29 = = March 3 April 4 1 2 3 4 5 6 1 2 3 7 8 9 10 11 12 13 4 5 6 7 8 9 10 14 15 16 17 18 19 20 11 12 13 14 15 16 17 21 22 23 24 25 26 27 18 19 20 21 22 23 24 28 29 30 31 25 26 27 28 29 30

3、2需求分析根据题目的要求,由于年份的信息是存放在文件中的,所以要提供文件的输入、输出等操作;在程序中需要核对年份、月份与星期的信息,应提供显示、查找、排序等操作;另外还应提供键盘式选择菜单实现功能选择。3. 总体设计下面来分析一下整个系统,根据上面需求分析,可以将这个系统分为三大模块(见图):数据输入、数据判断、日期排序。4详细设计 1主函数主函数一般设计得比较简单,只提供输入,功能处理和输出部分的函数调用。其中各功能模块用菜单方式选择;另外,菜单部分也可以写成函数。其流程图如下上图:主函数流程图程序main() /*主函数*/ int year, month ; /*变量year 保存选择菜

4、单数字,month 判断输入的数字是否在功能菜单对应数字范围内。*/printf();scanf(%d,&year); /*输入任意一年*/The calendar of the year %d.,year); /*输出日历表*/n-nfor(month=1;month=12;month+) f(year,month); /*判断模块*/2各功能模块设计(1)输入模块分析 单独看数据信息,年份日期都是整型数据,采用整型;而星期月份是字符型,应该采用相应的字符型数组。数据信息存放在文件中,每一年对应一个完整的日历表,既方便有便于管理。现在要考虑年份是否是闰年和星期的计算问题。参照所分析的结果,这

5、里一定要调用函数,调用的函数要判断年份的信息。所以可以以以下形式调用和输入void f(int year,int month) char month_str4=,JanFebMarAplMayJunJulAugSepOctNovDec; /* 字符型输入 */int month_day=0,31,28,31,30,31,30,31,31,30,31,30,31; /* 整型输入*/int i,j,wdays,mdays,days;int count=0;(2)判断模块分析 该模块的功能是为了判断出输入年份的二月有多少天,既先要判断该年是否是闰年;根据闰年的条件:若year能被4整除不能被100

6、整除则输出闰年,若year能被400整除,则输出闰年,若不满足则输出平年。该函数的流程图如下:判断模块流程图/* 根据闰年的条件,我们会用到关系运算符“|”“&”“!=”,然后在计算输入年份时把二月的天数加上去。/*判断模块*/int leap(int year ) /*判断year是不是闰年,返回值1表示是,0表示否*/if (year %4 = 0)&(year % 100 != 0)|(year % 400 = 0) /*闰年条件*/ return 1;return 0;(3)计算制表模块分析 该模块要精确的计算输入年份的每一天是星期几,于是定义公元一年一月1号为星期一,后来的年份都在这

7、个基础累加。;/* 二维数组,存放月份的信息*/ /*存放每个月天数的信息*/ /*控制格式的输出*/for (i=1,days=0;iyear;i+) /*年份循环累加*/ if (leap(i) days += 366; else days += 365; for (i=1;month;i+) if (i=2 & leap(year) days+=29; else days+=month_dayi; %s %dn,month_strmonth,month); Sun Mon Tue Wed Thu Fri Satnwdays=days % 7; /*计算每个月的日历*/for (j=0;j

8、=wdays;j+) if(wdays=6) break; for( i = 0; i 1 & count % 7 = 0 ) printf(n /*若是一个星期已经排满,则转行输入*/ printf(%4d,i);5上机操作1数据源根据前面所规定的数据输入形式,任意输入一年即可。例如:2004 2005 2006 20072. 编译、连接和运行(略)3. 结果比较程序运行的结果是否和下面一致?如果不一致,思考一下问题出现在什么地方?另外,思考一下还有没有其他的实现方案或者哪些地方可以更好的改进。下面是各模块的界面图,主菜单函数2输入模块在主菜单上输入任意年份,注意输入的格式,出现下面的菜单;

9、 3. 数据输入后,按下enter键,如图所示结果运行如(上、下)图6.总结C语言课程设计总结:学了整整一学期的C语言,我对C有了进一步认识,当然这个认识大部分来自于这几天的编程实习。我无法忘记自己的C语言考试分数,因为它带给我的是懊恼和打击,可是我知道,C有他自己的规则,如果把握好这个规则,学起来应该不是那么费劲的。就像物理和化学一样,我承认我喜欢物理和化学,但如果我在C语言上下的功夫能像高数和物理一样多,考试就不是那个结局了。这些天的编程,我曾一度处于茫然和不解状态,拿到手上的题目,我不知所措。之前学的都是一些简单的程序阅读之类的题目,考试也全部都是选择题。或许C语言教学大纲对我们的要求就

10、只是简单的会读懂程序,可是这一次是自己编程序,在对一些语法和表达都不怎么清楚的情况下要我便出一套完整的程序是很有难度的,于是在开始的两天我一筹莫展。我的题目是“编一套程序,当输入任一年时显示出该年的日历”,拿起这道题,我就问宋老师了,老师说这道题就是一个计算问题,其实程序很简单。于是,我决定好好做这道题。意识模糊的告诉我,这个程序要调用函数,刚好书上有关于闰年和平年的判断方法,于是我知道该怎么去调用函数了,现在对闰年的判断我十分深刻:“(year%4= =0)&(year%100!=0)|(year%400= =0)”,我想我是无法忘记这个判断程序的。但是看到题目要求的垂直输入及一些相关要求,

11、我很迷茫。对一个新手来说,这真是个大的挑战。我查阅了很多资料,也请教了同学、朋友(毕竟自己带了电脑,所以我有足够的时间把这道题弄透彻),在不断的询问下,我终于弄清楚了这道题的意思,按照一些参考资料,我试着编写这个程序。我首先觉得,用到的程序段不必太高级,因为天下事有高低之分,决定优劣的不是集体中某部分的强弱,起决定作用的是组合内各元素的和谐,要能在一个集体中各能尽其用,每个人都能发挥长处,避免自己的短处,那么这个集体的实际组合能量是最优的。选择什么等级的语言就是关键,我所学的知识并不丰富,所以我只需要把这个程序做出来,能够达到题目的要求即可。在这次实习中,我几乎是泡在电脑上的,网上有这种题目的

12、答案,但是我看不懂,因为上级的环境不是“Microsoft Visual C+ 6.0”,而是C+的程序编的,如此多的头文件和函数类型我从没见过,读起来很费劲。编程中遇到很多困难,我曾一度放弃。可是我又不甘心,毕竟7天做一个程序,时间有的是,懂这个的也有人,为什么我要放弃?于是我把遇到的问题和不懂得地方整理起来,14号下午,我去了北区,找了一个同学帮我解惑,在我的疑惑慢慢解开的过程中,我对C语言有了更多的理解,看到同学那么热衷C,就像我一度爱好物理一样,我有些感慨。可能是我不够重视,所以我才会在C上跌跤。终于,在连续几天的挖掘和吃力的编写中,我的程序做好了。几个同学笑我的程序太简单,我并不介意,毕竟我学的没有那么深,我追求的是这个程序能运行,是对的,至于语言的高低,我没有在意。想到下个学年我就要考计算机二级了,可能对很多人来说这并不算什么,但是我在乎。之前去图书馆解了基本二级的指导书,昨天看了一下午,、遇到很多不懂的内容。不过,经历了这次编程,我学会了很多,C语言难,但是我不能放弃,懂这个的大有人在,我所要做的就是努力看书,努力提问。不知不觉写了这么多,7月16号,我想我的课程设计结束了,伴随着这次实习,我收获了很多,这感受是无法言语的,至少我知道以后的二级我该怎么去努力了。加油!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1