设计一个日历系统_第1页
设计一个日历系统_第2页
设计一个日历系统_第3页
设计一个日历系统_第4页
设计一个日历系统_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、河北联合大学2011-2012第2学期 软件设计基础-C+课程设计报告设计名称: 设计一个日历系统 姓 名: 学 号: 学 院: 设计时间: 设计地点: 计算机中心 成绩:指导教师评语: 指导教师签字: 年 月 日目 录1.课程设计目的32.课程设计任务与要求33.课程设计说明书44.课程设计成果65.程序调试过程106.设计问题的不足和改进方案117.课程设计心得128.参考文献131课程设计目的软件设计基础-C+课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C+的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的

2、能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握C+这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。2课程设计任务与要求:要求:本次课程设计利用软件设计基础-C+课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。要求:1、对系统进行功能需求分析2、设计合理的数据结构和系统框架3、编程简练,程序功能齐全,能正确运行4、说明书、流程图要清楚5、课题完成后必须按要求提交课程设计报告任务:随意给出某年(如2003年),可以显示该年的日历(包括每月的天数和所对应的星期几),并且在每月的左

3、上角或右上角打印出相应的年份和月份,要求输出界面尽可能整齐、美观。3课程设计说明书概要设计模块说明: 函数is leapyear()判断闰年,用选择结构if(year%4=0&year%100!=0|year%400=0)来实现;函数f()判断元旦这一天是星期几,用int n=year-1900;n=n+(n-1)/4+1;n=n%7;来实现。主函数通过循环,对各月不同天数进行判断,并依次循环输出对应天数。 模块结构图:查询某年输入年输出该年各个月的月历 详细设计 总体流程图:各功能模块流程图:开始结束输入年份闰年不是闰年Y/N是否要继续操作Y返回 判断是否为平年闰年模块4课程设计成果#inc

4、lude const int r=1;const int w=0; /定义常量int isleap(int year) /函数isleap()判断某年是不是闰年int leap=w;if(year%4=0&year%100!=0|year%400=0)leap=r;return leap;int f(int year) /函数f()判断每年元旦是星期几int n=year-1900;n=n+(n-1)/4+1;n=n%7;return n;int main() /主函数int year,month,day,weekday,monthday,i;coutyear;coutnyearendl;we

5、ekday=f(year);for(month=1;month=12;month+)coutnmonthendl;cout*endl;coutsun mon tue wed thu fri satendl;cout*endl;for(i=0;iweekday;i=i+1) /找到每月1日所在的位置,所占的空格数cout ;if(month=1|month=3|month=5|month=7|month=8|month=10|month=12)monthday=31;else if(month=2)if(isleap(year)monthday=29;elsemonthday=28;elsemo

6、nthday=30;for(day=1;day9)coutday ;elsecoutday ;weekday+;if(weekday=7) /满一个星期换行weekday=0;coutendl;coutendl; /输出完一个月换行return 0;运行效果如下:5.程序调试过程在这部分论述设计中遇到的主要困难及解决方案。(1)困难1:对闰年的判断.解决方案:year%4=0&year%100!=0|year%400=0判断这一年是不是闰年。(2)困难2:对元旦为星期几的判断。解决方案:已知1900年元旦为星期一,用int n=year-1900;n=n+(n-1)/4+1;n=n%7;来判断

7、每年的元旦是星期几。6.设计问题的不足和改进方案(1)对自己完成程序进行自我评价。可以基本完成题目要求,但仍不完美有待改善。(2)对课题提出更完善的方案如果加上农历与之对应就更加完美,与通用日历更加接近。若能做出创新部分连续显示三年日历就更好了7.课程设计心得通过一个多星期的课程设计,使我熟悉了C+语言的编写思路,并掌握了如何对其进行编写与调试,把书本上学习到的知识应用到实际中去,很好的锻炼了我的自觉能力。由于对C+语言的了解不是很深,所以很多语句都还不是十分熟练,尤其是在连接数据库中的一些功能调用,是我这次课设最大问题。通过自己不断的深入学习,虽然这段时间在自觉方面知识有了很大的提高,但很多

8、知识还是学的像一盘散沙,自己根本不能一下子保用。一方面由于课程设计时间有限,又一方面对课程设计思路一开始不是很好,所以在设计中也碰到了很多麻烦,通过上网查找资料以及学习有关方面的书籍,确实让我从中学到了很多非常值得学习的知识。但通过学习这门课也使我了解它的设计思路及其它相关的内容的开发设计,使我对开发系统的整个流程有了初步的了解,也把自己在课下复习的内容及上课学习的有关内容有了系统的理解,通过这次课程设计,已经有了深刻的理解。我从今以后一定要多学习有关知识,为以后做好充分的准备。8.参考文献1谭浩强.C程序设计(第三版) .北京:清华大学出版社,2005. 2谭浩强.C程序设计题解与上机指导(第三版) .北京:清华大学出版社,2005.3刘玉英,张怡芳.C+实验指导与课程设计.人民邮电出版社,20074 匡松吴卫华. C+程序设计试题汇编. 中国

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论