#include <stdio.h>
#include <locale.h>
#include "header.h"
int main() {
setlocale(LC_ALL, "");
int n, place;
float coupenum = 1;
int buffer = 1;
int wcdistance = 0;
printf("Введите номер билета >>");
scanf("%i", &n);
if (n > 0 && n < 54) {
topbottomplace(n);
seatside(n, coupenum, buffer);
wcdistancefunc(n, coupenum, wcdistance, buffer);
}
else {
printf("Номер не существует");
}
return 0;
}
#ifndef HEADER_H
#define HEADER_H
#define PUBLIC
#define PRIVITE static
#define COUPEWIDTH 2
#define CONDUCTORROOM 1
int topbottomplace(int n);
int seatside(int n, float coupenum, int buffer);
int wcdistancefunc(int n, int coupenum, int wcdistance, int buffer);
#endif
#include <stdio.h>
#include "header.h"
#define COUPEWIDTH 2
#define CONDUCTORROOM 1
int topbottomplace(int n) {
if (n % 2) {
printf("Место на полке снизу\n");
}
else {
printf("Место на полке сверху\n");
}
return n;
}
int seatside(int n, float coupenum, int buffer) {
if (n > 36) {
printf("Место сбоку напротив купе номер ");
coupenum = (((54 - n) / 2) + 1);
buffer = coupenum;
}
else {
printf("В купе номер ");
coupenum = ((n / 4.01) + 1);
buffer = coupenum;
}
switch (buffer) {
case 1: printf("I.\n"); break;
case 2: printf("II.\n"); break;
case 3: printf("III.\n"); break;
case 4: printf("IV.\n"); break;
case 5: printf("V.\n"); break;
case 6: printf("VI.\n"); break;
case 7: printf("VII.\n"); break;
case 8: printf("VIII.\n"); break;
case 9: printf("IX.\n"); break;
default: printf("не существует.\n"); break;
}
return n;
}
int wcdistancefunc(int n, int coupenum, int wcdistance, int buffer) {
if (n > 36) {
coupenum = (((54 - n) / 2) + 1);
buffer = coupenum;
}
else {
coupenum = ((n / 4.01) + 1);
buffer = coupenum;
}
if (buffer <= 4) {
wcdistance = (buffer - 1) * COUPEWIDTH + CONDUCTORROOM;
}
else {
wcdistance = (9 - buffer) * COUPEWIDTH;
}
printf("Расстояние до туалета %i метров", wcdistance);
return buffer;
}