lab1_2

Run Settings
LanguageC
Language Version
Run Command
#include <stdio.h> #include <locale.h> #include "Header.h" #include "Header.c" int main() { //Підключаємо українську мову setlocale(LC_ALL, "Ukrainian"); int place, up_low, cs, coupe, wc; printf("Введiть номер вашого мiсця:"); scanf("%d", &place); up_low = upper_lower(place); if (up_low == err) { printf("Такого мiсця немає"); return err; } if (up_low) printf("У вас верхня полка\n"); else printf("У вас нижня полка\n"); cs = coupe_s(place); if (cs) printf("У Вас купе\n"); else printf("У Вас бокове мiсце\n"); coupe = coupe_number(place); coupe_number_rome(coupe); wc = wc_dist(place, coupe); printf("\nДо найближчого туалету %d метр(-iв) вiд вашого мiсця", wc); return 0; }
#include "Header.h" #include <stdio.h> #define seat_min 1 #define seat_max 54 const int coupe_size = 2; //Згідно з умовою ширина кожного купе //Функція для обмеження місць від 1 до 54б аби не було помилки private int place_check(int place) { return seat_min <= place && place <= seat_max; } //Функція для знаходження номера купе public int coupe_number(int place) { return place_check(place) ? coupe_s(place) ? (place + 3) / 4 : ((54 - place) / 2) + 1 : err; } //Функція для полки (НИЖНЯ\ВЕРХНЯ) public int upper_lower(int place) { return place_check(place) ? place % 2 == 0 : err; } //Функція для знаходження типу місця (БОКОВЕ\КУПЕ) public int coupe_s(int place) { return place_check(place) ? place <= 36 : err; } //Функція для виводу номера купе римськими цифрами public void coupe_number_rome(int coupe) { printf("Купе пiд номером:"); switch (coupe) { case 1: printf("I"); break; case 2: printf("II"); break; case 3: printf("III"); break; case 4: printf("IV"); break; case 5: printf("V"); break; case 6: printf("VI"); break; case 7: printf("VII"); break; case 8: printf("VIII"); break; case 9: printf("IX"); break; } } //Функція для знаходження відстані до найближчого туалету public int wc_dist(int place, int coupe) { return place_check(place) ? coupe <= 4 ? coupe_size * coupe: (10 - coupe) * coupe_size - 1 : err; }
#ifndef Header_h #define Header_h #define public #define private static #define err -1 public int coupe_s(int place); public int coupe_number(int place); public void coupe_number_rome(int coupe); public int wc_dist(int place, int coupe); #endif
Editor Settings
Theme
Key bindings
Full width
Lines