西安交大C随堂练习测验题_第1页
西安交大C随堂练习测验题_第2页
西安交大C随堂练习测验题_第3页
西安交大C随堂练习测验题_第4页
西安交大C随堂练习测验题_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

个人收集整理 仅供参考学习西安交通大学实验报告一.实验目地本次实验是为了锻炼对新学地语句、新符号地应用,提高我们活学活用语句地水平.本次实验主要内容是继承地概念、基类和派生类地区别,三种继承方法地应用,多重继承等等.二.实验内容(-)实验题目一:设计一个Person类和其派生类教师 teacher,新增地属性有专业、职称和主讲课程,并为这些属性定义相应地方法 .b5E2RGbCAP1.程序源代码#include<iostream>usingnamespacestd;classPerson{protected:charname[20];charsex[5];intage;public:voidset(chara[20],charb[5],intc){strcpy(name,a);strcpy(sex,b);age=c;}p1EanqFDPwvoidshow();};voidPerson::show(){cout<<name<<"\t" <<sex<<"\t" <<age<<endl;}class teacher: public Person{private :charzhuanye[10];charzhicheng[10];charkecheng[20];public:voidset( chara[20], charb[5], int c,chard[10], chare[10], charf[20]){strcpy(name,a);strcpy(sex,b);age=c;strcpy(zhuanye,d);strcpy(zhicheng,e);strcpy(kecheng,f);}DXDiTa9E3d1/20个人收集整理 仅供参考学习voidshow();};voidteacher::show(){cout<<name<<"\t" <<sex<<"\t" <<age<<"\t" <<zhuanye<<"\t" <<zhicheng<<"\t" <<kecheng<<endl;RTCrpUDGiT}int main(){Persona;teacherb;a.set( "王越","男",35);b.set( "刘怡","女",25,"音乐","讲师","音乐鉴赏”);cout<<"姓名"<<"\t" <<"性别"<<"\t" <<"年龄"<<"\t" <<"专业"<<"\t" <<"职称"<<"\t" <<"教授课程<<endl;5PCzVD7HxAa.show();b.show();return 0;}2.实验结果(二)实验题目二:设计一个汽车类vehicle,包含数据成员.小车类car是它地私有子类,其中包括载人数.卡车是私有子类包括载人数和载重量.每个类都有相关数据地输出方法.jLBHrnAILg1.程序源代码#include<iostream>usingnamespacestd;classvehicle{protected:intwheels;floatweight;public:voidset(inta,floatb){wheels=a;weight=b;}2/20个人收集整理 仅供参考学习voidshow();};voidvehicle::show(){cout<<wheels<<"\t"<<""<<weight<<endl;}classcar:publicvehicle{private:intpassenger_load;public:voidset1(inta,floatb,intc){set(a,b);passenger_load=c;}xHAQX74J0Xvoidshow();};voidcar::show(){cout<<wheels<<"\t"<<""<<weight<<"\t"<<""<<passenger_load<<endl;LDAYtRyKfE}classtruck:publicvehicle{private:intpassenger_load;floatpayload;public:voidset2(inta,floatb,intc,floatd){set(a,b);passenger_load=c;payload=d;}Zzz6ZB2Ltkvoidshow();};voidtruck::show(){cout<<wheels<<"\t"<<""<<weight<<"\t"<<""<<passenger_load<<"\t"<<""<<payload<<endl;dvzfvkwMI1}int main(){vehiclea;carb;truckc;a.set(4,2);b.set1(6,15,2);c.set2(8,20,56,8);cout<<"车轮数"<<"\t" <<"车重(吨)"<<"\t" <<"载人数"<<"\t" <<"载重量(吨)<<endl;rqyn14ZNXIa.show();3/20个人收集整理 仅供参考学习b.show();c.show();return 0;}2.实验结果(三)实验题目三:研究生类既有学生类地特征,又有教师类地特征,试通过多重继承说明一个研究生类,包括设置学生和教师地相关属性以及显示学生和教师地相关属性等功能.EmxvxOtOco1.程序源代码#include<iostream>usingnamespacestd;classxuesheng{protected:charzhuanye[20];private:charname[20];charsex[5];intage;public:voidset(chara[20],charb[20],charc[5],intd){strcpy(zhuanye,a);strcpy(name,b);strcpy(sex,c);age=d;}SixE2yXPq5voidshow();};voidxuesheng::show(){cout<<name<<"\t"<<sex<<"\t"<<age<<"\t"<<zhuanye<<endl;6ewMyirQFL}classjiaoshi{protected:4/20个人收集整理 仅供参考学习chargongzi[20];private:charname[20];charsex[5];intage;public:voidset(chara[20],charb[20],charc[5],intd){strcpy(gongzi,a);strcpy(name,b);strcpy(sex,c);age=d;}kavU42VRUsvoidshow();};voidjiaoshi::show(){cout<<name<<"\t"<<sex<<"\t"<<age<<"\t"<<""<<"\t"<<gongzi<<endl;y6v3ALoS89}class yanjiusheng: public xuesheng,public jiaoshi{private :charname[20];charsex[5];int age;charnianji[10];public:voidset( chara[20], charb[20], charc[5], int d,chare[10], charf[20]){strcpy(gongzi,a);strcpy(name,b);strcpy(sex,c);age=d;strcpy(nianji,e);strcpy(zhuanye,f);}M2ub6vSTnPvoidshow();};voidyanjiusheng::show(){cout<<name<<"\t" <<sex<<"\t" <<age<<"\t" <<zhuanye<<"\t" <<gongzi<<"\t" <<nianji<<endl; 0YujCfmUCw}int main(){xueshenga;jiaoshib;yanjiushengc;a.set( "能动","张伟","男",21);b.set( "5000","李成","女",40);c.set( "1500","王艺","女",25,"研二","材料");cout<<"姓名"<<"\t" <<"性别"<<"\t" <<"年龄"<<"\t" <<"专业"<<"\t" <<"工资"<<"\t" <<"年级<<endl;eUts8ZQVRda.show();b.show();5/20个人收集整理 仅供参考学习c.show();return 0;}2.实验结果(四)实验题目四:用继承地方法描述下列类:商品类、家电类、电视类 .自己设计其属性和方法,编写主函数对各类事物地特征和功能进行模拟 .sQsAEJkW5T1.程序源代码#include<iostream>#include<cstring>usingnamespacestd;classshang{private:doubleprice;charhao[20];charming[20];public:shang(doubleprice,charhao[],charming[]){this->price=price;strcpy(this->hao,hao);strcpy(this->ming,ming);}voidshow(){cout<<"商品名: "<<ming<<""<<" 型号:"<<hao<<""<<" 价格:"<<price<<" 元";GMsIasNXkA}};classjia:publicshang{6/20个人收集整理 仅供参考学习private:intdianya;public:jia(double price,char hao[],char ming[],intdianya):shang(price,hao,ming) TIrRGchYzg{this->dianya=dianya;}voidshow(){shang::show();cout<<""<<" 电压:"<<dianya<<" 伏";}};classds:publicjia{private:intchicun;public:ds(double price,char hao[],char ming[],int dianya,intchicun):jia(price,hao,ming,dianya) 7EqZcWLZNX{this->chicun=chicun;}voidshow(){jia::show();cout<<""<<" 屏幕大小:"<<chicun<<"寸"<<endl;}};intmain(){doubleprice;charhao[20];charming[20];cout<<"请输入商品地信息(商品名,型号,价格) :";cin>>ming>>hao>>price;shangaaa(price,hao,ming);cout<<"商品地信息为: ";aaa.show();intdianya;cout<<endl;cout<<"请输入家电地电源电压: ";cin>>dianya;7/20个人收集整理 仅供参考学习jiabbb(price,hao,ming,dianya);cout<<"家电地信息为: ";bbb.show();intchicun;cout<<endl;cout<<"请输入电视地屏幕尺寸: ";cin>>chicun;dsccc(price,hao,ming,dianya,chicun);cout<<"电视地信息为: ";ccc.show();return0;}2.实验结果(五)实验题目五:定义一个一元三次方程类,类中至少包含构造函数、求根函数、输出方程根地函数,相加函数,输出方程函数等 5个函数,并编写主函数测试各成员函数.提示:①两个一元三次方程对应相加仍然是一个一元三次方程 .②求根方法采用迭代方法,迭代公式为: Xn+1=Xn-F(Xn)/F’(Xn) ,结束迭代地条件|F(Xn+1)|<10-7 与|Xn+1-Xn|<10-7 .③一元三次方程地一般形式如下:dX3+cX2+bX+a=0.将一元三次方程类作为基类,派生出一元四次方程类,派生类地成员函数与基类相同,大致也有 5个函数,编写主函数加以测试 . lzq7IGf02E1.程序源代码#include<iostream>#include<cmath>usingnamespacestd;classsan{private:inta;intb;intc;intd;8/20个人收集整理 仅供参考学习public:san(inta,intb,intc,intd){this->a=a;this->b=b;this->c=c;this->d=d;}voidgen();voidshow1();voidjia(san&k);voidshow2();};voidsan::gen(){doublex;x=0;do{x=x-(a*x*x*x+b*x*x+c*x+d)/(3*a*x*x+2*b*x+c);}while((fabs(a*x*x*x+b*x*x+c*x+d)<1e-7)&&(fabs((a*x*x*x+b*x*x+c*x+d)/(3*a*x*x+2*b*x+c))<1e-7));zvpgeqJ1hkcout<<"原方程在0附近地根为:"<<x<<endl;}voidsan::show1(){cout<<"原方程为:"<<a<<"x^3+"<<b<<"x^2+"<<c<<"x+"<<d<<"=0"<<endl; NrpoJac3v1gen();}voidsan::jia(san&k){a=a+k.a;b=b+k.b;c=c+k.c;d=d+k.d;}voidsan::show2(){cout<<"两方程相加地结果为: "<<endl;cout<<a<<"x^3+"<<b<<"x^2+"<<c<<"x+"<<d<<"=0"<<endl; 1nowfTG4KI}classsi:publicsan{9/20个人收集整理 仅供参考学习private:inta1;intb1;intc1;intd1;inte1;public:si(int a,int b,int c,int d,int a1,int b1,int c1,int d1,inte1):san(a,b,c,d) fjnFLDa5Zo{this->a1=a1;this->b1=b1;this->c1=c1;this->d1=d1;this->e1=e1;}voidgen1();voidshow11();voidjia1(si&m);voidshow21();};voidsi::gen1(){doubley;y=0;do{y=y-(a1*y*y*y*y+b1*y*y*y+c1*y*y+d1*y+e1)/(4*a1*y*y*y+3*b1*y*y+2*c1*y+d1); tfnNhnE6e5}while((fabs(a1*y*y*y*y+b1*y*y*y+c1*y*y+d1*y+e1)<1e-7)&&(fabs((a1*y*y*y*y+b1*y*y*y+c1*y*y+d1*y+e1)/(4*a1*y*y*y+3*b1*y*y+2*c1*y+d1))<1e-7)); HbmVN777sLcout<<"原方程在0附近地根为:"<<y<<endl;}voidsi::show11(){cout<<" 原 方 程 为 :"<<a1<<"x^4+"<<b1<<"x^3+"<<c1<<"x^2+"<<d1<<"x+"<<e1<<"=0"<<endl;V7l4jRB8Hsgen1();}voidsi::jia1(si&m){a1=a1+m.a1;10/20个人收集整理 仅供参考学习b1=b1+m.b1;c1=c1+m.c1;d1=d1+m.d1;e1=e1+m.e1;}voidsi::show21(){cout<<"两方程相加地结果为: "<<endl;cout<<a1<<"x^4+"<<b1<<"x^3+"<<c1<<"x^2+"<<d1<<"x+"<<e1<<"=0"<<endl; 83lcPA59W9}intmain(){inta;intb;intc;intd;inte;intf;intg;inth;inte1;intj1;cout<<"请输入一元三次方程地四个系数:";cin>>a>>b>>c>>d;sanfang1(a,b,c,d);fang1.show1();cout<<"请输入需要相加地一元三次方程地四个系数: ";cin>>e>>f>>g>>h;sanfang2(e,f,g,h);fang2.jia(fang1);fang2.show2();cout<<"************************************************"<<endl;cout<<"请输入第五个系数构成一元四次方程: ";cin>>e1;sifang3(a,b,c,d,a,b,c,d,e1);fang3.show11();cout<<"请输入需要相加地一元四次方程地第五个系数: ";cin>>j1;sifang4(a,b,c,d,a,b,c,d,j1);fang4.jia1(fang3);fang4.show21();return0;}

