В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
ksish456
ksish456
25.12.2022 04:18 •  Информатика

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

Показать ответ
Ответ:
Termenator73
Termenator73
15.10.2020 16:09

Приложение принимает на ввод информацию о Именах и Фамилиях программистов, а также используемом языке и позволяет найти среди записей информацию о программистах 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(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота