您的位置:首页 > 编程语言 > C语言/C++

C++作业

2015-04-22 17:40 141 查看
设计一个用来表示直角坐标系的Location类,在主程序中创建类Location的两个对象A和B,要求A的坐标点在第3象限,B的坐标点在第2象限,分别采用成员函数和友元函数计算给定两个坐标之间的距离,要求按如下格式输出结果:

A(x1,y1),B(x2,y2)

Distance1=d1

Distance2=d2

其中,x1、y1、x2、y2为指定的坐标值,d1和d2为两个坐标点之间的距离。#include <iostream>
#include <cmath>
using namespace std
class Location {
private:
int x,y;
public:
Location(int i, int j):x(i),y(j) {}
int Getx( ) {return x;}
int Gety( ) {return y;}
double distance(Location b);
friend double distance(Location &a, Location &b);
};
double distance(Location &a, Location &b)
{ int dx=a.x-b.x;
int dy=a.y-b.y;
return sqrt(dx*dx+dy*dy); }
double Location::distance(Location b)
{ int dx=x-b.x;
int dy=y-b.y;
return sqrt(dx*dx+dy*dy); }
void main( )
{
Location A(-10,-20),B(-40,60);
cout<<"A("<<A.Getx( )<<","<<A.Gety( )<<"),B("<<B.Getx( )<<","<<B.Gety( )<<")"<<endl;
double d=A.distance(B);
cout<<"Distance1= "<<d<<endl;
cout<<"Distance2= "<<distance(A,B)<<endl<span style="font-family: 宋体;">} </span>
2、声明一个Student类,在该类中包括一个数据成员socre(分数)、两个静态数据成员total-score(总分)和count(学生人数);还包括一个成员函数account用于设置分数、累计学生的成绩之和累计学生人数,一个静态成员函数sum用于返回学生的成绩之和,另一个静态成员函数average用于求全班成绩的平均值。在main函数中,输入某班同学的成绩,并调用上述函数求全班同学的成绩之和与平均分。

#include <iostream>
using namespace std;
class Student
{
private:
double score;
static double total;
static int count;
public:
Student(double s)
{
score=s;
total+=s;
count++;
}
static double sum()
{
return total;
}
static double average()
{
return total/count;
}
};
double Student::total=0.0;
int Student::count=0;
void main()
{
int i,n;
double sco;
cout<<"Input the number of student";
cin>>n;
for(i=0;i<n;i++)
{
cout<<"Input the score:";
cin>>sco;
Student obj(sco);
}
cout<<"The total score is:"<<Student::sum()<<endl;
cout<<"The average score is:"<<Student::average()<<endl;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: