首页 > 其他分享 >实验报告

实验报告

时间:2023-05-05 13:24:15浏览次数:37  
标签:return int double cin a1 b1 实验报告

1、复数类Complex有两个数据成员:a和b, 分别代表复数的实部和虚部,并有若干构造函数和一个重载-(减号,用于计算两个复数的距离)的成员函数。 要求设计一个函数模板

template < class T >

double dist(T a, T b)

对int,float,Complex或者其他类型的数据,返回两个数据的间距。

以上类名和函数模板的形式,均须按照题目要求,不得修改

输入格式:

每一行为一个操作,每行的第一个数字为元素类型,1为整型元素,2为浮点型元素,3为Complex类型,若为整型元素,接着输入两个整型数据,若为浮点型元素,接着输入两个浮点型数据,若为Complex型元素,输入两个Complex型数据(a1 b1 a2 b2),输入0时标志输入结束。

输出格式:

对每个输入,每行输出一个间距值。

输入样例:

1 2 5

3 2 4 5 9

2 2.2 9.9

0

 

输出样例:

3

5.83095

7.7

#include <iostream>
#include<math.h>
using namespace std;
template <class T>
double dist(T a,T b)
{
return (a-b>0)?(a-b):(b-a);
}
class Complex
{
private:
double a,b;
public:
Complex(double x=0,double y=0)
{
a=x;
b=y;
}
double operator -(Complex &n)
{
return sqrt((a-n.a)*(a-n.a)+(b-n.b)*(b-n.b));
}
};
int main()
{
int type;
cin>>type;
while(type>0)
{
switch(type)
{
case(0): break;
case(1):
int a,b;
cin>>a>>b;
cout<<dist(a,b)<<endl;
break;
case(2):
double c,d;
cin>>c>>d;
cout<<dist(c,d)<<endl;
break;
case(3):
double a1,a2,b1,b2;
cin>>a1>>b1>>a2>>b2;
Complex c1(a1,b1);
Complex c2(a2,b2);
cout<<dist(c1,c2)<<endl;
break;
}
cin>>type;
}
return 0;
}

 

#include<iostream>
using namespace std;
class Time
{
public :
void setx(double a1,double b1,double c1)
{
hh=a1;
mm=b1;
ss=c1;
}
bool operator >(Time b)
{
double sum1,sum2;
sum1=hh*3600+mm*60+ss;
sum2=b.hh*3600+b.mm*60+b.ss;
if(sum1>sum2)
{
return true;
}
else
return false;
}
friend ostream& operator <<(ostream&out ,Time&a)
{
out<<a.hh<<" "<<a.mm<<" "<<a.ss;
return out;
}
private:
double hh,mm,ss;
};
class Date{
public :
void setx(double a1,double b1,double c1)
{
y=a1;
m=b1;
d=c1;
}
bool operator >(Date b)
{
double sum1,sum2;
sum1=y*365+m*30+d;
sum2=b.y*365+b.m*30+b.d;
if(sum1>sum2)
{
return true;
}
else
return false;
}
friend ostream& operator <<(ostream &out ,Date &a)
{
out<<a.y<<" "<<a.m<<" "<<a.d;
return out;
}
private:
double d,m,y;
};
template <class T>
double maxn(T x[],int len){
T max=x[0];
for(int i=1;i<len;i++){
if(x[i]>max){
max=x[i];
}
}
cout<<max<<endl;
return 0;
}

int main() {

int n;
cin>>n;
int intArray[100];
double douArray[100];
Time timeArray[100];
Date dateArray[100];
while(n!=-1){
if(n==1){
int a,b=0;
cin>>a;
while(a){
intArray[b]=a;
b++;
cin>>a;
}

maxn(intArray,b);
}
else if(n==2){
double a;int b=0;
cin>>a;
while(a){
douArray[b]=a;
b++;
cin>>a;
}
maxn(douArray,b);
}
else if(n==3){
double a1,b1,c1;int b=0;
cin>>a1;
while(a1){
cin>>b1>>c1;
timeArray[b].setx(a1,b1,c1);
cin>>a1;
b++;
}
maxn(timeArray,b);
}
else if(n==4){
double a1,b1,c1;int b=0;
cin>>a1;
while(a1){
cin>>b1>>c1;
dateArray[b].setx(a1,b1,c1);
cin>>a1;
b++;
}
maxn(dateArray,b);
}
cin>>n;
}

return 0;
}

