Initializacia

This commit is contained in:
Anton 2024-11-18 18:12:47 +01:00
parent 57490613d2
commit cc577a088c
4 changed files with 45 additions and 32 deletions

Binary file not shown.

View File

@ -1,41 +1,54 @@
#include "a_station.h"
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <string.h>
#define MAX_INPUT 100
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");
}
// Pre overenie ci to ide v poriadku
void test_station(struct station* station) {
const char* stations[] = {"Presov","Kosice","Banska Bystrica","Banska Stiavnica","Povazska Bystrica","Snina","Humenne","Bratislava","Pezinok","Skalica","Ruzomberok","Bidovce","Michalovce","Poprad","Krompachy","Smizany","Vajkovce","Budimir","Modra","Myslava","Roznava","Gemerska Poloma","Stratena","Dobsina","Michalany","Kostolany"};
int size=26;
for (int i = 0; i < 50; i++){
int s = rand() % size;
int c = rand() % 20;
printf("%s %d\n",stations[s],c);
add_target_capacity(station,stations[s],c);
print_station(station);
char station_name[MAX_INPUT];
int capacity;
printf("Enter station name and capacity (or 'exit' to stop):\n");
while (1) {
printf("Station name: ");
if (!fgets(station_name, MAX_INPUT, stdin)) break;
// Remove trailing newline
station_name[strcspn(station_name, "\n")] = '\0';
if (strcmp(station_name, "exit") == 0) break;
printf("Capacity: ");
if (scanf("%d", &capacity) != 1) {
printf("Invalid input. Try again.\n");
while (getchar() != '\n'); // Clear input buffer
continue;
}
// Clear input buffer
while (getchar() != '\n');
add_target_capacity(station, station_name, capacity);
int track = select_track(station, station_name);
printf("Track for %s: %d\n", station_name, track);
int current_capacity = get_target_capacity(station, station_name);
printf("Current capacity to %s: %d\n\n", station_name, current_capacity);
}
printf("Final Statistics:\n");
printf("Total number of targets: %d\n", count_targets(station));
printf("Total capacity: %d\n", count_capacity(station));
}
int main() {
srand(time(NULL));
struct station* station = create_station();
test_station(station);
destroy_station(station);
return 0;
}

Binary file not shown.

Binary file not shown.