mZkklkzaaP11/20个人收集整理 仅供参考学习2.实验结果(六)实验题目六:从第7章类和对象(一)实验题目翻译机器人类派生出加密专家类,即要增加两个数据成员,分别能够存放密文字符串 charmiw[200]和明文字符串 charmingw[200]. 另增加四个成员函数,加密函数、解密函数、输出明文函数、输出密文函数.加密方法为:先将明文置逆,然后采用凯撒加密,密钥为6.注意明文字符可以是键盘上任意字符,只加密大写字母、小写字母,数字字符.数字字符加密'0'变成'6','1'变成'7',......'9' 变成'5'. 编写主函数加以测试.注意每次加密,密文和明文字符串就发生改变,每次解密,密文和明文字符串也改变.AVktR43bpw1.程序源代码#include<iostream>usingnamespacestd;classfanyi{private :charming[20];int nian;int xingneng;public:fanyi( charming[], int nian, int xingneng){strcpy( this->ming,ming);12/20个人收集整理 仅供参考学习this->nian=nian;this->xingneng=xingneng;}voidtran_weekday();voidtran_month();voidtrans_int();};voidfanyi::tran_weekday(){intweekday;cout<<"请?输?入?一?个?数簓字?(辍?到?7)?代洙?表括?一?周ü中D地?某3?:阰";ORjBnOwcEdcin>>weekday;cout<<"翻?译?地?结á果?为a:阰";switch(weekday){case1:cout<<"Monday";break;case2:cout<<"Tuesday";break;case3:cout<<"Wednesday";break;case4:cout<<"Thursday";break;case5:cout<<"Friday";break;case6:cout<<"Saturday";break;case7:cout<<"Sunday";break;}}voidfanyi::tran_month(){intmonth;cout<<"请?输?入?一?个?数簓字?(辍?到?12)?代洙?表括?一?个?月?";cin>>month;cout<<"翻?译?地?结á果?为a:阰";switch(month){case1:cout<<"January";break;case2:cout<<"February";break;case3:cout<<"March";break;case4:cout<<"April";break;case5:cout<<"May";break;case6:cout<<"June";break;case7:cout<<"July";break;case8:cout<<"August";break;case9:cout<<"September";break;case10:cout<<"October";break;case11:cout<<"November";break;13/20个人收集整理 仅供参考学习case12:cout<< "December"; break;}}voidfanyi::trans_int(){int k;cout<<"请?输?入?一?个?整?数簓:阰";cin>>k;cout<<"翻?译?地?结á果?为a:阰";int x,y;x=k/10;y=k%10;if(x==2)cout<< "twenty" ;elseif (x==3)cout<< "thirty" ;elseif (x==4)cout<< "forty" ;elseif (x==5)cout<< "fifty" ;elseif (x==6)cout<< "sixty" ;elseif (x==7)cout<< "seventy" ;elseif (x==8)cout<< "eighty" ;elseif (x==9)cout<< "ninty" ;elseif (x==0){if(y==0)cout<< "zero";elseif (y==1)cout<< "one";elseif (y==2)cout<< "two";elseif (y==3)cout<< "three" ;elseif (y==4)cout<< "four" ;elseif (y==5)cout<< "five" ;elseif (y==6)cout<< "six" ;elseif (y==7)cout<< "seven";elseif (y==8)cout<< "eight" ;elsecout<<"nine";}else{if(y==0)cout<< "ten";elseif (y==1)cout<< "eleven";elseif (y==2)cout<< "twelve" ;elseif (y==3)cout<< "thirteen" ;elseif (y==4)cout<< "fourteen" ;elseif (y==5)cout<< "fifteen" ;elseif (y==6)cout<< "sixteen" ;elseif (y==7)cout<< "seventeen";elseif (y==8)cout<< "eighteen" ;14/20个人收集整理 仅供参考学习elsecout<<"nineteen";}cout<<"";if(y==0)cout<<"";elseif(y==1)cout<<"one";elseif(y==2)cout<<"two";elseif(y==3)cout<<"three";elseif(y==4)cout<<"four";elseif(y==5)cout<<"five";elseif(y==6)cout<<"six";elseif(y==7)cout<<"seven";elseif(y==8)cout<<"eight";elsecout<<"nine";}classzhuan:publicfanyi{private:charmiw[200];charmingw[200];public:zhuan(charming[],intnian,intxingneng,charmingw[],charmiw[]):fanyi(ming,nian,xingneng)2MiJTy0dTT{strcpy( this->mingw,mingw);strcpy( this->miw,miw);}voidjiami();voidjiemi();voidshow1();voidshow2();};voidzhuan::jiami(){charmingw2[200];intlen=0;while(mingw[len]!='\0')len++;for(intj=0;j<len;j++)mingw2[j]=mingw[len-j-1];for(intk=0;k<len;k++){if(mingw2[k]>='a'&&mingw2[k]<='z')mingw2[k]=(mingw2[k]-'a'+6)%26+'a';elseif(mingw2[k]>='A'&&mingw2[k]<='Z')15/20个人收集整理 仅供参考学习mingw2[k]=(mingw2[k]- 'A'+6)%26+'A';elseif (mingw2[k]>='0'&&mingw2[k]<='9')mingw2[k]=(mingw2[k]- '0'+6)%10+'0';elsemingw2[k]=mingw2[k];}cout<<"加ó密ü后ó地?密ü文?为a:阰";for(int p=0;p<len;p++)cout<<mingw2[p];cout<<endl;}voidzhuan::jiemi(){int len1=0;while(miw[len1]!= '\0' )len1++;for(int q=0;q<len1;q++){if(miw[q]>='a'&&miw[q]<='z')miw[q]=(miw[q]- 'a'+20)%26+'a';elseif (miw[q]>='A'&&miw[q]<='Z')miw[q]=(miw[q]- 'A'+20)%26+'A';elseif (miw[q]>='0' &&miw[q]<='9')miw[q]=(miw[q]- '0'+4)%10+'0' ;elsemiw[q]=miw[q];}charmiw2[200];for(int o=0;o<len1;o++)miw2[o]=miw[len1-o-1];cout<< "解a密ü后ó地?明÷文?为a:阰";for(int r=0;r<len1;r++)cout<<miw2[r];cout<<endl;}int main(){charming[20];int nian;int xingneng;cout<<"请?输?入?机ú器÷人?地?姓?名?、¢年ê龄?和í性?能ü:阰";cin>>ming>>nian>>xingneng;fanyirobot(ming,nian,xingneng);if(xingneng==0)16/20个人收集整理 仅供参考学习cout<<"此?机ú器÷人?不?会á进?行D任?何?翻?译?.£";elseif(xingneng==1){cout<<"此?机ú器÷人?可é以?翻?译?周ü名?.£"<<endl;robot.tran_weekday();}elseif (xingneng==2){cout<<"此?机ú器÷人?可é以?翻?译?周ü名?和í月?名?.£"<<endl;robot.tran_weekday();cout<<endl;robot.tran_month();}else{cout<<"此?机ú器÷人?可é以?翻?译?周ü名?、¢月?名?和í数簓字?.£"<<endl;robot.tran_weekday();cout<<endl;robot.tran_month();cout<<endl;robot.trans_int();}cout<<endl;charmingw[200];charmiw[200];cout<< "请?输?入?明÷文?:阰";cin>>mingw;cout<< "请?输?入?密ü文?:阰";cin>>miw;zhuanhaha(ming,nian,xingneng,mingw,miw);haha.jiami();haha.jiemi();return 0;}2.实验结果17/20个人收集整理 仅供参考学习7、(七)实验题目七:认真阅读钱学森班地实验报告样板,写出阅读样板心得体会(或分析对比),心得体会地字数不能少于200个汉字.gIiSpiue7A在仔细阅读了钱学森12班张仁亮同学地实验报告后,通过对比,发现了张仁同学地优点和自己地不足:1.程序结构上,设计思路非常非常地清晰,一看就知道他对于程序设计地重点难点都了如指掌;还有张仁同学在程序结构上做了许多细致优化地处理,通过每一步地程序提示,比如他提出二元一次方程组如果某一项系数为零则不应输出该项地问题,这点非常好,让我们知道了他地设计思路和结构.uEh0U1Yfmh2.他地程序给人影响最深地还是注释语句,这是我地缺点,我一般都懒得写注释语句,可是对于一个初学者来说,注释语句不仅能让他人更好地理解你地程序结构还能让自己更好地掌握知识要点.IAg9qLsgBX排版上非常清晰、美观.个人总结对比写地非常认真,能够清晰地看到自己弱项与别人地强项,这点很好.二、个人小结本次程序设计主要学习内容不算复杂,其中地细节有参数地18/20个人收集整理 仅供参考学习设置和应用以及传递方式,还有局部变量与全部变量地区别和联系.从学习内容上来说算不上难,只是具体在操作中总是出现这样那样地问题,即使是特别简单地问题也不那么容易解决,所以在以后学习过程中还要

温馨提示

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

评论

0/150

提交评论