




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件学院大作业任务书课程名称: C+程序设计 题 目: C+综合编程(面向对象) 专 业: 计算机网络技术 班 级: 131 学 号: 8001613 学生姓名: 完成人数: 起讫日期: 2014.6.3 任课教师: 李荣鑫 职称: 教师 部分管主任: 完成时间: 2014.6.9 说 明1. 本任务书由任课教师填写后,下达到学生。2. 任务完成后,任课教师需填写小结表。3. 任务书、学生成绩与学生完成后的大作业(纸质和电子两种)一并报送各教学研究部审核后转教务办。4. 另附一份全班大作业总结大作业的要求和内容:(包括题目选择范围、技术要求、递交时间、考核方法等)1. 要求独立完成下面的每一道题目。(题目附后面)2. 每一道题均要求写出完整的程序代码,并要求调试运行通过。程序要有输入和输出。并将程序运行结果的窗口截屏(用Alt+Prt键),粘贴(用Ctrl+V键)到程序代码的后面。3. 不允许有程序代码雷同和抄袭的情况,若代码雷同率超过30%以上的,双方成绩均按不及格处理。4. 要求递交电子文档和打印纸质文档,由班长统一收取。5. 递交时间:2014年6月12日之前。教师小结:成绩: 教 师 签 名: 教研部负责人: 学生姓名: 康涛 C+程序设计编程试题1.设计一个圆柱体类,定义构造函数初始化圆柱体,定义两个成员函数分别计算它的底面积和体积。2.定义一个点类Point,有横坐标x和纵坐标y,定义构造函数初始化点,定义display()函数显示点的坐标。再定义一个线段类Line,由两个点作为对象成员,定义不同的构造函数初始化线段,定义成员函数计算线段的距离。3.编写一个复数类。实现各种常用构造函数,实现整数,实数向复数的转换函数,实现整数、实数和复数以及复数和复数之间的加、减、乘法运算。4.设计一个矩阵类,要求在矩阵类中重载加(+)、减(-)、乘(*)、复值(=)运算,在主函数中定义两个对象,并分别调用重载的运算符。5.设计一个基类Shapes,包括成员函数display(),声明为纯虚函数。由该类派生出两个类:矩形类Rectangle和圆类Circle,再由长方形类派生出立方体类Box,由圆类派生出圆柱体类Cylinder。分别定义display()函数显示图形的主要几何元素(如长宽高半径等),用GetS()计算图形的面积,用GetV计算图形的体积。在主函数中定义相关的对象并显示相应的内容。6.定义一个日期类Cdate.,该类有year,month,day三个私有数据成员。实现一下功能:1)定义成员函数display()显示日期;2)定义成员函数setdate()设置日期;3)定义默认构造函数设置系统默认日期;4)重载+运算符。7.用类实现一个单链表的操作。(包括链表的建立,链表的输出,链表的插入和删除操作)大作业的要求和内容:(包括题目选择范围、技术要求、递交时间、考核方法等)1.要求独立完成下面的每一道题目。(题目附后面)2.每一道题均要求写出完整的程序代码,并要求调试运行通过。程序要有输入和输出。并将程序运行结果的窗口截屏(用Alt+Prt键),粘贴(用Ctrl+V键)到程序代码的后面。3.不允许有程序代码雷同和抄袭的情况,若代码雷同率超过30%以上的,双方成绩均按不及格处理。4.要求递交电子文档和打印纸质文档,由班长统一收取。递交时间:2014年6月12日之前。1.设计一个圆柱体类,定义构造函数初始化圆柱体,定义两个成员函数分别计算它的底面积和体积。#include#define PI 3.14using namespace std;class Cylinderprivate :int radius; int height;public:Cylinder(int r,int h) radius=r;height=h;double area()return (PI*radius*radius);double volume()return PI*radius*radius*height;void show() coutthe area is:area()nthe volume is:volume()endl;void main()int r,h;cout姓名:康涛endl;cout学好:8001613018endl;cout输入r和hrh;Cylinder Cyli1(r,h);Cyli1.show();2.定义一个点类Point,有横坐标x和纵坐标y,定义构造函数初始化点,定义display()函数显示点的坐标。再定义一个线段类Line,由两个点作为对象成员,定义不同的构造函数初始化线段,定义成员函数计算线段的距离。#include #include using namespace std;class Point private:int x;int y;public: Point(int a,int b)x=a;y=b;void display(); void Point:display()cout(x,y)endl;class Line public: Line(int a,int b,int c,int d):x1(a),y1(b),x2(c),y2(d)float getdist()return sqrt(pow(x1-x2),2)+pow(y1-y2),2);private: int x1,y1;int x2,y2; int main() cout姓名:康涛endl;cout学好:8001613018endl;Line l(3,4,6,2); Point p1(3,4); Point p2(6,2); p1.display(); p2.display(); coutthe distance of tow points is :endl; coutl.getdist()endl;return 0;3.编写一个复数类。实现各种常用构造函数,实现整数,实数向复数的转换函数,实现整数、实数和复数以及复数和复数之间的加、减、乘法运算#includeclass Complex public: Complex()real=0;imag=0; Complex(double r)real=r;imag=0; /实数转换为复数的转换构造函数 Complex(double r,double i)real=r;imag=i; Complex operator+(Complex &c2); /重载+号 Complex operator+(int &i); /复数与实数相加 friend Complex operator+(int&,Complex &); /实数与复数相加 Complex operator-(Complex &c2); /重载号 Complex operator*(Complex &c2); /重载*号 void display(); void display_1(); private: double real; double imag; ; Complex Complex:operator+(Complex &c) return Complex(real+c.real,imag+c.imag); Complex Complex:operator+(int &i) return Complex(real+i,imag); void Complex:display() cout(real,imagi)endl; Complex operator+(int &i,Complex &c) return Complex(i+c.real,c.imag); Complex Complex:operator -(Complex &C2) Complex C; C.real=real-C2.real; C.imag=imag-C2.imag; return C; Complex Complex:operator *(Complex &C2)Complex C; C.real=real*C2.real-imag*C2.imag; C.imag=imag*C2.real+real*C2.imag; return C; void main() cout姓名:康涛endl; cout学好:8001613018endl; Complex c1(2,3),c2(8,-6),c3; int i=5; c3=c1+c2; coutc1=;c1.display(); coutc2=;c2.display(); coutc1+c2=; c3.display(); c3=i+c1; couti+c1=; c3.display(); c3=c1+i; coutc1+i=; c3.display(); c3=c1-c2; coutc1-c2=; c3.display(); c3=c1*c2; coutc1*c2=; c3.display(); cout将一个实数转换为复数:endl; c3=Complex(3.8); c3.display();4.设计一个矩阵类,要求在矩阵类中重载加(+)、减(-)、乘(*)、复值(=)运算,在主函数中定义两个对象,并分别调用重载的运算符。#include class Matrix friend ostream& operator(ostream& out,Matrix& M); /重载(istream& in,Matrix& M); /重载运算符 public: Matrix(int r,int c); Matrix operator+(Matrix &M); Matrix operator-(Matrix &M); Matrix operator*(Matrix &M); int GetCounts() return rows*cols; private: int rows,cols; /定义矩阵的行数rows,列数cols double *m; /矩阵中实际(物理)按行存放的元素; Matrix:Matrix(int r,int c) rows=r,cols=c; m=new doublerows*cols; istream& operator(istream& in,Matrix& M) /输入流重载 int i; for(i=0;i*(M.m+i); return in; ostream& operator(ostream& out,Matrix& M) /输出流重载 int i,j=0; for(i=0; iM.rows*M.cols; i+) if(j=M.cols) j=0,outendl; out *(M.m+i); j+; return out; Matrix Matrix:operator+(Matrix &M) int i; Matrix tempM(rows,cols); for(i=0; irows*cols; i+) *(tempM.m+i)=*(m+i)+*(M.m+i); return tempM; Matrix Matrix:operator-(Matrix &M) int i; Matrix tempM(rows,cols); for(i=0;irows*cols;i+) *(tempM.m+i)=*(m+i)-*(M.m+i); return tempM; Matrix Matrix:operator*(Matrix &M) int i,j,t,k=0; Matrix tempM(rows,cols); for(i=0; irows*cols; i+=cols) for(j=0; jcols; j+) for(t=0,*(tempM.m+k)=0; tcols; t+) *(tempM.m+k)=*(tempM.m+k)+*(m+i+t)*(M.m+j+t*rows); k+; return tempM; void main() cout姓名:康涛endl; cout学好:8001613018endl; Matrix A(3,3); Matrix B(3,3); Matrix C(3,3); cout输入第一个矩阵的A.GetCounts()个数:A; cout输入第二个矩阵的B.GetCounts()个数:B; C=A+B; coutendl矩阵之和:endl; coutCendl; coutendl矩阵之差:endl; C=A-B; coutCendl; C=A*B; coutendl矩阵之积:endl; coutCendlendl; 5.设计一个基类Shapes,包括成员函数display(),声明为纯虚函数。由该类派生出两个类:矩形类Rectangle和圆类Circle,再由长方形类派生出立方体类Box,由圆类派生出圆柱体类Cylinder。分别定义display()函数显示图形的主要几何元素(如长宽高半径等),用GetS()计算图形的面积,用GetV计算图形的体积。在主函数中定义相关的对象并显示相应的内容。#include #define PI 3.14using namespace std;class Shapes public: virtual void display()=0;class Rectangle:virtual public Shapes/长方形类protected:int x,y;public:Rectangle(int a,int b)x=a;y=b;float GetS_Rectangle()return (x*y);virtual void display()cout宽:x长:yendl;cout长方形的面积是:GetS_Rectangle()endl;class Circle:virtual public Shapes/圆形类protected:int r;public:Circle(int radius)r=radius; float GetS_Circle()return (PI*r*r); virtual void display() cout圆形半径是:rendl; cout圆形的面积是:GetS_Circle()endl; ;class Box: public Rectangle/长方体类protected:int g;public:Box(int a,int b,int gao):Rectangle(a,b),g(gao)float GetV_Box()return Rectangle:GetS_Rectangle()*g;virtual void display()cout长方体的高是:gendl;cout长方体的体积是:Rectangle:GetS_Rectangle()*gendl;class Cylinder: public Circle/圆柱体类protected:int h;public:Cylinder(int radious,int height):Circle(radious),h(height)float GetV_Cylinder()return Circle:GetS_Circle()*h;virtual void display()cout圆柱体的高是:hendl;cout圆柱体的体积是:Circle:GetS_Circle()*hendl;void main()cout姓名:康涛endl;cout学好:8001613018endl; Rectangle R1(2,3); R1.display(); Circle C1(2); C1.display(); Box B1(2,3,2); B1.display(); Cylinder Cy1(2,3); Cy1.display();6.定义一个日期类Cdate.,该类有year,month,day三个私有数据成员。实现一下功能:1)定义成员函数display()显示日期;2)定义成员函数setdate()设置日期;3)定义默认构造函数设置系统默认日期;4)重载+运算符。#include#include using namespace std; class Cdatepublic:Cdate()year=0;month=0;day=0;Cdate(int y,int m,int d):year(y),month(m),day(d) setdate(int,int,int);/设置一个时间Cdate operator+();void display()coutyear年month月day日endl;private:int year;int month;int day;Cdate:setdate(int y,int m,int d)year=y;month=m;day=d;Cdate Cdate:operator+() +day; +month; +year;return *this;void main()cout姓名:康涛endl;cout学好:8001613018endl;Cdate setdate(2013,9,15);coutsetdate()设置的时间是:;setdate.display();/输出设置时间cout重载setdate()设置的time is:; Cdate Cdat1(2013,9,15);for(int i=0;i1;i+)+Cdat1;Cdat1.display(); tm *year; /设置当前的系统时间 tm *month; tm *day; time_t t; t=time(0); year = localtime(&t); month = localtime(&t); day = localtime(&t);cout当前您的电脑系统时间是:; couttm_year+1900)年 tm_mon+1)月 tm_mday日endl;/输出当前系统时间7.用类实现一个单链表的操作。(包括链表的建立,链表的输出,链表的插入和删除操作)#includeusing namespace std;ty
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025呼和浩特市玉泉区消防救援大队招聘4名政府专职消防员模拟试卷及答案详解(易错题)
- 2025年绥化海伦市各乡镇民政服务站招聘46人模拟试卷及完整答案详解一套
- 2025年潍坊职业学院高层次高技能人才引进(招聘)(10人)考前自测高频考点模拟试题及答案详解(考点梳理)
- 江西省部分学校2024-2025学年高三上学期10月联考地理试题(解析版)
- 2025广东东莞东坑镇第三小学(松实附小)招聘20人模拟试卷附答案详解(典型题)
- 2025年上海中医药大学附属曙光医院淮南医院招聘27人模拟试卷及答案详解(名师系列)
- 纳米材料使用安全保障承诺书7篇
- 2025年湖南省烟草专卖局系统公开考试聘用工作人员考前自测高频考点模拟试题有答案详解
- 2025福建福州市晋安区公益性岗位招聘5人考前自测高频考点模拟试题有完整答案详解
- 2025湖南邵阳市中心医院住院医师规范化培训招录65人模拟试卷及答案详解(典优)
- 服装制造的低碳环保
- 转租授权委托书及注意事项
- 《PR》教学课件-3.2 设置关键帧
- YYT 1898-2024 血管内导管导丝 亲水性涂层牢固度试验方法
- 外企舞台策划方案
- 重组胶原蛋白行业深度系列(一):重组胶原蛋白商业化提速中国成分踏入“黄金时代”
- 美甲艺术全套教学课件
- 序列到序列网络(课件)
- 人教版九年级英语全一册(全套)精品课件
- 中学中职家长会课件
- 教学设计 《掷一掷》教学设计
评论
0/150
提交评论