Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Домашняя Работа.docx
Скачиваний:
8
Добавлен:
28.06.2021
Размер:
164.96 Кб
Скачать

Оглавление

Введение 2

Ход работы 3

Код программы 6

Введение

Для данной работы была взята программа, написанная мною на первом курсе бакалавриата по дисциплине: «Программирование». Так как она была написана, когда я только постигал азы программирования, то в ней наверняка были допущены ошибки в процессе написания программы. Именно по этому я выбрал данную программу.

Целью данной программы являлось закрепление теоретических знаний и отработка практических навыков программирования. Для реализации поставленной цели, были решены следующие задачи: разработка электронного справочника “Планеты солнечной системы” и программы психологического тестирования»

Разработанная программа включает в себя следующие элементы:

  • меню;

  • заставка;

  • информация об авторе;

  • электронный справочник;

  • психологическое тестирование.

Выполнение каждого элемента осуществляется выбором соответствующего пункта в меню. Заставка содержит в себе динамическое изображение, построенное с помощью элементов графики. Информация об авторе содержит сведения о студенте, выполнившем данный проект. Электронный справочник «Планеты солнечной системы» содержит в себе информацию о планетах. Пользователь выбирает категорию поиска, затем программа формирует вывод информации. В программе психологического тестирования собраны тестирования на разные тематики: Эмоциональная стойкость, Уверенность в себе, Легкий ли у вас характер?

Для создания данной программы выбран язык программирования C++. Программа разработана в соответствии со СА, представленными выше. Данный курсовой проект был разработан в среде Microsoft Visual Studio 2013 и пересобран в Microsoft Visual Studio 2019, так как этот редактор кода зарекомендовал себя как стабильный и универсальный компилятор. Также он является лицензионным продуктом, который находится в свободном доступе на официальном сайте Microsoft.

Ход работы

Д ля анализа кода был выбран плагин для Visual Studio – PVS Studio. После запуска анализа кода, были показаны ошибки, представленные на рисунке 1.

Рисунок 1 – Ошибки, показанные PVS Studio

В таблице 1 представлены все ошибки после анализа кода через PVS Studio

Таблица 1

V560

A part of conditional expression is always true: summ <= 30. LOLwork.cpp 163

V779

Unreachable code detected. It is possible that an error is present. LOLwork.cpp 167

V560

A part of conditional expression is always true: summ >= 0. LOLwork.cpp 390

V560

A part of conditional expression is always true: summ >= 8. LOLwork.cpp 393

V560

A part of conditional expression is always true: summ >= 13. LOLwork.cpp 396

V560

A part of conditional expression is always true: summ >= 17. LOLwork.cpp 399

V560

A part of conditional expression is always true: summ <= 20. LOLwork.cpp 399

V576

Incorrect format. Consider checking the third actual argument of the 'fscanf' function. It's dangerous to use string specifier without width specification. Buffer overflow is possible. LOLwork.cpp 422

V576

Incorrect format. Consider checking the third actual argument of the 'fscanf' function. It's dangerous to use string specifier without width specification. Buffer overflow is possible. LOLwork.cpp 423

V576

Incorrect format. Consider checking the third actual argument of the 'fscanf' function. It's dangerous to use string specifier without width specification. Buffer overflow is possible. LOLwork.cpp 424

V576

Incorrect format. Consider checking the second actual argument of the 'scanf' function. The pointer to string of char type symbols is expected. LOLwork.cpp 454

Продолжение Таблицы 1

Что бы понять какие ошибки были допущены в процессе написания программы необходим перевод с английского языка на русский язык. В таблице 2 представлен перевод ошибок

Таблица 2

V560

Часть условного выражения всегда верна: summ <= 30. LOLwork.cpp 163

V779

Обнаружен недоступный код. Возможно, что ошибка присутствует. LOLwork.cpp 167

V560

Часть условного выражения всегда верна: summ> = 0. LOLwork.cpp 390

V560

Часть условного выражения всегда верна: summ> = 8. LOLwork.cpp 393

V560

Часть условного выражения всегда верна: summ> = 13. LOLwork.cpp 396

V560

Часть условного выражения всегда верна: summ> = 17. LOLwork.cpp 399

V560

Часть условного выражения всегда верна: summ <= 20. LOLwork.cpp 399

V576

Неверный формат. Попробуйте проверить третий действительный аргумент функции 'fscanf'. Опасно использовать спецификатор строки без указания ширины. Возможно переполнение буфера. LOLwork.cpp 422

V576

Неверный формат. Попробуйте проверить третий действительный аргумент функции 'fscanf'. Опасно использовать спецификатор строки без указания ширины. Возможно переполнение буфера. LOLwork.cpp 423

V576

Неверный формат. Попробуйте проверить третий действительный аргумент функции 'fscanf'. Опасно использовать спецификатор строки без указания ширины. Возможно переполнение буфера. LOLwork.cpp 424

V576

Неверный формат. Рассмотрите возможность проверки второго фактического аргумента функции scanf. Ожидается указатель на строку символов типа char. LOLwork.cpp 454

После исправления ошибок и повторного анализа кода через PVS Studio, получилось следующее:

Рисунок 2 – Повторный анализ кода

После этого пробуем заново скомпилировать программу. Программа скомпилировалась. Результат проедставлен на рисунке 3

Рисунок 3 – Скомпилированная программа