翻译

搜索

复制

标签:return,int,double,cin,a1,b1,实验报告
From: https://www.cnblogs.com/wwj1/p/17373704.html

相关文章

  • 2023.5.5 面向对象程序设计实验报告
    实验项目名称:模板一、实验目的1、熟练掌握函数模板和类模板的定义格式。2、熟练运用函数模板和类模板解决实际问题。二、实验内容1、复数类Complex有两个数据成员:a和b,分别代表复数的实部和虚部,并有若干构造函数和一个重载-(减号,用于计算两个复数的距离)的成员函数。要求设计......
  • pta实验报告2
    模板与类(对象数组)#include<bits/stdc++.h>usingnamespacestd;template<classT>Tmaxn(Tx[],intlen){ inti=1; Tmax=x[0]; for(i;i<len;i++) { if(max<x[i]) max=x[i]; } returnmax;}classDate{ private: intyear=0,month=0,day=0; public: Date()......
  • pta实验报告
    实验一:复数类及函数模板(switch语句)#include<bits/stdc++.h>usingnamespacestd;classComplex{private: inta,b; public: Complex(int_a,int_b):a(_a),b(_b){}; doubleoperator-(Complexn) { returnsqrt((a-n.a)*(a-n.a)+(b-n.b)*(b-n.b)); } ~Complex(){};......
  • C语言实验报告范例
    实验报告四一,实验类型:设计型二,实验室:三,指导老师:四,日期:五,实验名称:if分支语句的嵌套六,实验目的:1,学习if嵌套结构,能够用C语言编程解决日常生活的实例2,明确if语句在实现分支结构控制语句方面的特点和优势3,熟练掌握关系运算符、关系表达式、逻辑运算符和逻辑表达式、......
  • 实验报告
    数据库建模与查询设计1.概念模型设计及逻辑模型设计描述根据给定的应用需求和ER图参考,给出最终的ER图,并根据ER图进行逻辑模型转化,给出关系模式集合。ER图:手工逻辑模型转换:2.数据建模工具的模型设计过程描述使用工具powerdesiger根据实验附件步骤选择实体框以及关......
  • 数据库应用实验一实验报告
    目录实验报告课程:数据库应用班级:2012姓名:郭幸坤学号:20201213实验名称:实验一实验日期:2023.4.15概念模型设计及逻辑模型设计描述ER图关系模式集合数据建模工具的模型设计过程描述物理模型逻辑模型概念模型数据库创建过程描述建立数据库表列表数据库查询设计与实现描述数据库内容......
  • UML时序图实验报告
    1,这是一张向我们直接展示了银行取款活动图,首先我们需要填写表单,其次需要输入密码,根据判断条件,检查密码的正误,密码错误直接结束,密码正确,根据用户的需求,如果取款则出款并结束,如果是计算利息,则执行打印清单操作,并结束。   2,这张图片展示了用户想要续借图书的时序图,这里的目......
  • Linux实验报告-上 海 开 放 大 学-指导: linux-1688
    上海开放大学实验名称:Linux操作系统安装配置简答题(直接打字回答在题目下方,仅完成4道题目的同学,最高30分。另外70分是加给自己搭建实验环境完成实验报告的同学):1、Linux和Windows系统有哪些不同之处?指导加VX:linux-16882、Linux系统的有哪些主要的发行版本?指导加VX:linux......
  • UML类图实验报告
    一:首先在我们更好的理解UML类图之前,我先用几个简单的小例子把UML类图所存在的关系给表达清楚-_-!1)第一个叫泛化,名字听起来很高级,也就是我们常说的继承,就像古代的皇帝快要驾崩了,需要指定皇子来继承王位,但“继承”可要比皇子继承皇位(单继承)要牛多了,他给人的印象就像是“一人得到。......
  • 高性能计算实验报告
    高性能计算实验报告第一部分实验介绍1.1实验基础需要使用slurm系统进行太原国家高算的资源调度,使用mpi进行并行计算。1.2实验目的及其意义本实验将利用mpi实现一个大数据量的排序算法(PSRS)。第二部分算法分析2.1算法介绍:正则采样排序PSRS的MPI算法如果注意到一个......