Вопрос задан 05.07.2023 в 04:02. Предмет Информатика. Спрашивает Касымбекова Толганай.

А как решить эту задачу на с++задача: напишите программу выводящих на экран список всех

программистов и дополнительный список программистов на С++ решить нужно через структуры , программу написать на С++
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Иванова Наташа.

Приложение принимает на ввод информацию о Именах и Фамилиях программистов, а также используемом языке и позволяет найти среди записей информацию о программистах C++.

Иллюстрации кода и тестовых ввода-вывода прикреплены во вложениях.

=======================

Ваши оценки и отзывы позволяют лучше оценить решение.

Если ответ удовлетворил, отметь его как "Лучший".

Успехов в учёбе!

=======================

Код:

#include <iostream>

#include <string>

#include <utility>

#include <vector>

#include <exception>

struct Coder {

   std::string name;

   std::string lastname;

   std::string language;

   Coder(std::string name, std::string lastname, std::string language) :

       name(std::move(name)),

       lastname(std::move(lastname)),

       language(std::move(language))

   { }

   explicit operator std::string() const

   {

       return name + " " + lastname + " " + language;

   }

};

struct DataBase {

private:

   std::vector<Coder> _base;

public:

   bool add_coder(Coder coder) {

       _base.push_back(std::move(coder));

       return true;

   }

   std::vector<Coder> search_by_language(const std::string& language_name) {

       std::vector<Coder> search_results;

       for(auto & coder : _base) {

           if (coder.language == language_name) {

               search_results.push_back(std::move(coder));

           }

       }

       return search_results;

   }

};

int main() {

   DataBase base;

   std::cout << "Please enter information about programmers like this \"Bjarne Stroustrup C++\" bellow" << std::endl;

   std::cout << "You can type .find command for finding all added programmers who have developed with C++" << std::endl;

   std::string input, name, lastname, language;

   while(true) {

       std::cout << "> ";

       std::cin >> input;

       if(input == ".find") break;

       name = input;

       std::cin >> lastname >> language;

       base.add_coder(Coder(input, lastname, language));

   }

   std::vector<Coder> search_results = base.search_by_language("C++");

   for(auto & search_result : search_results){

       std::cout << (std::string)search_result << std::endl;

   }

   return 0;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я могу помочь вам с этим заданием. Ниже приведен пример программы на C++, который создает структуры для программистов, хранит списки всех программистов и программистов на C++, а затем выводит эти списки на экран:

cpp
#include <iostream> #include <vector> #include <string> // Структура для представления программиста struct Programmer { std::string name; std::string language; }; int main() { // Создаем список всех программистов std::vector<Programmer> allProgrammers; // Добавляем программистов в список всех программистов allProgrammers.push_back({"Алексей", "Python"}); allProgrammers.push_back({"Иван", "C++"}); allProgrammers.push_back({"Мария", "Java"}); allProgrammers.push_back({"Елена", "C++"}); // ... добавьте других программистов по аналогии // Создаем список программистов на C++ std::vector<Programmer> cppProgrammers; // Заполняем список программистов на C++ for (const Programmer& programmer : allProgrammers) { if (programmer.language == "C++") { cppProgrammers.push_back(programmer); } } // Выводим список всех программистов std::cout << "Список всех программистов:" << std::endl; for (const Programmer& programmer : allProgrammers) { std::cout << "Имя: " << programmer.name << ", Язык: " << programmer.language << std::endl; } // Выводим список программистов на C++ std::cout << "Список программистов на C++:" << std::endl; for (const Programmer& programmer : cppProgrammers) { std::cout << "Имя: " << programmer.name << ", Язык: " << programmer.language << std::endl; } return 0; }

Просто скопируйте этот код в файл с расширением .cpp, скомпилируйте его и запустите на выполнение. Программа создаст структуры для программистов, заполнит списки и выведет их на экран. Не забудьте добавить своих программистов и языки программирования в соответствии с заданием.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос