2020-11-29 18:02:03 +00:00
|
|
|
#include <stdio.h>
|
|
|
|
#include <time.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <ctype.h>
|
|
|
|
#include <string.h>
|
|
|
|
#include "a_station.h"
|
|
|
|
|
2020-11-30 09:58:50 +00:00
|
|
|
#define MAX 1000
|
|
|
|
|
2020-11-29 18:02:03 +00:00
|
|
|
void print_station(struct station* station){
|
|
|
|
// Vypise celu stanicu
|
|
|
|
printf("station>>>\n");
|
|
|
|
// Prechadza vsetky trate
|
|
|
|
for (int i = 0 ; i< station->track_count; i++){
|
|
|
|
struct car* start = station->tracks[i];
|
|
|
|
struct car* this = start;
|
|
|
|
// Prechadza vsetky vozne
|
|
|
|
while(this != NULL){
|
|
|
|
printf("%s %d -> ",this->value,this->capacity);
|
|
|
|
this=this->next;
|
|
|
|
}
|
|
|
|
printf("NULL\n");
|
|
|
|
}
|
|
|
|
printf("<<<station\n");
|
|
|
|
}
|
|
|
|
|
|
|
|
void test_station(struct station* station){
|
2020-11-30 09:58:50 +00:00
|
|
|
FILE *fp = fopen("station.txt", "r");
|
|
|
|
if(fp == NULL){
|
|
|
|
printf("Nemozem najst stanice\n");
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
int i = 0;
|
|
|
|
while(1){
|
|
|
|
|
|
|
|
char s[30];
|
|
|
|
char *r = fgets(s, 30, fp);
|
|
|
|
s[strlen(s)-1] = '\0';
|
|
|
|
//printf("%s", car);
|
|
|
|
|
|
|
|
if(r == NULL){
|
|
|
|
if(feof(fp) != 0){
|
|
|
|
printf("End of file\n");
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
else{
|
|
|
|
printf("Error\n");
|
|
|
|
exit(0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
char pass[10];
|
|
|
|
if(!isdigit(s[i])){
|
|
|
|
fgets(pass, 10, fp);
|
|
|
|
pass[strlen(pass)-1] = '\0';
|
|
|
|
int num = atoi(pass);
|
|
|
|
add_target_capacity(station, s, num);
|
|
|
|
}
|
2020-11-29 18:02:03 +00:00
|
|
|
|
2020-11-30 09:58:50 +00:00
|
|
|
}
|
|
|
|
|
2020-11-29 18:02:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
int main(){
|
|
|
|
|
|
|
|
struct station* station = create_station();
|
|
|
|
test_station(station);
|
|
|
|
|
|
|
|
printf("Zadajte hľadanu stanicu:\n");
|
2020-11-30 09:58:50 +00:00
|
|
|
char find[30];
|
|
|
|
fgets(find,30,stdin);
|
|
|
|
find[strlen(find)-1] = '\0';
|
2020-11-29 18:02:03 +00:00
|
|
|
|
|
|
|
printf("Výsledný vlak bude:\n");
|
2020-11-30 09:58:50 +00:00
|
|
|
int s = get_target_capacity(station, find);
|
2020-11-29 18:02:03 +00:00
|
|
|
print_station(station);
|
2020-11-30 09:58:50 +00:00
|
|
|
if(s == 0){
|
|
|
|
printf("Neexistuje taka stanica\n");
|
|
|
|
}
|
|
|
|
else{
|
|
|
|
printf("Capacita na danej statice: %d\n", s);
|
|
|
|
}
|
2020-11-29 18:02:03 +00:00
|
|
|
destroy_station(station);
|
|
|
|
return 0;
|
|
|
|
}
|