Часть №7: Практические задания по С++

  Юрий  | 

  Обновл. 29 Авг 2020  | 

 7354

 ǀ   26 

Здесь размещены задания по С++, которые вы можете выполнить. Каждое задание имеет свой уровень сложности. Готовых ответов не будет, поэтому welcome в комментарии.

Easy: Задание №1

Напишите программу, которая выводит на экран работающие «электронные часы», которые работают в течении, например, 3-х минут или до тех пор, пока пользователь не нажмет любую клавишу.

Medium: Задание №2


Напишите программу, которая проверяет, является ли введенная пользователем строка целым числом.

Пример выполнения программы:

Введите строку: 36.7
36.7 не является целым числом

Hard: Задание №3

Напишите программу учета оценок студентов. Для этого создайте текстовый файл с именем input_data.txt, содержащий список из 10 студентов и их оценки по трем предметам: математика, физика и информатика.

Содержимое файла:

   в первой строке находится общее количество студентов;

   в каждой последующей строке находится ФИО студента и три целых числа (оценки);

   данные в строке разделены пробелами, а оценки варьируются в диапазоне от 1 до 5.

Затем создайте класс, с помощью которого вы будете считывать данные из файла. На экран выведите ФИО студентов с оценками в порядке убывания их среднего бала.


Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (5 оценок, среднее: 4,20 из 5)
Загрузка...

Комментариев: 26

  1. Аватар RockNRullz:

    Задание №3:

    ВНИМАНИЕ: чтобы адекватно считывались русские символы, txt файл должен быть в кодировке ANSI

    Список
    *****************************************************************************
    10
    Абатуров Константин Иванович 2 1 4
    Аверченко Аркадий Тимофеевич 1 3 5
    Асов Александр Игоревич 3 3 3
    Бень Евгений Моисеевич 2 1 5
    Вагин Всеволод Иванович 2 3 4
    Белокрылов Василий Алексеевич 1 2 3
    Гершензон Михаил Осипович 4 5 2
    Домашнев Сергей Герасимович 1 2 3
    Волков Константин Сергеевич 3 2 1
    Инбер Вера Михайловна 2 1 1

    **********************************************************************

    main.cpp:

  2. Аватар Владимир:

    // Задание №2

  3. Аватар Анастасия:

    На третьем задании я тоже очень надолго застряла, так как хотела сделать класс-контейнер полегче, то есть чтобы он содержал указатели, а не сами структуры студентов. Я хотела использовать умные указатели, но не могла нормально запустить программу, компилятор на что-то длинно и непонятно ругался, отладка тоже не помогала. В итоге я плюнула на умные указатели и сделала с обычными. А потом до меня дошло, что не так было с умными.

    НО программа работает только с данными в файле на латинице, если там кириллица, возникает run-time error на этапе проверки строк файла на корректность формата (видит непонятные символы вместо букв). Как с этим бороться, я не знаю.
    Итак, с гордостью представляю моё решение задания №3 (итого три файла, три куска кода):

    Файл Student_data.h:

    Файл The_list_of_students.h:

    Файл main.cpp:

    1. Аватар Владимир:

      Анастасия, для работы программы с кириллицей, нужно стейтмент (файл main.cpp, стр.71):

      заменить на:

  4. Аватар Анастасия:

    Моё решение задания №2:

    1. Аватар Анастасия:

      Комментарий в 13 строчке — левый =(

  5. Аватар Анастасия:

    Седьмая часть практикума застала меня врасплох, первое "Easy" задание я не могла решить больше недели, так как мы такого не проходили, а советы из интернета сначала и вовсе не работали, а потом работали не так, как надо. И так, вот моё вымученное решение задания №1, пока без учёта прерывания по нажатию любой клавиши.

    P.S. многочисленные комментарии, поясняющие работу всех новых для меня вещей, я убрала, чтобы никого не пугать длинющим кодом.

  6. Аватар Алена:

    Задача 2.

  7. Аватар Алена:

    Задача 1.

    1. Аватар Анастасия:

      Алёна, Вы хорошо поработали. Очень короткий код и работает, как надо. Я, правда, не проверила, что если, например 59 минут, как он три минуты прибавит, нормально? И формат часов немного непривычный, если меньше 10, то 0 не добавляется. Но за такую короткую рабочую программку эти мелочи простительны.

  8. Аватар Владимир:

    Задание №1

    1. Аватар Анастасия:

      Владимир, очень интересно получилось. И коротко. У Алёны (выше) решение на Ваше похоже, но Вы ещё после 60 сбрасываете. Поэтому лучше у Вас спрошу: как Вы пришли к этому решению, что читали? Для меня эта задача была очень сложной, поэтому и спрашиваю.

      1. Аватар Владимир:

        Анастасия, я уже не помню, что конкретно читал, но это не литература, у меня методы наверное не отличаются от остальных, запрос в поисковик, а там уже сайты для всех вероятно знакомые.
        Посмотрел мельком на Ваше выполнение, а там у Вас с ноликами, для заполнения отсутствия цифр, у меня так не получилось почему-то, хотя я об этом думал

  9. Аватар Alexandr:

    Задание №3:

  10. Аватар Shom:

    Задание №3.

    /*—————————————————————————————————
    Текстовой файл "students.txt":
    *****************************************************
    10
    Иванов Сергей Петрович 3 3 4
    Фёдоров Александр Сергеевич 4 3 5
    Кирк Джим Тибальд 4 4 4
    Вайт Волтер Валерьянович 5 5 4
    Бинг Чендлер Чарльзович 4 3 4
    Петров Василий Олегович 3 3 3
    Васечкин Пётр Александрович 3 3 4
    Барашкова Настясья Филлиповна 3 4 3
    Сполдинг Дуглас Леонардович 4 4 4
    Сполдинг Томас Леонардович 4 5 5

    ****************************************************
    ————————————————————————————————-*/

  11. Аватар Shom:

    Задание №2.

  12. Аватар Shom:

    Задание №1.

    1. Аватар Анастасия:

      Какой короткий и в то же время богатый незнакомыми терминами код! Жаль, что он не годится для Windows, у меня компилятор выдаёт ошибку "Не удается открыть файл включение: unistd.h: No such file or directory"

      1. Аватар Shom:

        Можете скачать этот unistd.h в папку с проектом) Но, по большому счёту, в этом нет необходимости — на Виндовс есть своя функция Sleep(). Да и вообще, на Виндовс программа бы получилась короче — можно было бы самописную функцию void getch() заменить стандартной библиотечной функцией getch().

  13. Аватар Илья:

    Задание №2:

  14. Аватар Илья:

    Задание №1:

    1. Аватар Илья:

      Вот так правильнее, если нажать пробел, программа завершится досрочно (подключена библиотека SFML)

      1. Аватар Анастасия:

        fatal error C1083: Не удается открыть файл включение: SFML\Graphics.hpp: No such file or directory

  15. Евгений Павлов Евгений Павлов:

    Задание №2:

    1. Аватар Илья:

      А если я буквы введу

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *