lab 1 task 3

Run Settings
LanguageC
Language Version
Run Command
/* Файл: main_apartments.c Лабораторна робота № 1 Автор : Хоменко К.О. Завдання : Квартири. Дата створення : 12.02.2022 */ //подключение библиотек #include "apartments.h" #include <stdio.h> int main() { //объявление переменных float number; //номер квартиры float floor = 0; //этаж float num_of_entrance = 0; //номер подъезда float a = 0; //номер квартиры на этаже //приглашение ко вводу номера квартиры printf("Please, enter a number of the apartment : "); //ввод данных scanf("%f", &number); //если введённый номер не корректен >> вывод сообщения об ошибке if (checking_a_number(number) == false) printf("\nThere is no apartment with this number !\nError!\n"); //если введённый номер корректен >> обращение к функциям else { num_of_entrance = finding_entrance(number, num_of_entrance); floor = finding_floor(number, num_of_entrance, floor); quantity_of_rooms_and_balconies(number, num_of_entrance, floor, a); } //завершение работы return 0; }
#ifndef APARTMENTS_H #define APARTMENTS_H #include <stdbool.h> //чтобы можно было использовать bool #include <math.h> //чтобы работало округление ceil #define PRIVATE static #define PUBLIC //объявление функций PUBLIC bool checking_a_number(float number); PUBLIC int finding_entrance(float number, float num_of_entrance); PUBLIC int finding_floor(float number, float num_of_entrance, float floor); PUBLIC void quantity_of_rooms_and_balconies(float number, float num_of_entrance, float floor, float a); #endif
//подключение библиотек #include "apartments.h" #include <stdio.h> //булевая функция, которая проверяет корректность введённых данных PUBLIC bool checking_a_number(float number) { //при помощи тернарных операторов происходит проверка и возвращается значение return number >= 1 && number <= 180 ? true : false; } //функция, которая ищет номер подъезда PUBLIC int finding_entrance(float number, float num_of_entrance) { //расчёт по формуле : №_подъезда = №_кв / кол-во_кв_в_подъезде >> округляю результат в правую сторону num_of_entrance = ceil(number / 60); printf("\nThe apartment is located in the %.f entrance.\n", num_of_entrance); return num_of_entrance; } //функция, которая ищет этаж PUBLIC int finding_floor(float number, float num_of_entrance, float floor) { //расчёт по формуле : этаж = (№_кв - №_подъезда - 1) * кол-во_кв_в_подъезде) / кол - во_кв_на_этаже >> результат округляю в правую сторону floor = ceil((number - (num_of_entrance - 1) * 60) / 5); printf("The apartment is located on %.f floor.\n", floor); return floor; } //функция, которая определяет количество комнат и балконов в квартире PUBLIC void quantity_of_rooms_and_balconies(float number, float num_of_entrance, float floor, float a) { //расчет по формуле : №_кв_на_этаже = №_кв - кол-во_кв_на_этаже * (этаж - 1) - кол-во_кв_на_этаже * кол-во_этажей * (№_подъезда - 1) a = number - 5 * (floor - 1) - 5 * 12 * (num_of_entrance - 1); if (a == 1 || a == 5) printf("This apartment has 7 rooms and 3 balconies.\n"); else if (a == 2 || a == 4) printf("This apartment has 6 rooms and 1 balcon.\n"); else if (a == 3) printf("This apartment has 5 rooms and 2 balconies.\n"); }
Editor Settings
Theme
Key bindings
Full width
Lines