/*
* @file Lab_1_3.cpp
* @author Дарчук Г.С., 515i
* @date 22.02.2025
* @brief Лабораторна робота №1, варіант 22
*
* Розгалуження та вибір. Завдання 3
*/
// Підключення стандартних бібліотек для роботи з виведенням та введенням даних
#include <stdio.h>
#include <locale.h>
// Підключення заголовного файлу для роботи з функціями про квартири
#include "appartmentInfo.h"
int main(void)
{
// Зміна кодової таблиці символів та підключення української мови
setlocale(LC_CTYPE, "ukr");
int appartment;
// Введення номера квартири від користувача
printf("Введіть номер квартири: ");
scanf("%d", &appartment);
// Перевірка на коректність введеного номера квартири
if (isInvalid(appartment)) return 1;
// Виведення додаткової інформації про квартиру
entranceNumber(appartment);
floorNumber(appartment);
roomsData(appartment);
// Завершення роботи програми
return 0;
}
/*
* @file appartmentInfo.h
* @author Дарчук Г.С., 515i
* @date 22.02.2025
* @brief Лабораторна робота №1, варіант 22
*
* Розгалуження та вибір. Завдання 3
*/
// Функція для перевірки, чи є номер квартири некоректним
int isInvalid(int appartment);
// Функція для визначення номера під'їзду за номером квартири
void entranceNumber(int appartment);
// Функція для визначення поверху за номером квартири
void floorNumber(int appartment);
// Функція для виведення даних про кількість кімнат у квартирі
void roomsData(int appartment);
/*
* @file appartmentInfo.cpp
* @author Дарчук Г.С., 515i
* @date 22.02.2025
* @brief Лабораторна робота №1, варіант 22
*
* Розгалуження та вибір. Завдання 3
*/
// Підключення стандартних бібліотек для роботи з виведенням та введенням даних
#include <stdio.h>
#include <locale.h>
// Функція для перевірки коректності введеного номера квартири
int isInvalid(int appartment)
{
// Якщо номер квартири менший за 1 або більший за 100, вивести помилку
if (appartment < 1 || appartment > 100)
{
printf("Помилка: такого номера квартири не існує\n");
return 1;
}
// Якщо номер квартири коректний, повертається 0
else return 0;
}
// Функція для визначення номера під'їзду
void entranceNumber(int appartment)
{
// Розрахунок номера під'їзду, виходячи з номера квартири
int entranceNum = (appartment - 1) / (5 * 4) + 1;
// Виведення номера під'їзду
printf("Номер під'їзду: %d\n", entranceNum);
}
// Функція для визначення номера поверху
void floorNumber(int appartment)
{
// Розрахунок номера поверху, виходячи з номера квартири
int floor = ((appartment - 1) % 20) / 4 + 1;
// Виведення номера поверху
printf("Номер поверха: %d\n", floor);
}
// Функція для визначення кількості кімнат та балконів/лоджій для конкретної квартири
void roomsData(int appartment)
{
// Розрахунок номера квартири на поверсі
int appOnFloorNum = (appartment - 1) % (5 * 4) % 4 + 1;
// Виведення даних про кількість кімнат та балконів/лоджій для кожного варіанту
switch (appOnFloorNum)
{
case 1:
printf("Кількість кімнат: 4 кімнати + кухня\n");
printf("Кількість балконів/лоджій: 2 балкони/лоджі\n");
break;
case 2:
printf("Кількість кімнат: 3 кімнати + кухня\n");
printf("Кількість балконів/лоджій: 1 балкон/лоджа\n");
break;
case 3:
printf("Кількість кімнат: 3 кімнати + кухня\n");
printf("Кількість балконів/лоджій: 1 балкон/лоджа\n");
break;
case 4:
printf("Кількість кімнат: 4 кімнати + кухня\n");
printf("Кількість балконів/лоджій: 2 балкони/лоджі\n");
break;
}
}