/**
* @file lab_1_3.c
* @author Самойленко Антон, 515-і2
* date 20.02.2022
* @brief Лабораторна робота №1
*
* Розгалудження та вибір. Завдання 3. Варіант 19.
*/
//подключение header файла
#include "header.h"
int main() {
float N, floor_number = 0, entrance_number = 0;
//русский язык
setlocale(LC_ALL, "rus");
printf("Введите номер квартиры : ");
scanf("%f", &N);
if (check_input(N) == 1) {
entrance_number = number_of_entrance(N);
floor_number = number_of_floor(N, entrance_number);
printf("Квартира находится в %.f подъезде, на %.f этаже.\n", entrance_number, floor_number);
quantity_of_rooms_balconies(N, entrance_number, floor_number);
}
else //вывод сообщения об ошибке
printf("Вы ввели некорректный номер.\n");
return 0;
}
/**
* @file functions.c
* @author Самойленко Антон, 515-і2
* date 20.02.2022
* @brief Лабораторна робота №1
*
* Розгалудження та вибір. Завдання 3. Варіант 19.
*/
//подключение header файла
#include "header.h"
PUBLIC int check_input(float N) {
return N >= MIN && N <= MAX ? 1 : END_WITH_ERROR;
}
PUBLIC int number_of_entrance(float N) {
return ceil(N / 48);
}
PUBLIC int number_of_floor(float N, float entrance_number) {
return ceil((N - (entrance_number - 1) * 48) / 4);
}
PUBLIC void quantity_of_rooms_balconies(float N, float entrance_number, float floor_number) {
float flat_on_floor;
flat_on_floor = N - 4 * (floor_number - 1) - 4 * 12 * (entrance_number - 1);
//1 кв - 7 комнат + 3 балкона
//2 кв - 7 комнат + 2 балкона
//3 кв - 7 комнат + 2 балкона
//4 кв - 9 комнат + 4 балкона
if (flat_on_floor == 2 || flat_on_floor == 3)
printf("В квартире 7 комнат и 2 балкона.\n");
else if (flat_on_floor == 1)
printf("В квартире 7 комнат и 3 балкона.\n");
else if(flat_on_floor == 4)
printf("В квартире 9 комнат и 4 балкона.\n");
}
/**
* @file header.h
* @author Самойленко Антон, 515-і2
* date 20.02.2022
* @brief Лабораторна робота №1
*
* Розгалудження та вибір. Завдання 3. Варіант 19.
*/
#ifndef HEADER_H
#define HEADER_H
#define PUBLIC
#define PRIVATE static
//подключение библиотек
#include <stdio.h>
#include <locale.h>
#include <math.h>
//ошибка
#define END_WITH_ERROR -1
//первая квартира
#define MIN 1
//последняя квартира
#define MAX 144
//проверка данных на корректность
PUBLIC int check_input(float N);
//поиск номера подъезда
PUBLIC int number_of_entrance(float N);
//поиск номера этажа
PUBLIC int number_of_floor(float N, float entrance_number);
//вывод количества комнат и балконов
PUBLIC void quantity_of_rooms_balconies(float N, float entrance_number, float floor_number);
#endif