/**
* @file flat.c
* @author Павленко Кирило, 515-і2
* @date 12.03.2022
* @brief Лабораторна робота №1
*
* Розгалудження та вибір. Завдання 3. Варіант 22.
*/
//підключення модулю
#include "flat.h"
int main() {
//оголошення змінних
float number, floorNumber = 0, entranceNumber = 0;
//підключення російської мови
setlocale(LC_ALL, "rus");
printf("Введите номер квартиры : ");
scanf("%f", &number);
if (numberCheck(number) == ERROR)
//виведення помилки якщо введені дані некоректні
printf("Вы ввели неправильный номер квартиры.\n");
else {
//якщо коректні - виконання функцій
entranceNumber = entranceFind(number);
printf("Номер подъезда : %.lf.\n", entranceNumber);
floorNumber = floorFind(number, entranceNumber);
printf("Номер этажа : %.lf.\n", floorNumber);
informationAboutRoomsBalconies(number, entranceNumber, floorNumber);
}
//завершення роботи
return 0;
}
/**
* @file flat_func.c
* @author Павленко Кирило, 515-і2
* @date 12.03.2022
* @brief Лабораторна робота №1
*
* Розгалудження та вибір. Завдання 3. Варіант 22.
*/
//підключення модулю
#include "flat.h"
//фунція, що перевіряє введені дані на коректність
PUBLIC int numberCheck(float number) {
return number >= FLAT_MIN && number <= FLAT_MAX ? 1 : ERROR;
}
//функція, що знаходить номер під'їзду
PUBLIC int entranceFind(float number) {
return ceil(number / 20);
}
//функція, що знаходить номер поверху
PUBLIC int floorFind(float number, float entranceNumber) {
return ceil((number - (entranceNumber - 1) * 20) / 4);
}
//функція, що виводить кількість кімнат та балконів
PUBLIC void informationAboutRoomsBalconies(float number, float entranceNumber, float floorNumber) {
float counter;
counter = number - 4 * (floorNumber - 1) - 4 * 5 * (entranceNumber - 1);
printf("В вашей квартире 7 комнат и");
if (counter == 1 || counter == 4)
printf(" 2 балкона.\n");
else if(counter == 2 || counter == 3)
printf(" 1 балкон.\n");
}
/**
* @file flat.h
* @author Павленко Кирило, 515-і2
* @date 12.03.2022
* @brief Лабораторна робота №1
*
* Розгалудження та вибір. Завдання 3. Варіант 22.
*/
#ifndef FLAT_H
#define FLAT_H
//підключення бібліотек
#include <stdio.h>
#include <locale.h>
#include <math.h>
//дефайни
#define ERROR -1
#define FLAT_MAX 100
#define FLAT_MIN 1
#define PUBLIC
#define PRIVATE static
//оголошення функцій
PUBLIC int numberCheck(float number);
PUBLIC int entranceFind(float number);
PUBLIC int floorFind(float number, float entranceNumber);
PUBLIC void informationAboutRoomsBalconies(float number, float entranceNumber, float floorNumber);
#endif