Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Пояснення до тексту програми
Приклад рішення задачі
Розробка алгоритму рішення Визначення змінних програми Назва - є символьним рядком з 8 символів: char name1[9], name2[9], name3[9]; додатковий символ резервується для позначення кінця символьного рядка. Школа. Ці дані є одним символом. Їх оголошення: char sch1, sch2, sch3; Кількість ченців - цілі числа, тип unsigned short (діапазон цього типу: 0 - 255). Оголошення змінних: unsigned short cnt1, cnt2, cnt3; Площа земель - змінними з плаваючою точкою, тип float: float sq1, sq2, sq3; Пояснення до тексту програми Кодова частина програми починається із запрошення - виведення рядка-константи: printf(" 1. Введіть: назву, школу, кількість, площу > ");за яким прочитуються дані, такі, що вводяться оператором: scanf(" %s %c %d %f", name1, & sc1, & cnt1, & sq1);Специфікації типу: %s рядок, символ - %c, ціле число - %d, число з плаваючою точкою - %f. Специфікації розділяються пропусками, тобто і дані при введенні повинні розділяться пропусками або переходом на новий рядок. У списку введення перед усіма елементами, крім того, який вводиться по %s, ставиться знак &. Для формування виводу слід підрахувати ширину кожного стовпця. Перший стовпець з урахуванням пропусків на початку і у кінці - 11. Ширина інших стовпців складає відповідно до 7, 11 і 13 символів. Враховуючи вертикальні лінії, ширина рядка складає 47 знакомісць. Перший рядок - горизонтальна лінія, яка складається з символу '-', повтореного 47 разів. Другий рядок - загальний заголовок, доповнений до ширини 47 пропусками. Третій рядок - ще одна горизонтальна лінія. Четвертий і п'ятий рядки - заголовки стовпців, кожен з них має встановлену ширину. Шостий рядок - ще одна горизонтальна лінія. Нарешті, рядки з сьомою до дев'ятої - фактичні дані. У кожному рядку виводяться значення набору змінних для одного рядка. Наприклад: printf(" | %9s | %c | %-3d | %5.1f |\n", name1, sc1, cnt1, sq1);Значення імені виводяться: специфікація %s з шириною 9; значення школи - специфікація %c; Оскільки значення в цьому стовпці виводиться по центру стовпця, перед і після нього ставляться пропуски. Значення кількості - специфікація %d з шириною 3, а площа - %f із загальною шириною 5 і одним знаком після точки. Значення в цих стовпцях доповнюються до потрібної ширини пропусками. У стовпці 3 ставиться ознака вирівнювання по правому краю. Повний текст програми. /*******************************************************//* /* Лабораторна робота N 1 *//* /* Типи даних та ввод-вивод *//* /* Приклад виконання. Варіант N30. *//*******************************************************/##include < stdio.h> void main(void){ char name1[9], name2[9], name3[9]; char sc1, sc2, sc3; unsigned short cnt1, cnt2, cnt3; float sq1, sq2, sq3; /* /* Вступ фактичних данных*/ printf(" 1. Введіть: назву, школу, кількість, площу > "); scanf(" %s %c %d %f", name1, & sc1, & cnt1, & sq1); printf(" 2. Введіть: назву, школу, кількість, площу > "); scanf(" %s %c %d %f", name2, & sc2, & cnt2, & sq2); printf(" 3. Введіть: назву, школу, кількість, площу > "); scanf(" %s %c %d %f", name3, & sc3, & cnt3, & sq3); /* /* Виведення таблиці */ /* /* виведення заголовків */ printf(" -----------------------------------------------\n"); printf(" |Буддійські монастирі Японії періоду Нара |\n"); printf(" |---------------------------------------------|\n"); printf(" | Назва | Школа | Кількість|Площа землі|\n"); printf(" | | | ченців| (га) |\n"); printf(" |----------|-------|-----------|-------------|\n"); /* /* виведення рядків фактичних даних */ printf(" | %9s | %c | %3d | %-5.1f |\n", name1, sc1, cnt1, sq1); printf(" | %9s | %c | %3d | %-5.1f |\n", name2, sc2, cnt2, sq2); printf(" | %9s | %c | %3d | %-5.1f |\n", name3, sc3, cnt3, sq3); /* /* виведення приміток */ printf(" |---------------------------------------------|\n"); printf(" | Примітка: Т - Тэндай; З - Сингон; |\n"); printf(" | Д - Дзедзицу |\n"); printf(" -----------------------------------------------\n"); }
|