优秀毕业设计毕业论文万年历课程设计万年历程序_第1页
优秀毕业设计毕业论文万年历课程设计万年历程序_第2页
优秀毕业设计毕业论文万年历课程设计万年历程序_第3页
优秀毕业设计毕业论文万年历课程设计万年历程序_第4页
优秀毕业设计毕业论文万年历课程设计万年历程序_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、面向对象程序设计课程设计设计说明书课程名称:面向对象程序设计课程设计设计题目:万年历程序指导教师:班 级:学 号:学生姓名:同组人员:计算机科学与工程系2011年6月23日第1章选题2l1题目背景21.2系统实现的具体分工21.2.1 选题21.2.2 团队分工21.3开发环境2第2章设计内容32实现功能32.2概要设计(涉及类的框图)32.3界面设计3第3章系统实现33涉及知识点33.2系统运行(主要运行界面抓图)43.3源程序清单(关键代码)4第4章测试与实验结果10第5章结束语11参考文献12第1章选题1.1题目背景在当代繁忙的工作与生活中,时间与我们每个人都有非常密切的关系,每个人都时

2、间影响着, 我们必须対时间有一个度量美因茨本设计是电子万年历。该万年历能够实现时间日期的运行,显示 阳历的年、月、口、星期等信息。1.2系统实现的具体分工1.2.2 1.2.1 选题系统分为日历类(calendar)和三大功能模块,功能一(print_y ()输11!整年的日历;功能二(print_m()输出某年具体的月份;功能三(print_d()输出具体的某年某月某日是星期几1.2.3 团队分工表1.1项目分工一览表角色姓名承担的具体任务组长(1) 类的定义与分析(2) 功能1:输入一个年份能够把这一年的日期打印出来。组员(1) 功能2:输入一个月份能够把该月的情况 输出出来(2) 3:输

3、入具体的一天能够输出该天是 星期几1.3开发环境编程工具:visual c+ 6.0机型:方正电脑处理器名称:intel (r) core(tm)2 duo cpu e7200 2.53ghz硬盘驱动器:wdc wd1600aajs-22waao系统内存:金士顿内存2gb显示卡:nvidia geforce 9400 gt显示器:方正科技fg981-w9操作系统: microsoft windows xp professional第2章设计内容2.1实现功能1、输入一个年份能够把这一年的日期打印出來。2、输入一个月份能够把该月的情况输出出来。3、输入具体的一天能够输出该天是星期几。2.2概要设

4、计(涉及类的框图2.3界面设计界面设计在工作流程上分为结构设计、交互设计、视觉设计三个部分。结构设计也称概念设计(conccpiual design),是界面设计的骨架。该万年历系统运行时界面 上的目录体系和词语定义易于用户理解和操作,例如主界面的fi录体系包担i().查询年;1.查询年月;2.查询年月日;3.帮助;4.退岀第3章系统实现3.1涉及知识点类封装、面向对象程序设计、数组的应用、循坏语句的使用、过程化设计的思想等。3.2系统运行(主要运行界面抓图请输入你所需的序号: n x国i百询询助出0 12 3 4日搜狗拼音图3.1系统主界面3.3源程序清单(关键代码)功能2查询年月:void

5、 calendar:print m(calendar cl,int week)i nt m=0, t;cout«cl. year«z/年"z,«cl. month<<z/月 z,<<endl;cout«setw(10)«"星期天,«setw(10)<"星期一,z«setw(10) <"星期二 z/<<setw(10) «星期三setw(10)«星期四,/«setw(10)«/星期五z/«s

6、etw(10) «"星期六; cout<<endl;if (cl.month=2&&judgeyear(cl. year)m二1;t二week%7+l;cout«setw(t*10)«cl. day;for (int i二2;i<=maxmoncl. month-l+m;i+)cl. day=i;if (getweek(cl)%70) cout<<endl;cout«setw(10) «i;功能3查询年月日:void calendar:print d(calendar cl,int wee

7、k)cout«,z你输入的日期为:nz,;cout<<setw(8)<<cl. year<<setw(8)<<cl month<<setw(8)<<cl. day; print(week);coutendl;整体源程序:#include<iostream>#include<iomanip>using namespace std;int maxmon12;/const int n_year=2009, n_month=10, n_day=31, week=6;class calendarpr

8、ivate:i nt year, mon th, day;int week;public:void init ();void in put (int );void menu();void helpo ;int judgeyear(int );int judgelnput(int , calendar );void show(int, calendar);int getweek(calendar);void print_d(calendar, int);void print_y(calcndar, ini);void print(int );void print_m(calendar, int)

9、;/int getweek(calendar);int main()calendar a;a. init ();char con;while (1)a. menu();cout«z/n 是否继续:(y/n);cin>>con;if (con* n | | con* 2 ) break;system("pause");return 0;void calendar:init() for(int i二0;i<12;i+)if(i=0|i=2|i=4|i=6|i=7|i=9|i=ll) maxmoni=31;if(i=l)maxmoni=28;if(i=

10、3| |i=5| |i=8| |i=10)maxmoni=30;void calendar: :menu()cout«z,0.查询年n;cout<<,z1.查询年月 n"cout<<zz2.查询年月日n,z;cout"3.帮助n"cout<<"4.退出 n"cout*n; cout«"请输入你所需的序号:;int choice; cin>>choice; input (choice);void calendar:input (int choice) calendar

11、cl;if (choice=0) cout«z,please in put the year: n,z: cin>>cl. year;while(!judgeinput (1,cl)cout«z/年输入有误,请重新输入:n; cin>>cl year;show(0, cl);else if(choice二二1)cout<<,zplease input the year: n" cin>>cl. year;/i代表年while(!judgeinput (1,cl)cout«z/年输入有误,请重新输入:n; c

12、in>>cl. year;cout"please input the month:n"cin>>cl month;whi1e(!judgelnput (2,cl)cout«z/月输入有误,请重新输入:rt; cin»cl month;show(l, cl);else if(choice=2) cou"please input the year:rt; cin»cl year;/i代表年whi1e(!judgelnput (1,cl)cout<</z年输入有误,请重新输入:n" cin

13、87;cl. year;cout<<zzplease input the month:n; cin>>cl month;whie(!judgelnput (2,cl)cout«z/月输入有误,请重新输入:n;cin»cl month;cout«zzplease in put the day:n; cin>>cl day;whie(!judgelnput (3,cl)cout«日输入有误,请重新输入:n; cin»cl day;show(2, cl);else if(choice=3)helpo ;else i

14、f (choice=4)exit(0);elsecout<<z/输入有误,请重新输入rt;menu();void calendar: :helpocout«z,输入年为、9999n;cout«z,输入月为 12n;cout<<"闰月 29n"int calendar:judgeinput (int i, calendar cl) int flag=0;if (i 二二 1)if(cl. year>0&&c1. year<9999) return 1; else return 0;)else if(i=2

15、)if (cl. month>0&&cl. month<13)return 1;else return 0;else if(i=3)i f (juclgeyear (c 1 year)if (cl. month=2&&cl. day>0&&cl. day<=maxmon 1 +1) return 1;else if(cl. day>0&&cl. day<=maxmoncl. month-1) return 1;else return 0;else if(cl. day>0&&

16、;cl. day<=maxmoncl month-1) return 1;else return 0;int calendar:judgcycar(int year)i f(year%4=0&&year%400!二0)return 1;else if (year%4000)return 1;else return 0;void calendar:show(int n, calendar cl) int week;if (n=0) (cl. day=l;for(cl. month二1;cl. month<=12;cl. month+) week=getweek(cl)

17、;print_y(cl, week);if(n=l) cl.day=l;week二getweek(cl);print m(cl, week) ;if(n=2)(getweek (cl); week=getweek (cl);print_d(cl, week);void calendar:print d(calendar cl, int week) cout«,z你输入的日期为:nz,;cout<<setw(8) <<cl. year«setw(8) <<cl. month<<setw(8) <<cl. day; p

18、rint(week);cout«endl;void calendar:print y(calendar cl,int week)int m=0, t;cout<<cl. year<<z,年,<<cl. month«"月"<<endl;cout<<setw(10)«"星期天,«setw(10)<"星期,z«setw(10) << 星期二,«setw(10) « 星期三 /z«setw(10)«

19、;/z 星期四 /z«setw(10)«/z 星期五 z/«setw(10)«"星期六; cout<<endl;if(cl. month=2&&judgeyear(cl. year)(m=l;t=week%7+l;cout«setw (t*10) «t;for (int i=2;i<=maxmoncl. month-l+m;i+)cl. day=i;i f(getweek(c1)%7=0)cout<<endl;cout«setw(10)«i;cout<&

20、lt;endl;void calcndar:print_m(calendar cl, int week)i nt m=0, t;cout<<cl. year<<z/年""<cl. month<<"月 /z<<endl;cout«setw(10)"星期天 /z«setw(10)«"星期 一"setw(10)« 星期二"setw(10) << 星期三 z/«setw(10)«z,星期四 /«se

21、tw(10)«/,星期五 z/«setw(10)«z,星期六; cout<<endl;if(cl.month二二2&&judgeyear(cl. year)m二1;t二week%7+l;cout«setw(t*10)«cl. day;for (int i二2;i<=maxmoncl. month-l+m;i+)cl. day=i;if(getweek(cl)%7=0)cout<<endl;cout«setw(10)«i;void calendar:print(int week)s

22、witch(week)case 1: cout«setw (10)星期一break;case 2:cout«setw(10)«"星期二" break;case 3: cout«setw(10) «/z星期三; break;case 4:cout«setw(10)«"星期四" break;case 5: cout<<setw(10) <<"星期五" break;case 6:cout«setw(10)«z/星期六" break;case 0:cout<<setw(10)

温馨提示

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

评论

0/150

提交评论