4.17
#include <iostream>
using namespace std;
class Student{
public:void get_student();
void display();
private:int num;int score;
};
void Student::get_student(){
cin>>num>>score;
}
void Student::display()
{cout<<"num="<<num<<"\t"<<"score="<<score<<endl;}
int main(){int i;Student *p;p=new Student[];Student *t = p;
for(i=0;i<5;i++){
cout<<"请输入第"<<i+1<<"名学号和成绩:";p->get_student();
p++;
}cout<<"输出第1.3.5个学生的数据:\n";
p=t;
for(i=0;i<5;i=i+2)
{
p->display();
p++;
p++;
}delete p; delete t;return 0;}
4.18
#include<iostream>
using namespace std;
class Student{
private:
int id;
float score;
public:
Student()
{
id=0;score=0;}
Student(int id,float score)
{
this->id=id;
this->score=score;
}
float getScore()
{return score;}
int getID()
{return id;}
};
void max(Student*s,int size)
{
if(s==NULL|size<1)return;
int I=0;
for(int i=1;i<size;i++)
{
if(s[i].getScore()>s[I].getScore())
I=i;
}
cout<<”Student with ID ”<<s[I].getID<<” has the largest grade.”<<endl;
int main()
{
const int num=5;
Student student[num]={
Student(1,78),Student(2,92),Student(3,81),Student(4,89),Student(5,90),Student(6,98)};
max(students,1);
return 0;
}
4.19
#include<iostream.h>
int gInt=0;
class book
{ private:
int qu; int price; int iIndex;
public:
book()
{ iIndex=gInt++; qu=iIndex+1; price=qu*10; }
void print()
{ cout<<"第"<<iIndex+1<<"个值是"<<price<<endl; }
};
int main()
{
book s[5]; for(int i=0; i<5; i++)
{ s[i].print(); }
return 0; }
4.21
#include<iostream>
#include<string>
using namespace std;
class student
{
public:
student(string m,int n,double d);
~student();
static void avg();
void display();
private:
int no;
string name;
double deg;
static double sum;
static double num;
};
student::student(string m,int n,double d)
{
name =m;
no=n;deg=d;
sum+=deg;
num++;
}
student::~student()
{
}
double student::sum=0;
double student::num=0;
void student::avg()
{
cout<<"总分为:"<<sum<<"平均成绩:"<<(sum/num)<<endl;
}
void student::display()
{
cout<<"姓名:"<<name<<"学号:"<<no<<"成绩:"<<deg<<endl;
}
int main()
{
student s[3]={
student("Li",1,89),
student("chen",2,78),
student("zheng",3,94)};
for(int i=0;i<3;i++)
s[i].display();
student::avg();
return 0;
}
4.22
#include<iostream>
#include<cmath>
using namespace std;
class point
{
public:
point(int x1,int y1);
~point();
friend void dist(point &,point &);
void display();
private:
int x,y; };
point::point(int x1,int y1)
{ x=x1; y=y1; }
point::~point() { }
void point::display()
{ cout<<"x="<<x<<",y="<<y<<endl; }
void dist(point &a,point &b)
{ int dx=a.x-b.x; int dy=a.y-b.y;
cout<<"distance:"<<sqrt(dx*dx+dy*dy)<<endl; }
\\cout<<"distance:"<<sqrt<int>(dx*dx+dy*dy)<<endl;
int main()
{ point p[2]= { point(1,1), point(2,2) };
p[0].display();
p[1].display();
dist(p[0],p[1]);
return 0;
}