Приложение принимает на ввод информацию о Именах и Фамилиях программистов, а также используемом языке и позволяет найти среди записей информацию о программистах 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;
}
1) Блокнот: Простой текстовый редактор Windows. Просто для текста. Удобен как очень быстрое место для записи заметок
WordPad: Редактирование и создание документов, таких как DOCX, ODT-и так далее.
2) Блокнот: С Блокнота можно открывать файлы с расширениями LOG, INF, INI, а так же сохранять их в разных кодировках (Юникод, UTF-8, ANSI)
WordPad: Так же может открыть TXT, ODT, DOCX и готов их сохранить.
3) Блокнот: Настраивается, по умолчанию переноса нет.
WordPad: Так же настраивается, можно установить переключатель Перенос по словам (Word Wrap).
4) Доступна и в блокноте и в WordPad.
5) Доступна у блокнота и WordPad, горячая клавиша - CTRL + Z
6) У двух редакторов одни и те же горячие клавиши - CTRL + X, CTRL + C, CTRL + V, DEL
7) Блокнот не поддерживает, если только системно его не изменить. WordPad может форматировать текст, изменять шрифт.
8) Блокнот не поддерживает, WordPad поддерживает данный функционал.
9) Насчёт блокнота точно не скажу, но WordPad есть данный функционал.
10) Блокнот поддерживает, так же как и WordPad.
11) И то и другое - предоставляет данный функционал.
12) Точно не знаю, но в блокноте вроде бы такого нет, так же как и у WordPad. Но я не уверен.
13) И то и другое - можно распечатать.
14) Блокнот не поддерживает объекты, а WordPad - есть такой функционал.
15) Не совсем понял вопрос.
Объяснение:
Надеюсь, я правильно понял задачу.