2Lab1No3

Run Settings
LanguageC
Language Version
Run Command
/** * @file 2Lab1No3.c * @author Літвінов А.А, гр. 515-В * @date 18 лютого 2022 * @brief Лабораторна робота No 1 * * Розгалуження та вибір. Завдання 3 (21 Варіант) */ #include <stdio.h> #include <locale.h> #include "buildings.h" int main() { setlocale(LC_ALL, "rus"); int apartment_num, floor, rooms, balc_log; printf("Введите номер квартиры:"); scanf("%d", &apartment_num); floor = floor_num(apartment_num); if (floor == ERR) { printf("\nКвартиры с таким номером не существет"); return ERR; } printf("\nДанная квартира находится на %d-м этаже", floor); rooms = rooms_count(apartment_num); printf("\nВ данной квартире %d комнат", rooms); balc_log = balc_log_count(apartment_num); printf("\nВ данной квартире %d балконов/лоджий", balc_log); }
#ifndef BUILDINGS_H #define BUILDINGS_H #define PUBLIC #define PRIVATE static #define ERR -1 PUBLIC int floor_num(int apartment_num); PUBLIC int rooms_count(int apartment_num); PUBLIC int balc_log_count(int apartment_num); #endif
#include "buildings.h" #define FIRST_APARTMENT 1 #define LAST_APARTMENT 140 //Функция для проверки корректонсти ввода номера квартиры PRIVATE int apartment_check(int apartment_num) { return FIRST_APARTMENT <= apartment_num && apartment_num <= LAST_APARTMENT; } //Функция для нахождения этажа по номеру квартиры PUBLIC int floor_num(int apartment_num) { if (apartment_check(apartment_num)) { int floor; for (int i = 1; i <= 14; i++) { if (apartment_num <= i * 10) { floor = i; break; } } return floor; } else return ERR; } //Функция для нахождения количества комнат в квартире по её номеру PUBLIC int rooms_count(int apartment_num) { if (apartment_check(apartment_num)) { int rooms_list[10] = { 7, 8, 7, 7, 8, 7, 8, 7, 7, 8 }; return rooms_list[(apartment_num - 1) % 10]; } else return ERR; } //Функция для нахождения количества балконов/лоджий в квартире по её номеру PUBLIC int balc_log_count(int apartment_num) { if (apartment_check(apartment_num)) { int balc_log_list[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 2 }; return balc_log_list[(apartment_num - 1) % 10]; } }
Editor Settings
Theme
Key bindings
Full width
Lines