




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上机考试复习题一、填空题 1、建立一个对象数组,内放5个学生的数据(学号、成绩),用指针指向首元素,输出第1、3、5个学生的数据。#include using namespace std;class Studentpublic: 【1】1、Student(int n, float s)num=n; score=s; void display();private: int num; float score;void Student:display()【2】2、coutnum: num;cout”score:”score;int main()Student stud5= Student(101,78.5),Student(102,85.5),Student(103,98.5), Student(104,100.0),Student(105,95.5); 【3】3、Student *p=stud;for(int i=0;idisplay();return 0;2、定义一个复数类Complex,重载运算符“-”使之能用于复数的减。运算符重载函数作为Complex类的成员函数。编写程序,分别求两个复数之差。#include using namespace std;class Complexpublic: Complex()real=0;imag=0; Complex(double r,double i)real=r;imag=i;Complex operator-(Complex &c2); void display();private: double real; double imag;【6】6、Complex Complex:operator-(Complex &c2)Complex c; 【7】7、c.real=real-c2.real; 【8】8、c.imag=imag-c2.imag;return c;void Complex:display()cout(real,imagi)endl;int main()Complex c1(1,2),c2(-6,7),c3;【9】9、c3=c1-c2;coutc1-c2=;【10】10、c3.display();return 0;3、建立一个对象数组,内放5个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号。#include using namespace std;class Studentpublic: Student(int n,float s):num(n),score(s) int num; float score;void main()Student stud5= Student(101,78.5),Student(102,85.5),Student(103,98.5), Student(104,100.0),Student(105,95.5); 【11】11、void max(Student* ); 【12】12、Student *p=&stud0; 【13】13、max(p); void max(Student *arr) float max_score=arr0.score;int k=0;for(int i=1;imax_score) max_score=arri.score;k=i;【15】15、coutarrk.num max_scoreendl;4、有两个矩阵a和b,均为2行3列。求两个矩阵之和。重载运算符“+”,使之能用于矩阵相加(如c=a+b)。#include class Matrix public: Matrix(); 【16】16、friend Matrix operator+(Matrix &,Matrix &); void input(); void display(); private: int mat23;Matrix:Matrix() for(int i=0;i2;i+) for(int j=0;j3;j+) 【17】17、matij=0;Matrix operator+(Matrix &a,Matrix &b) Matrix c;for(int i=0;i2;i+) for(int j=0;j3;j+) 【18】18、c.matij=a.matij+b.matij;return c; void Matrix:input() coutinput value of matrix:endl;for(int i=0;i2;i+) for(int j=0;jmatij;void Matrix:display() for (int i=0;i2;i+) for(int j=0;j3;j+) coutmatij ; coutendl;int main()Matrix a,b,c;a.input();b.input();coutendlMatrix a:endl;a.display();coutendlMatrix b:endl;b.display();【19】19、c=a+b;coutendlMatrix c = Matrix a + Matrix b :endl;【20】20、c.display();return 0;1、#include using namespace std; int main( ) int add(int x,int y); int a,b,c; cinab; c=add(a,b); couta+b=cendl; return 0; int add(int x,int y) int z;z=x+y;return(z);二、程序改错题1、#include using namespace std; int main( ) int add(int x,int y); int a,b,c; cinab; c=add(a,b); couta+b=cendl; return 0; int add(int x,int y) int z;z=x+y;return(z);#include using namespace std; class Time public:int hour; int minute; int sec; ;Time t; int main()void set_time(void) ; void show_time(void) ;set_time();show_time();void set_time(void) cint.hour; cint.minute; cint.sec;void show_time(void) coutt.hour:t.minute:t.secendl;3、#include#includeclass Pointpublic: double x,y; Point(double a,double b) x=a;y=b; friend double distance(Point a,Point b);double distance(Point a,Point b) double dist; dist=sqrt(a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y); return dist;void main()Point p1(2,2),p2(5,5);cout上述两点之间的距离:distance(p1,p2)endl;3、#include#includeclass Point double x,y; Point(double a,double b) x=a;y=b; friend double distance(Point a,Point b);double Point:distance(Point a,Point b) double dist; dist=sqrt(a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y); return dist;void main()Point p1(2,2),p2(5,5);cout上述两点之间的距离:p1. distance(p1,p2)endl;4、#include#includeusing namespace std; class Pixcelpublic: double x; double y;void set(double ix,double iy)x=ix;y=iy;double xoffset()return x;double yoffset()return y;double angle()return (180/3.14159)*atan2(y,x);double radius()return sqrt(x*x+y*y); ;void main()Pixcel p;double x,y;coutEnter x and y: xy;p.set(x,y);p.x+=8;p.y+=9;coutangle=p.angle() ,radius=p.radius() ,x offset=p.xoffset() ,y offset=p.yoffset()endl; 4、#includeusing namespace std;class Pixcelprotected: double x=0; double y=0;public: void set(double ix,double iy)x=ix;y=iy; double xoffset()return x; double yoffset()return y; double angle()return (180/3.14159)*atan2(y,x); double radius()return sqrt(x*x+y*y);void main() Pixcel p; double x,y; coutEnter x and y: xy; p.set(x,y); p.x+=8; p.y+=9; coutangle=p.angle() ,radius=p.radius() ,x offset=p.xoffset() ,y offset=p.yoffset()endl;三、编程题1、分别声明Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)类。要求:在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),在Teacher_Cadre类中还包含数据成员wages(工资)。对两个基类中的姓名、年龄、性别、地址、电话等数据成员用相同的名字,在引用这些数据成员时,指定作用域。在类体中声明成员函数,在类外定义成员函数。在派生类Teacher_Cadre的成员函数show中调用Teacher类中的display函数,输出姓名、年龄、性别、职称、地址、电话,然后再用cout语句输出职务与工资。(已给出主函数、Teacher(教师)类和Cadre(干部)类,将程序补充完整)#include#include using namespace std;class Teacherpublic: Teacher(string nam,int a,char s,string tit,string ad,string t); void display(); protected: string name; int age; char sex; string title; string addr; string tel;Teacher:Teacher(string nam,int a,char s,string tit,string ad,string t): name(nam),age(a),sex(s),title(tit),addr(ad),tel(t) void Teacher:display()coutname:nameendl; coutageageendl; coutsex:sexendl; couttitle:titleendl; coutaddress:addrendl; couttel:telendl; class Cadrepublic: Cadre(string nam,int a,char s,string p,string ad,string t); void display(); protected: string name; int age; char sex; string post; string addr; string tel;Cadre:Cadre(string nam,int a,char s,string p,string ad,string t): name(nam),age(a),sex(s),post(p),addr(ad),tel(t)void Cadre:display()coutname:nameendl; coutage:ageendl; coutsex:sexendl; coutpost:postendl; coutaddress:addrendl; couttel:telendl; class Teacher_Cadre /此处自己编写代码class Teacher_Cadre:public Teacher,public Cadre public: Teacher_Cadre(string nam,int a,char s,string tit,string p,string ad,string t,float w); void show( ); private: float wage; ;Teacher_Cadre:Teacher_Cadre(string nam,int a,char s,string t,string p,string ad,string tel,float w): Teacher(nam,a,s,t,ad,tel),Cadre(nam,a,s,p,ad,tel),wage(w) void Teacher_Cadre:show( ) Teacher:display(); coutpost:Cadre:postendl; coutwages:wageendl; /此处自己编写代码int main( )Teacher_Cadre te_ca(Wang-li,50,f,prof.,president,135 Beijing Road,Shanghai,(021)61234567,1534.5); te_ca.show( ); return 0;2、商店销售某一商品,每天公布统一的折扣(discount)。同时允许销售人员在销售时灵活掌握售价(price),在此基础上,一次购10件以上者,还可以享受9.8折优惠。现已知当天3个销货员销售情况为:销货员号(num) 销货件数(quantity) 销货单价(price)101 5 23.5102 12 24.56103 100 21.5请编写程序,计算出当日此商品的总销售款sum以及每件商品的平均售价。要求用静态数据成员和静态成员函数。(提示:将折扣discount,总销售款sum和商品销售总件数n声明为静态数据成员,再定义静态成员函数average(求平均售价)和display(输出结果)。(已给出主函数、Product类,将程序补充完整)#include using namespace std;class Productpublic: Product(int n,int q,float p):num(n),quantity(q),price(p); void total(); static float average(); static void display(); private: int num; int quantity; float price; static float discount; static float sum; static int n;void Product:total() float rate=1.0; if(quantity10) rate=0.98*rate; sum=sum+quantity*price*rate*(1-discount); n=n+quantity; void Product:display() coutsumendl; coutaverage()endl; float Product:average() return(sum/n);float Product:discount=0.05;float Product:sum=0;int Product:n=0;/此处编写代码int main() Product Prod3= Product(101,5,23.5),Product(102,12,24.56),Product(103,100,21.5) ; for(int i=0;i3;i+) Prodi.total(); Product:display(); return 0;3、有两个矩阵a和b,均为2行3列。求两个矩阵之和。重载运算符“+”,使之能用于矩阵相加(如c=a+b)请把需要添加的部分补充完整。#include using namespace std;class Matrix public: Matrix(); friend Matrix operator+(Matrix &,Matrix &); void input(); void display(); private: int mat23; ;Matrix:Matrix() /补充完整Matrix operator+(Matrix &a,Matrix &b) /补充完整 void Matrix:input() coutinput value of matrix:endl; for(int i=0;i2;i+) for(int j=0;jmatij;void Matrix:display() for (int i=0;i2;i+) for(int j=0;j3;j+) coutmatij ; coutendl;int main()Matrix a,b,c; a.input(); b.input(); coutendlMatrix a:endl; a.display(); coutendlMatrix b:endl; b.display(); c=a+b; coutendlMatrix c = Matri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学做的灯谜题目及答案
- 农业种植服务提供合同书
- 时间大劫案课件
- 往事依依550字9篇
- 放风筝600字小学作文(15篇)
- 为校园添一份绿色400字8篇
- 除夕情怀作文500字(10篇)
- 纪检小教员课件
- 辽宁省辽阳市第一中学2024-2025学年八年级上学期开学考试地理试卷(含答案)
- 六年级叙事作文美好的回忆550字7篇范文
- 2025年度建筑劳务木工班组施工合作协议
- DB36-T 954-2024 低产低效林改造技术规程
- 二零二五版地质灾害监测与测量合同范本3篇
- 2025年电泳涂装项目可行性研究报告
- 食品微生物学绪论(精美课件)
- 矿业行业智能化矿山建设与运营方案
- 住院精神疾病患者自杀风险护理2023版团标解读
- 重大版英语六年级上册单词默写表
- 《画电气原理图接线》课件
- 护理肝癌的疑难病例讨论
- 92枪械课件教学课件
评论
0/150
提交评论