实验报告一--类与结构.doc
上传人:yy****24 上传时间:2024-09-10 格式:DOC 页数:4 大小:33KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

实验报告一--类与结构.doc

实验报告一--类与结构.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

南昌航空大学实验报告2011年9月28号课程名称:面向对象程序设计B实验名称:类与结构班级:姓名:同组人:无指导教师评定:签名:一、实验目的·了解和使用VC++的集成开发环境。·熟悉VC++集成开发环境的基本编辑命令及功能键,学会常规窗口操作。熟悉常用功能菜单命令。·学习完整的C++程序开发过程(编辑、编译、连接、调试、运行及查看结果).理解简单的C++程序结构。·通过实验理解类与结构的区别,掌握类的定义,了解用户自定义数据类型。·理解标准库函数,学习基本流输入输出(cout,cin)的用法。·理解表达式的优先级、组合方式及语句及语句块。二、实验内容应用VC++6.0的编辑环境构造一个类Date,该类主要实现日期的基本操作,例如初始化(非构造函数)、求当前日期为星期几、当前年份是否为闰年、该日为该年第几天、输出等,具体说明如下:该类拥有三个私有(或保护)成员变量year、month、day,分别代表日期中的年、月、日,成员函数有初始化函数、判断该年份是否为闰年函数、求当前日期为星期几函数、该日为该年第几天,结果输出函数等。概要设计要实现的功能:判断输入的年份是否为闰年;判断当前日期为星期几;判断该日为该年的第几天。函数原型:intleapn(intyear)intdatex(intyear,intmonth,intday)intdatet(intyear,intmonth,intday).详细设计判断某一年是否为闰年的算法:该年份数字能被4整除但不能被100整除,或者能被4整除同时可被400整除,则为闰年。year%4==0&&year%100!==0||tear%4==0&&400==0求当前日期为星期几的算法:(1)0001年1月1日为星期一,可以计算从该天到当前日期的天数,然后除7求余,如余1则为星期一if(month==1||month==2){year-=1;month+=12;}return(day+1+2*month+3*(month+1)/5+year+(year/4)-year/100+year/400)%7;求该日为该年第几天:intday_tab[13]={0;31;29;31;30;31;30;31;31;30;31;30;31};j=0;for(i=1;i<=month;i++){if(leapn(year)==1&&month>=3){j=j+day_tab[i];}else{j=j+day_tab[i]+1;}j=j+day;returnj;程序调试调试无误后,程序测试结果为:199893theyearisnotaleapyearthedateis4thedateis246六、实验总结通过这次的试验,我明显的感觉到自己对类与结构这方面的知识掌握的还不够熟练,不能顺利地、流畅地运用这方面的知识,因为我没有在规定的时间内完成程序的设计,课后还是要多复习一下吧。附录#include<iostream.h>ClassDate{Private:inti;intj;intyear;intmonth;intday;Public:intleapn(intyear)//判断是否为闰年{if(year%4==0&&year%100!==0||tear%4==0&&400==0)//闰年的算法return1;elseretuen0;}intdatex(intyear,intmonth,intday)//求当前日期为星期几{if(month==1||month==2){year-=1;month+=12;}return(day+1+2*month+3*(month+1)/5+year+(year/4)-year/100+year/400)%7;}//求当前日期为星期几的算法intdatet(intyear,intmonth,intday)//求该日为该年第几天{intday_tab[13]={0;31;29;31;30;31;30;31;31;30;31;30;31};j=0;for(i=1;i<=month;i++){if(leapn(year)==1&&month>=3){j=j+day_tab[i];}else{j=j+day_tab[i]+1;}j=j+day;returnj;}}voidmain(){DateA;intyear;intmonth;intday;cin>>year>>month>>day;{if(A.leapn(year)==1)cout<<"theyearisaleapyear"<<endl;}{if