Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include "cp_data1.h"
- void mainMenu(int menu);
- void cp_data();
- void printZastavky();
- void printNejakuZastavku(int cislo);
- void printNajblizsiSpoj(int cStanici, int sMin, int sHod);
- int main()
- {
- int di;
- printf("===============================================================\n");
- printf("\t (1) - Vyber zastavky\n");
- printf("\t (2) - Zobrazenie CP\n");
- printf("\t (3) - Zistenie najblisieho spoja\n");
- printf("\t (4) - Koniec programu\n");
- printf("===============================================================\n");
- printf("\nVloz svoj vyber z menu: ");
- scanf("%d", &di);
- mainMenu(di);
- return 0;
- }
- void mainMenu(int menu)
- {
- int poradie;
- if(menu == 1)
- {
- printf("Vyber poradie zastavky: ");
- scanf("%d", &poradie);
- if(poradie <= 1)
- {
- printf("Chybny vstup");
- }
- else
- {
- printNejakuZastavku(poradie);
- }
- }
- else if(menu == 2)
- {
- printZastavky();
- }
- else if(menu == 3)
- {
- int bStanica;
- int sMin;
- int sHod;
- printf("Vyber si stanicu: ");
- scanf("%d", &bStanica);
- printf("Vyber si hodinu odchodu: ");
- scanf("%d", &sHod);
- printf("Vyber si minutu odchodu: ");
- scanf("%d", &sMin);
- printNajblizsiSpoj(bStanica, sMin, sHod);
- }
- else if(menu == 4)
- {
- exit(0);
- }
- }
- void cp_data(){
- char left_space[10] = "\t";
- int width = 17;
- printf("\n... [SPECIFIKACIA CESTOVNEHO PORIADKU] ...\n\n");
- // casovy rozdiel medzi 2 po sebe iducimi zastavkami
- printf("%s%-*s %d min\n", left_space, width, "DELTA:", DELTA);
- // hodina odchodu prveho spoja z 1. zastavky
- printf("\n");
- printf("%s%-*s %02d\n", left_space, width, "PRVY_SPOJ_H:", PRVY_SPOJ_H);
- // minuta odchodu prveho spoja z 1. zastavky
- printf("%s%-*s %02d\n", left_space, width, "PRVY_SPOJ_M:", PRVY_SPOJ_M);
- // posledna hodina, kedy linka premava
- printf("%s%-*s %02d\n", left_space, width, "POSLED_SPOJ_H:", POSLED_SPOJ_H);
- printf("\n");
- // hodina zaciatku rannej spicky
- printf("%s%-*s %02d\n", left_space, width, "RANO_START:", RANO_START);
- // hodina konca rannej spicky
- printf("%s%-*s %02d\n", left_space, width, "RANO_END:", RANO_END);
- printf("\n");
- // hodina zaciatku poobednej spicky
- printf("%s%-*s %02d\n", left_space, width, "POOBEDE_START:", POOBEDE_START);
- // hodina konca poobednej spicky
- printf("%s%-*s %02d\n", left_space, width, "POOBEDE_END:", POOBEDE_END);
- printf("\n");
- // frekvencia premavania linky (v minutach) mimo spicky
- printf("%s%-*s %d min\n", left_space, width, "INTERVAL_NORMAL:", INTERVAL_NORMAL);
- // frekvencia premavania linky (v minutach) v rannej spicke
- printf("%s%-*s %d min\n", left_space, width, "INTERVAL_RANO:", INTERVAL_RANO);
- // frekvencia premavania linky (v minutach) v poobednej spicke
- printf("%s%-*s %d min\n", left_space, width,"INTERVAL_POOBEDE:", INTERVAL_POOBEDE);
- printf("\n..........................................\n");
- }
- void printZastavky()
- {
- int i, j, m; // i-hodina j-minuta
- printf("\n... [CESTOVNY PORIADOK - 1 ZASTAVKY] ...\n\n");
- printf("Hodina | Minuta\n");
- for(i = PRVY_SPOJ_H; i < POSLED_SPOJ_H; i ++)
- {
- m = 0;
- printf("%d | ", i);
- for(j = 0; j < 60; j++)
- {
- if(i >= RANO_START && i <= RANO_END)
- {
- m += INTERVAL_NORMAL - INTERVAL_RANO;
- if(m < 60)
- {
- printf("%d ", m);
- }
- }
- else if(i >= POOBEDE_START && i <= POOBEDE_END)
- {
- m += INTERVAL_NORMAL - INTERVAL_POOBEDE;
- if(m < 60)
- {
- printf("%d ", m);
- }
- }
- else
- {
- m += INTERVAL_NORMAL;
- if(m < 60)
- {
- printf("%d ", m);
- }
- }
- }
- printf("\n");
- }
- }
- void printNejakuZastavku(int cislo)
- {
- int i, j, m; // i-hodina j-minuta
- printf("\n... [CESTOVNY PORIADOK - %d ZASTAVKY] ...\n\n", cislo);
- printf("Hodina | Minuta\n");
- for(i = PRVY_SPOJ_H; i < POSLED_SPOJ_H; i ++)
- {
- m = 0;
- printf("%d | ", i);
- for(j = 0; j < 60; j++)
- {
- if(i >= RANO_START && i <= RANO_END)
- {
- m += INTERVAL_NORMAL + (cislo * DELTA) - INTERVAL_RANO;
- if(m < 60)
- {
- printf("%d ", m);
- }
- }
- else if(i >= POOBEDE_START && i <= POOBEDE_END)
- {
- m += INTERVAL_NORMAL + (cislo * DELTA) - INTERVAL_POOBEDE;
- if(m < 60)
- {
- printf("%d ", m);
- }
- }
- else
- {
- m += INTERVAL_NORMAL + (cislo * DELTA);
- if(m < 60)
- {
- printf("%d ", m);
- }
- }
- }
- printf("\n");
- }
- }
- void printNajblizsiSpoj(int cStanici, int sMin, int sHod)
- {
- int i, j, m, sminuty; // i-hodina j-minuta
- for(i = PRVY_SPOJ_H; i < POSLED_SPOJ_H; i ++)
- {
- m = 0;
- //printf("%d | ", i);
- for(j = 0; j < 60; j++)
- {
- if(i >= RANO_START && i <= RANO_END)
- {
- m += INTERVAL_NORMAL + (cStanici * DELTA) - INTERVAL_RANO;
- if(m < 60 && sHod == i && sMin < m)
- {
- sminuty = m;
- }
- }
- else if(i >= POOBEDE_START && i <= POOBEDE_END)
- {
- m += INTERVAL_NORMAL + (cStanici * DELTA) - INTERVAL_POOBEDE;
- if(m < 60 && sHod == i && sMin < m)
- {
- sminuty = m;
- }
- }
- else
- {
- m += INTERVAL_NORMAL + (cStanici * DELTA);
- if(m < 60 && sHod == i && sMin < m)
- {
- sminuty = m;
- }
- }
- }
- //printf("\n");
- }
- printf("Tvoj najblizi spoj je o %d hodin a %d minut", sHod, sminuty);
- }
Advertisement
Add Comment
Please, Sign In to add comment