甲级资质咨询机构出品可研报告-c实训报告之仓库管理以及实训题目指导word文档下载内容摘要:

组中的整数。 当然刚生成对象时,对象中的数组没有数据,只有一个一个地向对象中插入数据。 要求如下: ( 1)分析数组类的数据属性要求; ( 2)分析数组类的操作属性要求; ( 3)编制数组类的接口定义; ( 4)生成数组类对象; ( 5)编制程序实现数组对象的插入和删除操作; include class Date { private: int year,month,day。 public: Date(int y=1900,int m=1,int d=1):year(y),month(m),day(d){}//构造函数 void setDate(int y,int m,int d)//设置日期 { year=y。 month=m。 day=d。 } void showDate()//输出日期格式 { coutyear/month/dayendl。 } int leap()//判断是否为润年 { if(year%400==0||(year%100!=0amp。 amp。 year%4==0)) return 1。 else return 0。 } int Days()//判断当月天数 { int d。 switch(month) { case 2: if(leap()) d=29。 else d=28。 break。 case 1: case 3: case 5: case 7: case 8: case 10: case 12:d=31。 break。 case 4: case 6: case 9: case 11:d=30。 break。 } return d。 } int isRight()//判断日期数是否合理 { if(year0||month1||month12||day1||dayDays()) { coutthe date data is wrong!!endl。 return 0。 } else return 1。 } Date Yesterday()//求昨天 { Date dt(year,month,day)。 int y1=,m1=,d1=。 switch(month) { case 2: case 4: case 6: case 8: case 9: case 11: { if(day==1){y1=year。 m1=month1。 d1=31。 } else {y1=year。 m1=month。 d1=day1。 } break。 } case 5: case 7: case 10: case 12: { if(day==1){y1=year。 m1=month1。 d1=30。 } else {y1=year。 m1=month。 d1=day1。 } break。 } case 3: { if(day==1) {y1=year。 m1=month1。 if(leap()) d1=29。 else d1=28。 } else{ y1=year。 m1=month。 d1=day1。 } break。 } case 1: { if(day==1){y1=year1。 m1=12。 d1=31。 } else {y1=year。 m1=month。 d1=day1。 } break。 } } (y1,m1,d1)。 return dt。 } Date Tomorrow()//求明天日期 { Date dt(year,month,day)。 int y1=,m1=,d1=。 switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: { if(day==31){y1=year。 m1=month+1。 d1=1。 } else {y1=year。 m1=month。 d1=day+1。 } break。 } case 4: case 6: case 9: case 11: { if(day==30){y1=year。 m1=month+1。 d1=1。 } else {y1=year。 m1=month。 d1=day+1。 } break。 } case 2: { if((leap()amp。 amp。 day==29)||(!leap()amp。 amp。 day==28)) {y1=year。 m1=month+1。 d1=1。 } else{ y1=year。 m1=month。 d1=day+1。 } break。 } case 12: { if(day==31){y1=year+1。 m1=1。 d1=1。 } else {y1=year。 m1=month。 d1=day+1。 } break。 } } (y1,m1,d1)。 return dt。 } }。 //data 类结束 int main() { Date date1。 int y,m,d,tr=1。 while(tr) { cout\t 请输入当天日期 endl。 cout年:。 ciny。 cout月:。 cinm。 cout日:。 cind。 (y,m,d)。 if(()) {cout当日日期。 ()。 cout明日日期。 ().showDate()。 cout昨日日期。 ().showDate()。 } cout继续下一次测试( 1)或者结束( 2) endl。 cintr。 if(tr!=1) break。 } return 0。 } (五)指针与引用实训 基础实训 读程序写结果; 设有一个整型数组 A,有 10 个元素,输出各个元素,要求使用数组名和指针运算来实现。 设计一个函数,以参数方式输入一个字符 串,返回该字符串的长度。 include int mystrlen(char *str) { int t = 0。 while((t++,*str++))。 return t1。 } int main() { char str[100]。 int length。 cout输入字符串 :endl。 cinstr。 length = mystrlen(str)。 coutstr长度为: lengthendl。 return 0。 } 设计一个函数,比较两个字符串是否相同。 include include void main() { char str1[100],str2[100]。 cout输入两个字符串 (str1,str2): endl。 cinstr1str2。 int ret=strcmp(str1,str2)。 if(ret==0) cout相同 endl。 else cout不同 endl。 } 设计一个函数,比较两个字符串是否相同。 int myStrCmp(char *str1,char *str2){ int sl1=0,sl2=0,i。 while(str1[sl1++])。 while(str2[sl2++])。 if(sl1!=sl2) return 0。 else for(i=0。 isl11。 i++) if(str1[i]!=str2[i]) return 0。 return 1。 } 用指针和引用实现数的交换。 include include void swap1(int amp。 a, int amp。 b) { int c。 c=a。 a=b。 b=c。 } void swap2(int *p1, int *p2) { int p。 p=*p1。 *p1=*p2。 *p2=p。 } int main(void) { int num1, num2。 cout(amp。 num1,amp。 num2):endl。 cinnum1num2。 cout(原始数据 :num1,num2):num139。 ,39。 num2endl。 swap1(num1,num2)。 cout第一次交换 :num139。 ,39。 num2endl。 swap2(amp。 num1,amp。 num2)。 cout第二次交换 :num139。 ,39。 num2endl。 return 0。 } 对象指针遵循一般变量指针的规则。 综合实训 冒泡排序是一个排序程序,它将无次序的数列排成从小到大的有序数列。 要求如下: ( 1)建成一个数组类; ( 2)使用指针变量指向动态数组; ( 3)编写成员函 数完成排序; ( 4)编写主程序,验证结果。 (六)继承实训 基础实训 读程序,写结果; 定义 B0 是虚基类, B1 和 B2 都继承 B0, D1 同时继承 B1 和 B2,它们都是公有派生,这些类都是同名的公有数据成员和公有函数,编制主程序,生成 D1 的对象,通过限定词 ::分别访问 D B0、 B B2 的公有成员。 定义一个文件名类,包含文件名属性。 由文件名类派生一个表示文件的类,增加文件的页数和文件的编号。 设计一个楼房基类,包含变量层数、建筑面积、建筑名称。 建立派生类表示居住楼,增加变量单元数。 再建 立派生类表示办公楼,增加变量表示公司数 include include iostream using namespace std。 class building//楼房基类 { public: building(int floor,double area,string name){floors=floor。 areas=area。 names=name。 } virtual void Display()const{/* do something like print*/} private: int floors。 double areas。 string names。 //建筑名称 }。 class house:public building { public: house(int floor,double area,string name,int domitory):building(floor,area,name){ds=domitory。 } void Display()const{/* do the thing you want to do*/} private: int ds。 }。 class office:public building//不知道你是要从 building 继承 还是 house 这从buiding 继承 { public: office(int floor,double area,string name,int CompanySize):building(floor,area,name){cs=CompanySize。 } void Display()const{/*print or something*/} private: int cs。 }。 void DoSmeThing(building *p) { pDisplay()。 } void main() { building Bd(5,60,paradise)。 house Hs(4,home,5)。 o。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。