Пример класса Шофер на с++, производный от класса Персона решение задачи

Создать класс шофер,производная класса Персона. Для класса шофер должны быть использованы :
Данные: расстояние и плата за 1 км
Методы: чтение ,вывод и плата, вычисляет стоимость одной поездку по формуле: расстояние*плату за 1 км.
С клавиатуры считываются данные об n водителях. Составить программу, которая выведет на экран список всех водителей, данные самого молодого водителя и водителя с max платой.

#include <iostream>
#include <string>
#include <clocale>

using namespace std;

class Person
{
	public: 
	string name;
	int age;
};
class Driver:Person
{
public:
	double dist;
	double money;

	friend void inputDriver(Driver *dr, int N)
	{
		for(int i=0; i<N; i++)
		{
			cout<<"Введите имя водителя:";
			cin>>dr[i].name;
			cout<<"Введите возраст водителя:";
			cin>>dr[i].age;
			cout<<"Введите расстояние:";
			cin>>dr[i].dist;
			cout<<"Введите плату за 1 км:";
			cin>>dr[i].money;
		}
	}
	double Cost()
	{
		return (this->dist)*(this->money);
	}
	friend Driver youngDriver(Driver *dr, int N)
	{
		int minAge=100;
		int numSpis=0;
		for(int i=0;i<N;i++)
		{
			if((dr[i].age)<minAge)
			{
				numSpis=i;
				minAge=dr[i].age;
			}
		}
		return dr[numSpis];
	}
	friend Driver maxCostdriver(Driver *dr,int N)
	{
		double maxCost=0.0;
		int numSpis=0;
		for(int i=0;i<N;i++)
		{
			if((dr[i].Cost())>maxCost)
			{
				maxCost=dr[i].Cost();
				numSpis=i;
			}
		}
		return dr[numSpis];
	}
	friend ostream& operator<<(ostream &os, Driver dr)
	{
		os<<dr.name<<"|"<<dr.age<<"|"<<dr.dist<<"|"<<dr.money;
		return os;
	}
};
int main()
{
	setlocale(LC_CTYPE,"rus");
	int N;
	cout<<"Введите количество водителей:";
	cin>>N;
	Driver *drivers=new Driver[N];
	inputDriver(drivers,N);
	
	cout<<"Список всех водителей:"<<endl;
	for(int i=0; i<N; i++)
	{
		cout<<drivers[i]<<endl;
	}

	cout<<"Водитель с максимальной платой:"<<endl;
	cout<<maxCostdriver(drivers,N)<<endl;
	
	cout<<"Самый молодой водитель:"<<endl;
	cout<<youngDriver(drivers,N)<<endl;

	delete [] drivers;
	return 0;
}
Пример класса Шофер на с++ производный от класса Персона решение задачи

и конечный результат решенной задачи:

Пример класса Шофер на с++ производный от класса Персона решение задачи итог терминал линекс
Пожалуйста оцените качество материала

Помогая проекту BEST-EXAM, вы делаете образование более доступным для каждого человека, внесите и вы свой вклад -
поделитесь этой статьей в социальных сетях!

Читайте также:

Добавить комментарий

Ваш e-mail не будет опубликован.

стрелка вверх best-exam