网络工程18级《C++程序设计II》实践作业1
A.类的应用1 | |||||
|
|||||
Description | |||||
利用面向对象程序设计的方法,通过长方体的长、宽、高求长方体的体积与表面积。 | |||||
Input | |||||
多组测试数据。第一行输入测试数据的组数t(0<t<10);以下t行每行输入长方体的长a、宽b、高c,(0<a,b,c<10,且为int型,a、b、c之间由空格分隔)。 | |||||
Output | |||||
每组输出数据为2个,分别为长方体的体积和表面积,数据之间由空格分隔。 | |||||
Sample Input | |||||
6 7 5 6 4 6 8 5 9 4 1 10 1 5 4 5 10 7 7 |
|||||
Sample Output | |||||
214 210 208 192 202 180 42 10 130 100 378 490 |
code:
#include<iostream>
using namespace std;
class rectangle{
float length;
float width;
float height;
public:
rectangle(){};
rectangle(float l,float w,float h){
length = l;
width = w;
height = h;
}
~rectangle(){};
void setDimension(float l,float w,float h){
length = l;
width = w;
height = h;
}
float getLength(){return length;}
float getWidth(){return width;}
float getHeight(){return height;}
float getVolum(){return length*width*height;}
float getArea(){return *(length*width+length*height+width*height);;}
};
int main(){
int T;
cin>>T;
while(T--){
int a,b,c;
cin>>a>>b>>c;
rectangle myrectangle(a,b,c);
cout<<myrectangle.getArea()<<" "<<myrectangle.getVolum()<<endl;
} return ;
}
B.类的应用2 | |||||
|
|||||
Description | |||||
利用面向对象程序设计的方法,通过三角形的三边求三角形的周长。 | |||||
Input | |||||
多组测试数据。第一行输入测试数据的组数t(0<t<10);以下t行每行输入三角形的三边a、b、c,(0<a,b,c<10,且为int型,a、b、c之间由空格分隔)。 | |||||
Output | |||||
每组输出数据为1个。当输入的三边能够构成三角形时,输出周长;当输入的三边不能构成三角形时输出“error”。 | |||||
Sample Input | |||||
2 1 10 1 5 4 5 |
|||||
Sample Output | |||||
error 14 |
#include<iostream>
using namespace std;
class triangle{
int a,b,c;
public:
void set(int a, int b, int c){
this->a = a;
this->b = b;
this->c = c;
}
bool istri(){
return a+b>c && a+c>b && b+c>a;
}
int getl(){
return a+b+c;
} };
int main(){
int a,b,c,N=;
triangle T;
cin>>N;
while(N--){
cin >> a >> b >> c;
T.set(a,b,c);
if(T.istri()){
cout <<T.getl()<< endl;
}else{
cout <<"error"<< endl;
}
}
}
C.类的应用3 | |||||
|
|||||
Description | |||||
利用面向对象程序设计的方法解决问题。行走江湖,靠的是脑力和武器。脑瓜灵光,武器平平免不了输给或愚钝但手握屠龙的无名之辈,脑力与武器按照四六比例决定一个人的江湖地位。适逢Apple新店开业,当街擂台比武海选晋级选手赢取Apple X。比武之前要登记选手:选手名(长度不大于10的字符串)、脑力值(不大于100的整数)、武器名(长度不大于10的字符串)、武器攻击力(不大于100的整数)。比武方式:两两一组,对打。 | |||||
Input | |||||
多组测试数据。第一行输入测试数据的组数t(0<t<10);以下2t行每2行输入2名比武者的信息:选手名、脑力值、武器名、武器攻击力,数据之间由空格分隔。 | |||||
Output | |||||
针对每2行选手的输入,输出比武结果。 当前者打败了后者,会输出:前者名 win 后者名 当前者输给了后者,会输出:前者名 lost 后者名 当前者与后者不分胜负,会输出:前者名 tie 后者名 |
|||||
Sample Input | |||||
3 Sunwk 100 Jingb 100 Niumw 0 Bajs 100 Tangsz 100 Chanzhang 0 Honghe 80 Huolongqiang 60 ZHUba 60 JCdp 60 SHAwj 30 FTc 80 |
|||||
Sample Output | |||||
Sunwk win Niumw Tangsz lost Honghe ZHUba tie SHAwj |
|||||
Hint | |||||
Honghe 80 Huolongqiang 60:此人江湖能力为80*0.4+60*0.6=68 |
#include<iostream>
using namespace std;
class people{
string name;
int wind;
string gun;
int power;
public:
void set(string name,int wind, string gun, int power){
this->name = name;
this->wind = wind;
this->gun = gun;
this->power = power;
}
int getTolPower(){
return wind*0.4+power*0.6;
}
};
int main(){
int t;
cin>>t;
people p1,p2;
while(t--){
string name,name2,gun;
int wind,power;
cin>>name>>wind>>gun>>power;
p1.set(name,wind,gun,power);
cin>>name2>>wind>>gun>>power;
p2.set(name,wind,gun,power);
if(p1.getTolPower()==p2.getTolPower()){
cout<<name <<" tie "<< name2<<endl;
}else if(p1.getTolPower()>p2.getTolPower()){
cout<<name <<" win "<< name2<<endl;
}else{
cout<<name <<" lost "<< name2<<endl;
}
}
}
D.类的应用4 | |||||
|
|||||
Description | |||||
利用面向对象程序设计的方法解决问题。 神魔争斗一直延续着...,是集智慧兵器威力一体(智慧与兵器威力权重比为4:6)的神与仅凭兵器威力的魔的较量。进入新的时代,要举办一场神魔擂台预选赛。现场注册登记,要记录神的名号(长度不大于10的字符串)、神的智慧值(不大于100的整数)、神使用兵器的名字(长度不大于10的字符串)以及威力值(不大于100的整数)。魔要记录魔的名字(长度不大于10的字符串)、魔使用兵器的名字(长度不大于10的字符串)以及威力值(不大于100的整数)。 |
|||||
Input | |||||
多组测试数据。第一行输入测试数据的组数t(0<t<10);以下2t行每2行的第一行输入神的名号、神的智慧值、神使用的兵器名字以及威力值,数据之间由空格分隔;第二行输入魔的名字、魔使用的兵器以及威力值,数据之间由空格分隔。 | |||||
Output | |||||
针对每2行神魔比武的输入,输出比武结果。 当神打败了魔,会输出:神名 win 魔名 当神败给了魔,会输出:神名 lost 魔名 当神魔不分胜负,会输出:神名 tie 魔名 |
|||||
Sample Input | |||||
3 Tangsz 100 Chanzhang 0 Honghe Huolongqiang 60 Sunwk 100 Jingb 100 Niumw Bajs 100 Zhubj 20 Jiucdp 80 Xiaoy Pud 20 |
|||||
Sample Output | |||||
Tangsz lost Honghe Sunwk tie Niumw Zhubj win Xiaoy |
|||||
Hint | |||||
Tangsz 100 Chanzhang 0:此神战斗力为100*0.4+0*0.6=40 Honghe Huolongqiang 60:此魔战斗力为60 |
#include<iostream>
#include<cstdlib>
using namespace std;
class people{
string name;
int wind;
string gun;
int power;
public:
void set(string name,int wind, string gun, int power){
this->name = name;
if(wind!=){
this->wind = wind;
}else{
this->wind = ;
}
this->gun = gun;
this->power = power;
}
int getTolPower(){
if(this->wind==){
return power;
}
return wind*0.4+power*0.6;
}
};
int main(){
int t;
cin>>t;
people p1,p2;
while(t--){
string name,name2,gun;
int wind,power;
cin>>name>>wind>>gun>>power;
p1.set(name,wind,gun,power);
cin>>name2>>gun>>power;
p2.set(name2,,gun,power);
if(p1.getTolPower()==p2.getTolPower()){
cout<<name <<" tie "<< name2<<endl;
}else if(p1.getTolPower()>p2.getTolPower()){
cout<<name <<" win "<< name2<<endl;
}else{
cout<<name <<" lost "<< name2<<endl;
}
}
}
E.类的应用5 | |||||
|
|||||
Description | |||||
利用面向对象设计方法解决问题。根据主函数main()的内容、输入与输出数据,完成类的设计。 主函数如下: cin>>x1>>y1>>x2>>y2; Line L1(0,0,1,1); return 0; |
|||||
Input | |||||
第一行输入的是:A、B两点坐标在x和y方向上的偏移量,数据以空格分隔。 第二行输入的是:线段L两端点的坐标x1,y1,x2,y2,数据以空格分隔。 第三行输入的是:线段L1两端点在x和y方向上的偏移量,数据以空格分隔。 |
|||||
Output | |||||
第一、二行输出的是点A与点B的坐标(按格式)。 第三、四行输出的是在平移后的点A与点B的坐标(按格式)。 第五行输出的是线段L两端点的坐标及长度(按格式)。 第六行输出的是线段L1在平移后两端点的坐标及长度(按格式)。 |
|||||
Sample Input | |||||
5 5 0 0 10 10 1 1 5 5 |
|||||
Sample Output | |||||
PointA:[0,0] PointB:[10,10] PointA:[5,5] PointB:[15,15] (0,0)--(10,10):14.14 (1,1)--(6,6):7.07 |
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
class Point{
int X,Y;
public:
Point(){
X=;
Y=;
}
Point(int x,int y):X(x),Y(y){}
int getX(){
return X;
}
int getY(){
return Y;
}
void setP(int x,int y){
this->X+=x;
this->Y+=y;
}
};
class Line{
int X1,Y1,X2,Y2;
public:
Line(){
X2=;
Y2=;
}
Line(int x1,int y1,int x2,int y2):X1(x1),Y1(y1),X2(x2),Y2(y2){}
void setL(int x1,int y1,int x2,int y2){
this->X1=x1;
this->Y1=y1;
this->X2+=x2;
this->Y2+=y2;
}
int getP(){
cout<<"("<<X1<<","<<Y1<<")"<<"--"<<"("<<X2<<","<<Y2<<")"<<endl;
}
float dis(){
return sqrt((X2-X1)*(X2-X1)+(Y2-Y1)*(Y2-Y1));
}
};
int main()
{
int n,x1,x2,y1,y2;
Point A,B(,);
cout<<"PointA:["<<A.getX()<<","<<A.getY()<<"]\n";
cout<<"PointB:["<<B.getX()<<","<<B.getY()<<"]\n";
cin>>x1>>y1;
A.setP(x1,y1); B.setP(x1,y1);
cout<<"PointA:["<<A.getX()<<","<<A.getY()<<"]\n";
cout<<"PointB:["<<B.getX()<<","<<B.getY()<<"]\n"; cin>>x1>>y1>>x2>>y2;
Line L(x1,y1,x2,y2);
L.getP();printf("%.2lf\n",L.dis()); Line L1(,,,);
cin>>x1>>y1>>x2>>y2;
L1.setL(x1,y1,x2,y2);
L1.getP();printf("%.2lf\n",L1.dis()); return ;
}
网络工程18级《C++程序设计II》实践作业1的更多相关文章
- 复旦大学2018--2019学年第二学期(18级)高等代数II期末考试第六大题解答
六.(本题10分) 设 $A$ 为 $n$ 阶实对称阵, 证明: $A$ 有 $n$ 个不同的特征值当且仅当对 $A$ 的任一特征值 $\lambda_0$ 及对应的特征向量 $\alpha$, 矩 ...
- 复旦高等代数II(18级)每周一题
本学期将继续进行高等代数每周一题的活动.计划从第一教学周开始,到第十五教学周结束,每周的周末公布一道思考题(预计15道),供大家思考和解答.每周一题将通过“高等代数官方博客”(以博文的形式)和“高等代 ...
- 2019年春季学期《C语言程序设计II》助教注意事项
本学期<C语言程序设计II>课程安排 理论课时24(1-12周),实验课时8(13周),课程设计课时16(14-15周) 理论课教学内容 附:教学进度表 本学期实验课和课程设计参考教材 & ...
- 【云+社区极客说】新一代大数据技术:构建PB级云端数仓实践
本文来自腾讯云技术沙龙,本次沙龙主题为构建PB级云端数仓实践 在现代社会中,随着4G和光纤网络的普及.智能终端更清晰的摄像头和更灵敏的传感器.物联网设备入网等等而产生的数据,导致了PB级储存的需求加大 ...
- 20145236《网络对抗》Exp2 后门原理与实践
20145236<网络对抗>Exp2 后门原理与实践 目录: 一.基础问题回答 二.常用后门工具实践 2.1 Windows获得Linux Shell 2.2 Linux获得Windows ...
- 20155232《网络对抗》Exp2 后门原理与实践
20155232<网络对抗>Exp2 后门原理与实践 问题回答 1.例举你能想到的一个后门进入到你系统中的可能方式? 通过网页上弹出来的软件自动安装 2.例举你知道的后门如何启动起来(wi ...
- 20155317王新玮《网络对抗》Exp2 后门原理与实践
20155317王新玮<网络对抗>Exp2 后门原理与实践 一.实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划 ...
- 20145317彭垚《网络对抗》Exp2 后门原理与实践
20145317彭垚<网络对抗>Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 在网上下载软件的时候,后门很有可能被捆绑在下载的软件当中: 例举你 ...
- 软件架构自学笔记-- 转载“虎牙在全球 DNS 秒级生效上的实践”
虎牙在全球 DNS 秒级生效上的实践 这次分享的是全球 DNS 秒级生效在虎牙的实践,以及由此产生的一些思考,整体上,分为以下 5 各部分: 背景介绍: 方案设计和对比: 高可用: 具体实践和落地: ...
随机推荐
- 12-18Windows窗体应用小程序之记事本(1)
一.记事本制作(1) C#结合窗体制作小程序,相比较之前的控制台应用程序可能要改善了好多,最起码界面看起来可以高仿一下了,但是最重要的还是要看其里面的功能是否实现.所以,要以实现其实用功能为主.今天利 ...
- Git中远程仓库的使用
1.查看当前的远程库 要查看当前配置有哪些远程仓库,可以用 git remote 命令,它会列出每个远程库的简短名字.在克隆完某个项目后,至少可以看到一个名为 origin 的远程库,Git 默认使用 ...
- DAY13-前端之BOM和DOM
前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DO ...
- hadoop报错java.io.IOException: Incorrect configuration: namenode address dfs.namenode.servicerpc-address or dfs.namenode.rpc-address is not configured
不多说,直接上干货! 问题详情 问题排查 spark@master:~/app/hadoop$ sbin/start-all.sh This script is Deprecated. Instead ...
- CentOS 6.3 下编译Nginx(笔记整理)
1. 安装关联程序 [root@localhost opt]# yum search gcc [root@localhost opt]# yum install gcc-c++ [root@local ...
- sqlplus--spool命令参数详解
sqlplus--SPOOL参数详解 Spool是Oracle快速导出数据的工具,是sqlplus的指令,不是sql语法里的东西 一.Spool常用的设置set arraysize 5000; // ...
- Template Method模式和Strategy模式有何异同
Template Method模式和Strategy模式有何异同 博客分类: 设计模式 Java Template Method模式很容易理解,就是由基类提供一个模板,将各子类中不变的行为提取到基类 ...
- Apollo问题
1.安装问题: 一不小心安装了NVIDIA,导致bash docker/scripts/dev_start.sh无法启动:[ERROR] Failed to start docker containe ...
- go语言的第一个helloworld
1.新建一个hello.go文件 添加如下代码: package main // 代码包声明语句. import "fmt" //系统包用来输出的 func main() { / ...
- IntelliJ+AntBuild+Tomcat实现Maven站点的热部署
这段时间要研究WebGL技术,做一下三维建模项目,涉及到较多的前端编码.eclipse编译器那令人着急的编码提示功能,以及丑恶的界面对项目的开展造成了一定的阻碍.为解决这个问题,转向IntelliJ ...