Здесь размещены задания по С++, которые вы можете выполнить. Каждое задание имеет свой уровень сложности. Готовых ответов не будет, поэтому welcome в комментарии!
Easy: Задание №1
Напишите программу, которая сравнивает два введенных с клавиатуры числа. Программа должна указать, какое число меньше, или, если числа равны — вывести соответствующее сообщение.
Пример результата выполнения программы:
Введите 2 целых числа: 48 54
48 меньше 54
Medium: Задание №2
Напишите программу, которая выводит на экран сообщение в «телеграфном» стиле: буквы сообщения должны появляться по одной с некоторой задержкой.
Hard: Задание №3
Напишите программу, которая содержит текущую информацию о десяти заявках на авиабилеты. Каждая заявка должна иметь:
пункт назначения;
номер рейса;
ФИО пассажира;
желаемую дату вылета.
Программа должна обеспечивать:
хранение всех заявок в виде списка;
добавление и удаление заявок;
вывод всех заявок.
Все, вообще все проигнорили тз 3го задания
"хранение всех заявок в виде списка"
Где #include<list> граждане?
задание №2
Работает в Visual Studio 19 C++17
Задание 1:
Задание 2:
Задание 3: пришлось серьезно попотеть над прогой, была изначально мысль наследовать все от абстракции как задел под другой вид транспорта , и юзать полиморфизм но пока не хватило знаний
Очень интересно было посмотреть и почерпнуть что-то для себя)
Мое задание №3 :
Task #2
Quest #1
Задание 3
Class Ticket
Класс инициализации и запуска
Имплементация .cpp
Задание №3. Программа запрашивает текущую дату, поэтому временем вылета не может быть вчерашнее число:
Задача 2.
Задача 1.
Задание №3
air_ticket.h:
air_ticket.cpp:
main.cpp:
Моё решение задания №3.
Разбила на несколько файлов и класс-контейнер сделала с оригиналами заявок. В планах переделать с умными указателями, но я в них пока не уверенно себя чувствую, поэтому здесь пусть будет этот вариант.
Файл "Passenger.h":
Файл Date.h:
Файл Ticket.h:
main:
Спасибо, что разместили моё решение. Я и не знала, что код превращается в "красивый" вручную… Поэтому произошла небольшая накладка:
строка "Файл Tickets_list.h:" это не часть Файла "Ticket.h:", это оповещение о том, что далее идёт код следующего файла.
Буду признательна, если Вы поправите соответственно. В остальном всё хорошо.
Меня одно интересует, какого хрена с такими знаниями ты сидишь на этих задачках?
Интереснейшее замечание))) Все знания взяты только из этого курса. А на практике я их усваиваю, так сказать.
Задание №2
Задание №1
И здесь без флага не обошлось)) Ваш фирменный стиль? А если серьёзно, то на мой взгляд, перемудрили Вы здесь Владимир. Всего-то вводится два числа, а столько кода…
Моё решение задания №2:
Моё решение задания №1:
Задача №3
Решила решать через структуру, т.к. задача не слишком объемная.
Не отшлифовывала "Уверены ли Вы" и ввод даты, все внимание уделила работе с векторами и стрингами
У Вас я впервые увидела функцию удаления элемента вектора, это полезная функция, но я её пока ещё не испытала.
В целом — очень компактно получилось, но было бы ещё компактнее без функции get_s(), просто поражает воображение как Вы из символов собираете строку, зачем? Ведь можно же было, к примеру, std::getline(std::cin, строковая переменная).
Главными недостатками кода я считаю строковую (!!!) дату, вместо которой пользователь может написать "здесь был Вася" к примеру, и обилие магических чисел, которые вы используете как коды символов char (13, 27), причём никак это не комментируя. Ну, и названия переменных могли бы быть понятней, но это уже мелочи.
Задание №3.
Изучив Ваш код после кода Юлии, я нашла множество пересечений в логике)) Но Ваш код мне нравится больше, так как он более цивилизованный, и Вы умело работаете со строками и выводом.
В целом мне не нравятся лишь две вещи — строковая дата (Юлия это "наследовала") и то, что
в одном классе как два равноценных члена, хотя понятно, что второй состоит из первых. Это как-то странновато и немного не логично, сделали бы полноценную обработку Application отдельно, а в этом классе оставили бы только работу со списком, это было бы более правильно.
Всё верно: обработку ввода даты и работу с Application лучше (и удобнее) было бы сделать в отдельных классах. Здесь же всё в кучу собранно для компактности.
Задание №2
Ваше "massage" повеселило))
И зачем Вы используете std::flush? Проверить Ваш способ задержки мне не удалось, т.к. не подключается <unistd.h>, "fatal error C1083: Не удается открыть файл включение: unistd.h: No such file or directory,"
Как же в C++ без юмора)
std::flush освобождает буфер, то есть, выводит символ из буфера на экран. Без этой функции они бы копились в буфере до конца цикла, а потом одной строкой вывелись. flush можно было бы заменить endl, но тогда каждый следующий символ выводился бы в новой строке. <unistd.h> — это для функции usleep(), flush входит в <iostream>.
Задание №1.