




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c+面向对象编程试验 源程序(原解) 实验内容 二、编写函数实现最大公约数的求取。/-#pragma hdrstop/-#pragma argsused#include#includeint main(int argc, char* argv) int x,y,t; int i,j; coutplease input x,y:xy;if(xy)t=x;x=y;y=t; for(i=2.0;ix;i+) if(x%i=0) if(y%x=0) j=x; else if(y%i=0) j=i; coutzuida gongyue shu:x) coutcant find!endl; return 0;/-三、编写函数实现最小公倍数的求取。/-#pragma hdrstop/-#pragma argsused#include#includeint main(int argc, char* argv) int x,y; int i,m; coutplease input x,y:xy; if(x%y=0) m=x; else for(i=2;i1000;i+) m=x*i; if(m%y=0) break; coutzuixiao gongbeishu:mendl; return 0;/-一、编写函数fabs和abs求实数和整数的绝对值。/-#pragma hdrstop/-#pragma argsused#include#includeint abs(int *);float abs(float *);int main(int argc, char* argv) int x,m; float y,n; cinx; ciny; m=abs(&x); n=abs(&y); coutmendl; coutnendl; return 0;/- int abs(int *c) int a; a=*c; if(a0) a=-1*a; return a; float abs(float *d) float b; b=*d; if(b0.0) b=-1*b; return b; 实验二 C+基本程序设计实验内容一、定义一个学生结构Student,包括姓名,性别,年龄。分别编制一下函数或运算符重载实现对应的功能,并编制主程序调试通过:1) 编制函数StuSet,实现为学生变量赋值的操作;2) 重载运算符+和-,实现对学生年龄的修改;3) 重载运算符,实现从输入流上输入学生信息。/-#pragma hdrstop/-#pragma argsused#include#include#includeclass Student private: char *name; char sex; int age; public: StuSet(); friend Student operator +(Student stud1,Student stud2); friend Student operator -(Student stud1,Student stud2); friend ostream& operator(ostream&,Student&);int main(int argc, char* argv) Student stud1,stud2; stud1.StuSet(); stud2.StuSet(); stud1=stud1+stud2; stud1=stud1-stud2; coutstud1; return 0;/-Student:StuSet() name=new char8; strcpy(gupeng,name); sex=m; age=21;Student operator +(Student stud1,Student stud2) stud2.age=10; stud1.age+=stud2.age; coutluanshunzengda:stud1.ageendl; return stud1;Student operator -(Student stud1,Student stud2) stud2.age=11; stud1.age-=stud2.age; coutjianxiao:stud1.ageendl; return stud1; ostream& operator(ostream& output,Student& c) outputdandu:c.age(ostream& output,Student& c) outputliushuchu:endlc.sexendlc.ageendl; return output;二、定义一个班级结构Class,该结构包含班级专业,班级秉承,以及一个最大长度为100的学生结构s和实际班级学生长度n几个数据成员,编制以下函数并编制主函数调用通过:1) 编制重载函数StuAdd,可以将以“姓名,性别,年龄”形式的学生添加到班级中;2) 编制函数ClsLength,求取班级的当前实际长度;3) 重载运算符+,实现直接将一个学生变量添加到班级中,重载运算符和-,实现直接将一个学生变量从班级中删除;4) 重载运算符,实现班级信息的输出。/-#pragma hdrstop/-#include#include#includeclass banji private: char banm3; char zhuany2; struct s char name; char sex; int age; stud100; public: stuadd(); clslength(); friend banji operator +(banji ck1,banji ck2); friend banji operator -(banji ck1,banji ck2); friend istream& operator (istream &,banji &); friend ostream& operator (ostream &,banji &);int n;#pragma argsusedint main(int argc, char* argv) banji ck1,ck2; ck1.stuadd(); ck2.stuadd(); ck1.clslength(); coutck1; ck1=ck1+ck2; ck1=ck1-ck2; coutck1; return 0;/-banji:stuadd() int j=60; for(int i=0;studi.age!=0|!=z;i+) =a; if(i%2=0) studi.sex=m; else studi.sex=w; studi.age=j-; banji:clslength() for(n=0;!=0;n+);banji operator +(banji ck1,banji ck2) ck1.studn+1.name=; ck1.studn+1.sex=ck2.stud1.sex; ck1.studn+1.age=ck2.stud1.age;banji operator -(banji ck1,banji ck2) for(int i=0;i(istream& input,banji& c) for(int i=0;; inputc.studi.sex; inputc.studi.age; return input;ostream& operator (ostream &output,banji &c) endl; outputc.stud1.sexendl; outputc.stud1.ageendl; return output; 三 类的设计与实现实验内容一、按下列要求编制复数类,并调试通过:1) 基本的构造函数(值构造、拷贝构造)及虚实部设置函数;2) 成员运算符+、-实现复数的加减运算;3) 友元运算符+、-实现更合理的加减运算;4) 运算符实现复数类的输出输入。/-#pragma hdrstop/-#include#include#include#pragma argsusedclass complex public: /complex()real=0;imag=0; complex operator +(complex &c2); complex operator -(complex &c2); /friend complex operator +(complex c1,complex c2); /friend complex operator -(complex c1,complex c2); friend istream& operator (istream &,complex &); friend ostream& operator c1; cinc2; c3=c1+c2;coutc3; c3=c1-c2;cout(istream &input,complex &c) inputc.realc.imag;return input; ostream& operator (ostream &output,complex &c) output(c.real+c.imagi)endl;return output;二、编制日期类,实现如下要求:1) 可以按照“年-月-日”和“年/月/日”输入输出日期;2) 可以在当前日期上加、减一个天数,并进行正确的跨年、跨月操作。/-#pragma hdrstop/-#include#include#pragma argsusedclass tim private: float yea; float mot; char dy; public: input(); friend ostream& operator(ostream&,tim&);int main(int argc, char* argv) tim td; td.input(); couttd; return 0;/- ostream& operatorc; if(c!=a) outputt.yea-t.mot-t.dy; else outputt.yea/t.mot/t.dy; return output; tim:input() yea=2011; mot=10; dy=8; 三、进行图形类的程序编制,具有如下类层次及要求:1) Graph基类,具有物性计算(长度、面积、体积)和输出函数;2) 线Line类,在Graph类上派生;3) 园Circle类,在Graph类上派生;4) 矩形Rectangle类,在Line类上派生;5) 六面体Hexahedron类,在Rectangle类上派生。/-#pragma hdrstop#include#include/-class Graph public: int L; float S; float V; run(); virtual input()L=0;S=0;V=0; virtual test() cout长度=Lendl; cout面积=Sendl; cout体积=Vendl; ;class line:public Graph public: int l; virtual input() l=1; L=l; S=l; V=l; virtual test() cout直线:n; cout长度=Lendl; cout面积=Sendl; cout体积=Vendl; ;class circle:public Graph public: int C; virtual input() C=2; L=C; S=C*C/(4*3.1415926); V=S; virtual test() cout圆:n; cout长度=Lendl; cout面积=Sendl; cout体积=Vendl; ;class rectangle:public line public: int k; virtual input() l=2; k=3; L=l; S=l*k; V=S; virtual test() cout矩形:n; cout长度=Lendl; cout面积=Sendl; cout体积=Vendl; ;class hexahedron:public rectangle public: int h; virtual input() l=2;k=3; h=4; L=l; V=l*k*h; S=2*(l*k+l*h+k*h); virtual test() cout六面体:n; cout长度=Lendl; cout面积=Sendl; cout体积=Vendl; ;int main(int argc, char* argv) Graph a; line b; circle c; rectangle d; hexahedron e; a.run();coutendl; b.run(); coutendl; c.run(); coutendl; d.run();coutendl; e.run(); coutendl; return 0;/-Graph:run() input(); test();实验四 C+ Builde
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业环保技术与减排策略
- 工业节能减排的技术路径与措施
- 工作技能与专业能力的提升路径
- 工作之余的健康营养生活方式养成建议
- 工作压力下的时间分配艺术
- 工作场所技能需求的调研与分析
- 工程中遇到的技术难题与创新实践
- 工程中的计算机仿真技术应用
- 工程师培训中数据挖掘技术的应用
- 工程伦理在水利工程中的实践研究
- 校服投标文件技术方案
- 2024届广东省中山市实验中学数学高二第二学期期末学业质量监测试题含解析
- 数独4宫练习题(全)
- 《物流运输实务》课件
- 在幼儿园中打造有趣的数学学习环境
- 食品小作坊应急预案范本
- 2023全屋定制家具合同范文正规范本(通用版)
- 兰州市新初一分班英语试卷含答案
- 吾心可鉴 澎湃的福流
- 黄平县旧州飞机场红砖厂原址改扩建项目环评报告
- 统计预测与决策-南京财经大学中国大学mooc课后章节答案期末考试题库2023年
评论
0/150
提交评论