Предмет: Информатика, автор: bazovskiiiiii

Создайте класс, который будет содержать соответствующие поля. Главная программа должна
содержать меню для ввода данных с клавиатуры, вывода и поиска данных по разным
полям. Предугадать возможность работы с произвольным числом записей. Для реализации
всех функциональных возможностей программы необходимо использовать функции
Класс: car
Поля: Стоимость, год выпуска,
расход топлива на 100
километров пути
Пошук: ывести автомобили, которые не
старше 5 лет и имеющих
расход топлива, что не
превышает указанную из
клавиатуры величину

Сделать на языке С++, не исполбзуя библотеку ветор, менб на СТВИТЧ КЕЙС

Ответы

Автор ответа: PaladenCreed
0

  • Для создания класса "car" с полями "Стоимость", "год выпуска" и "расход топлива на 100 километров пути" в языке C++ необходимо использовать ключевое слово "class". Пример объявления класса:



cpp

class Car {

public:

   int cost;

   int year;

   double fuel_consumption;

   Car(int c, int y, double f) {

       cost = c;

       year = y;

       fuel_consumption = f;

   }

};

  • Для реализации меню ввода данных, вывода и поиска данных по разным полям можно использовать функции. Пример функции для вывода информации об автомобиле:

cpp

void print_car_info(Car car) {

   cout << "Cost: " << car.cost << endl;

   cout << "Year: " << car.year << endl;

   cout << "Fuel consumption: " << car.fuel_consumption << endl;

}

  • Для поиска автомобилей, которые не старше 5 лет и имеют расход топлива, что не превышает указанную из клавиатуры величину, можно использовать цикл и условный оператор. Пример функции для поиска автомобилей:

cpp

void search_cars(vector<Car> cars, double max_fuel_consumption) {

   for (int i = 0; i < cars.size(); i++) {

       if (cars[i].year >= 2023 - 5 && cars[i].fuel_consumption <= max_fuel_consumption) {

           print_car_info(cars[i]);

       }

   }

}

  • Для работы с произвольным числом записей можно использовать динамический массив или контейнер, например, вектор. Пример создания вектора и добавления элементов:

cpp

vector<Car> cars;

cars.push_back(Car(10000, 2022, 8.5));

cars.push_back(Car(15000, 2020, 7.2));

  • Для работы с пользователем можно использовать меню, например, с помощью функции "print_menu" и цикла "while". Пример:

cpp

void print_menu() {

   cout << "1. Add car" << endl;

   cout << "2. Print all cars" << endl;

   cout << "3. Search cars by fuel consumption" << endl;

   cout << "4. Exit" << endl;

}

int main() {

   vector<Car> cars;

   int choice;

   while (true) {

       print_menu();

       cout << "Enter your choice: ";

       cin >> choice;

       switch (choice) {

           case 1: {

               int cost, year;

               double fuel_consumption;

               cout << "Enter cost: ";

               cin >> cost;

               cout << "Enter year: ";

               cin >> year;

               cout << "Enter fuel consumption: ";

               cin >> fuel_consumption;

               cars.push_back(Car(cost, year, fuel_consumption));

               break;

           }

           case 2: {

               for (int i = 0; i < cars.size(); i++) {

                   print_car_info(cars[i]);

               }

               break;

           }

           case 3: {

               double max_fuel_consumption;

               cout << "Enter max fuel consumption: ";

               cin >> max_fuel_consumption;

               search_cars(cars, max_fuel_consumption);

               break;

           }

           case 4: {

               return 0;

           }

           default: {

               cout << "Invalid choice" << endl;

               break;

           }

       }

   }

}

Похожие вопросы
Предмет: История, автор: aizerebaizhigit