usaa20/cv6/main.c
Maryna Kravtsova 3bd0866264 main
2020-11-30 14:50:00 +01:00

103 lines
2.3 KiB
C

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include "a_station.h"
#define MAX 1000
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){
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);
}
}
fclose(fp);
}
int main(){
struct station* station = create_station();
//test_station(station);
printf("Zadajte stanicu na pridanie do zoznamu:\n");
char add[30];
fgets(add, 30, stdin);
add[strlen(add)-1] = '\0';
printf("Zadajte capacitu stanice:\n");
char cap[10];
fgets(cap,10,stdin);
cap[strlen(cap)-1] = '\0';
int n = atoi(cap);
add_target_capacity(station,add,n);
test_station(station);
printf("\n");
print_station(station);
printf("\n");
printf("Zadajte hľadanu stanicu:\n");
char find[30];
fgets(find,30,stdin);
find[strlen(find)-1] = '\0';
printf("Výsledný vlak bude:\n");
int s = get_target_capacity(station, find);
print_station(station);
if(s == 0){
printf("Neexistuje taka stanica\n");
}
else{
printf("Capacita na danej statice: %d\n", s);
}
destroy_station(station);
return 0;
}