Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Розробка тексту програми. Текст програми починаємо з включення файлу stdio.h .






Текст програми починаємо з включення файлу stdio.h.

Оскільки нам доведеться проводити порівняння (блок 15) поля name в елементах масиву, а це поле - символьний рядок, включаємо також файл string.h, де описані функції роботи з символьними рядками. На самому початку програми вводимо також опис структури mon і одночасно - оголошення масиву mm. Потім відкривається головна функція програми, і в ній оголошуються інші змінні. оголошення:

float sqx;

Відкривається простий цикл з лічильником n, в кожній ітерації циклу виводиться запрошення і вводяться значення полів чергового елемента масиву. Порівняння поля name з константою " ***" - ознакою кінця введення виконується за допомогою функції strcmp (). Якщо введена ознака кінця, відбувається достроковий вихід з циклу за оператором break.

Слід, однак, зупинитися на введенні значення для поля sq. Тут ми зіткнулися (чи не вперше в нашій практиці) з явищем, яке не можемо пояснити інакше, ніж помилкою в системі програмування: функція scanf () працює ненадійно при введенні значень типу float і double, якщо це - значення полів елементів масиву структур. Тому ми оголосили робочу змінну sqx типу float і значення поля sq спочатку вводиться в цю змінну, а потім присвоюється полю структури.

Вивід масиву складається з виведення заголовка як кількох рядків - констант і виведення в циклі рядків з фактичними даними.

Рядки не можуть присвоюватися прямо, а лише - через функцію strcpy (). Виведення таблиці - результату - такий же, як і початкової таблиці.

/ ************************************************* ******* /

/*практична робота 5 */

/* Структури і масиви структур */

/ ************************************************* ******* /

 

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.