Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторна робота № 4 КОНСОЛЬНІ ДОДАТКИ 38.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
3.87 Mб
Скачать

Компіляція програми у Visual Studio. Виправлення синтаксичних помилок

Розглянемо автоматичне виявлення помилок на окремих прикладах. Для цього створимо проект Приклад_2, обравши у контекстному меню рішення зазначені на рис. 20 команди.

Рис. 20. Контекстне меню з командами створення нового проекту

Виконайте крок 2 та 3, вказавши ім’я проекту Приклад_2.

Рис. 21. Вікно створення нового проекту

Виконайте крок 4 та 5, створивши файл вхідного коду з ім’ям Приклад_2.

Далі на кроці 6 у вікні редактора коду наберіть наведений нижче текст програми (див. приклад 2) (рис. 22).

Приклад 2. Програма визначення мінімального та максимального значення

Визначити максимальне та мінімальне значення чисел, введених з клавіатури.

#include <stdio.h>

void main()

{

int max = 0, min = 0;

int n, a

/* Помилка cинтаксису: відсутня ; в кінці оголошення змінних */

setlocale(LC_CTYPE, "Russian");

printf_s("Введіть кількість чисел n: ");

scnf_s("%d", &n); /* Помилка cинтаксису: невірне імя функції (повинно бути scanf_s) */

printf_s("Введення %d чисел:\n", n);

printf_s("Далi слiд ввести наступних %d чисел:\n", n);

for (int i = 1; i < n; i++)

{

printf_s("Введіть %d число: ", i);

scanf_s("%d", &a);

// Пошук максимального і мінімального елемента

if (a < min) min= a;

if (a > max) max= a;

/* Помилка синтаксису: немає закриваючої скобки } */

printf_s("Найбiльше введене число серед %d чисел: %d\n", n, max);

printf_s("Найменше введене число серед %d чисел: %d\n", n, min);

system("pause");

/* Помилка синтаксису: в програмі відсутній опис функції system("pause") */

}

/* Щоб виправити помилку, додайте в початок програми #include <windows.h> */

Рис. 22. Текст програми в редакторі коду Visual Studio 2010

Потім виконайте збірку додатка (крок 7), вибравши в меню Побудова - Побудувати рішення. Після цього у вікні Список помилок (Error List) повинні з'явитися повідомлення про виявлені помилки (рис. 23).

Рис. 23. Вікно Список помилок

Вікно Список помилок можна відкрити, вибравши в меню Вигляд (View) - Список помилок (List Errors). В відкритому вікні Список помилок двічі клацніть по першій поміченій помилці і переконайтеся, що при цьому в редакторі коду курсор переміститься на рядок з помилкою (рис. 24).

Рис. 24. Вікно редактора вхідного коду та списку помилок з поміткою рядка з помилкою

ПОРАДА. Корисно переглядати список помилок, починаючи з першої, тому що одна-єдина помилка може викликати ланцюгову реакцію, поява «наведених» помилок. Виправлення цієї єдиної помилки призведе і до зникнення інших. Однак обмежуватися виправленням тільки однієї помилки все ж не варто, оскільки ви будете втрачати час на повторну збірку рішення (а воно може становити в серйозних додатках до декількох годин!). З досвідом ви навчитеся легко відрізняти «наведені» помилки від реальних.

Як видно з рис. 24, повідомлення про помилку містить номер помилки (в класифікації помилок компіляції) та короткий її опис. Буває, що діагностичної інформації компілятора недостатньо, щоб зрозуміти суть помилки, і в таких випадках слід шукати її більш докладний опис.

Як правило, у вбудованій довідковій системі VS можна знайти вичерпний опис помилки, можливих причин її виникнення та способів її виправлення, а також приклади програм з помилками такого ж типу (і номера). Для отримання довідкової інформації достатньо натиснути клавішу F1 на поточній помилці у вікні Список помилок або у вікні Виведення, в результаті чого має з'явитися вікно довідкової системи з описом помилки, як показано на рис. 25.

Рис. 25. Вікно Виведення з повідомленням про помилки компіляції

Перегляньте весь список виявлених компілятором помилок. Точно установіть рядки тексту програми, що містять помилки (для цього слід двічі клацнути по помилці в списку і курсор в редакторі коду переміститься на рядок з помилкою). Використовуючи отриману інформацію (і вказівки в коментарях в тексті програми), виправте помилки, а потім перекомпілюйте програму. Якщо всі синтаксичні помилки були виправлені, то компіляція пройде успішно і буде зібраний виконуваний файл.

Рис. 26. Вікно редактора вікном виведення помилок

Перевірте роботу програми, запустивши її на виконання командою меню Налагодження - Почати налагодження (або натиснувши клавішу F5).

Зверніть увагу, що на виконання була запущена програма з ім‘ям Приклад_1, хоча ми мали на увазі запуск програми Приклад_2.

Щоб змінити цю ситуацію, слід у провіднику рішень виділити рішення і обрати Вигляд (View) – Властивості Windows (Properties Windows).

Рис. 27. Вікно властивостей рішення

У вікні властивостей змініть Запуск проекту (Startup project) змініть проект Приклад_1 на Приклад_2.

Рис. 28. Вікно властивостей рішення

Знов запустіть програму на виконання. Отримаємо вікно консолі, в якому на запит програми введемо необхідні дані і отримаємо результат роботи програми.

Рис. 29. Результат виконання програми

На рис. 29 показаний приклад введення-виведення програми, з якого видно, що програма, хоча і працює, але видає невірний результат, оскільки мінімальним числом є нуль, а серед введених чисел нуля немає і кількіст введених чисел дорівнює 4 замість 5. Це означає, що в коді програми міститься помилка, яку автоматично не вдалося виявити. Засоби пошуку такого роду помилок (званих логічними) будуть розглянуті.