
- •Типи користувача. Крім вище описаних стандартних типів даних, можна створювати типи користувача
- •Команда присвоєння. Правила узгодження типів. Команда присвоєння має такий загальний вигляд:
- •Ознаки. Ознаки слугують для зміни правил доступу до файлу. Розглянемо деякі з них:
- •Складена команда. Під час написання програми може виникнути потреба трактувати декілька команд як одну. Така команда називається складеною. Складена команда – це конструкція такого вигляду:
- •Команда безумовного переходу goto. Ця команда змінює послідовність виконання інших команд шляхом переходу до виконання команди, що має позначку (мітку). Команда переходу має вигляд
- •Команда циклу з лічильником for. Команда for має вигляд
- •Команда циклу з післяумовою do-while має вигляд
- •Посилання. До даних можна звертатись за допомогою імен або посилань. Посилання слугує для надання ще одного імені (псевдоніма, синоніма, аліасу) даному. Посилання утворюють так:
Команда безумовного переходу goto. Ця команда змінює послідовність виконання інших команд шляхом переходу до виконання команди, що має позначку (мітку). Команда переходу має вигляд
goto <позначка>; |
Позначка може розміщуватись перед довільною командою у програмі. Вона відокремлюється від команди двокрапкою (:), а саме:
<позначка> : <команда>; |
Позначка може бути лише ідентифікатор, тобто набір допустимих символів, який починається з букви або символу підкреслення ( _ ).
Задача
4 (про
квадратне рівняння). Ввести
декілька наборів коефіцієнтів квадратного
рівняння
і вивести повідомлення: матиме рівняння
дійсні корені чи ні?
// Програма Квадратне рівняння
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main
{
clrscr();
float a, b, c, d;
vvid : cout << “\n Уведіть коефіцієнти рівняння \n”;
cin >> a >> b >> c;
if (a == 0) goto finish; // Якщо а = 0, то перейти до позначки finish
d = pow(b, 2) – 4 * a * c; // Інакше обчислити дискримінант
if (d >= 0) cout << “Це рівняння має корені”;
else
{
cout << “Дані введено неправильно \n”; // виводимо відповідні
cout << “Рівняння дійсних розв’язків не має”; // повідомлення
goto vvid; // Перейти до позначки vvid
}
finish : getch();
}
Зауваження 4. Використовувати команду goto варто лише у виняткових випадках, оскільки вона змінює природну послідовність виконання команд і робить програму важкозрозумілою.
Перерахований тип утворюють із перерахування іменованих сталих цілого типу так:
enum <назва типу> = {<стала 1> = <значення 1>, …, <стала N> = <значення N>}; |
або так:
enum <назва типу> = {<стала 1>, …, <стала N>}; |
В останньому випадку сталій 1 автоматично буде присвоєно значення 0, сталій 2 – значення 1 і т. д.
Деякі сталі у списку можна ініціалізувати. Неініціалізованим сталим автоматично буде присвоєно значення на одиницю більше від автоматично буде присвоєно значення на одиницю більше від значення попередньої сталої зі списку.
Приклад 7. Опишемо два перераховані типи (дні тижня та кольори):
enum week = {mon, tue, wed, the, fri, sat, sun};
enum colors = {red = 1, green, yellow = 6, white};
У списку week стала mon дорівнюватиме 0, tue = 1, …, sun = 6. У списку colors стала red дорівнює 1, green відповідно 2, yellow – 6, а стала white – 7 (на одиницю більше від yellow).
Задача 5 (про розклад на день). Скласти програму, яка б виводила на екран розклад роботи на тиждень.
#include <iostream.h> // Програма Розклад на день
#include <conio.h>
void main()
{
clrscr();
enum svet {mon, tue, wed, the, fri, sat, sun}; int day;
cout << “Розклад занять на тиждень \n\n”;
for (day = mon; day <= sun; day++)
switch (day)
{
case mon : cout << “Понеділок\t Зустріч акціонерів. \n”; break;
case tue : cout << “Вівторок\t Відрядження \n”; break;
case wed : cout << “Середа\t Відрядження \n”; break;
case the : cout << “Четвер\t Відрядження \n”; break;
case fri : cout << “П’ятниця\t Здати звіт. Зайти в банк \n”; break;
case sat : cout << “Субота\t Їдемо на рибалку \n”; break;
case sun : cout << “Неділя\t Відвідати батьків. Ввечері йдемо у театр \n”;
}
getch();
}
Цикли
Цикл (повторення) – це процес виконання певного набору команд деяку кількість разів. У мові С++ є три команди циклу – for, while та do-while.