Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Код по ООП

Вячеслав Тугутов Ученик (105), на голосовании 1 месяц назад
Создайте класс с именем ship, который будет содержать данные об учетном номере корабля и координатах его расположения. Разработайте метод, который будет сохранять данные о корабле, вводимые пользователем, и метод, выводящий данные о корабле на экран. Напишите функцию main(), создающую 5 объектов класса ship, а затем запрашивающую ввод пользователем информации о каждом из кораблей и выводящую на экран всю полученную информацию.
Для задания номера создайте класс, одно из полей которого хранит «порядковый номер» объекта. Для этого необходимо иметь еще одно поле, в которое будет записываться количество созданных объектов класса.
Каждый раз при создании нового объекта конструктор может получить значение этого поля и в соответствии с ним назначить объекту индивидуальный порядковый номер. В класс необходимо включить метод, который будет выводить на экран порядковый номер объекта.
Для хранения координат корабля используйте два поля типа angle, включающий три поля: int для числа градусов, типа float для числа минут и типа char для указания направления (N, S, E и W). Объект этого класса может содержать значение, как широты, так и долготы. Создайте метод, позволяющий ввести координату точки, направление, в котором она измеряется и метод, выводящий на экран значение этой координаты, например, 179°59,9¢ E. Кроме того, напишите конструктор, принимающий эти три аргумента. Для вывода символа градусов воспользуйтесь символьной константой ‘\xF8’.
Дополнен 2 месяца назад
Код С++
Голосование за лучший ответ
Зло Просветленный (39206) 2 месяца назад
 class InputComponent
{
public:
virtual int getInt() const = 0;
virtual std::string getString() const = 0;
};

class OutputComponent
{
public:
virtual void outString( const std::string& ) const = 0;
};

class ship
{
public:
void fillShipInfo( const InputComponent* pInput );
void printShipInfo( const OutputComponent* pOunput ) const;
};
Вот тебе интерфейс, имплементь
Павел Михаловский Просветленный (36138) 2 месяца назад
 #include 

using namespace std;

class Ship {
private:
static int counter;
int ID;
int degrees ;
float minutes;
char direction;
public:
Ship() {
cout << "Input degrees: ";
cin >> degrees;
cout << "Input minutes: ";
cin >> minutes;
cout << "Input Direction (N - north,W - west,E - east,S - south): ";
cin >> direction;
ID = counter++;
}
Ship(int _degrees ,float _minutes ,char _direction ) {
ID = counter++;
degrees = _degrees;
minutes = _minutes;
direction = _direction;
}
void setCoordinates(int _degrees ,float _minutes ,char _direction ) {
degrees = _degrees;
minutes = _minutes;
direction = _direction;
}
void getInfo() {
cout << "ID: " << ID << endl;
cout << "degrees: " << degrees << endl;
cout << "minutes: " << minutes << endl;
cout << "direction: " << direction << endl;
cout << "Total ships: " << counter << endl;
}
void printCoordinates() {
cout << degrees << '\xF8' << minutes << "¢" << direction << endl;
}
};

int Ship::counter = 0;

int main()
{
Ship s1;
s1.getInfo();
s1.printCoordinates();
Ship s2(10,20.5,'N');
s2.getInfo();
s2.printCoordinates();
Ship s3(11,20.5,'E');
s3.getInfo();
s3.printCoordinates();
Ship s4(15,20.5,'S');
s4.getInfo();
s4.printCoordinates();
Ship s5(55,20.5,'W');
s5.getInfo();
s5.printCoordinates();
s1.getInfo();
return 0;
}
Похожие вопросы