Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * main.c
- *
- * Created on: 31-05-2015
- * Author: Piotrek
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- /*
- * TO SA FUNKCJE KRZYSKA, PRZEKLAIŁEM JE ZEBY DZIALALO
- * TU NIC NIE ZMIENIAJ AŻ DO NAPISU: "TUTAJ SIE ZACZYNAJA TWOJE FUNKCJE"
- * */
- struct flight{
- char flight_id[20];
- char flight_from[50];
- char flight_to[50];
- char flight_start_date[11];
- char flight_start_time[6];
- char flight_finish_date[11];
- char flight_finish_time[6];
- char flight_max_seats[20];
- //char flight_status[20];
- //char test[255];
- } Tab[200];
- int number_of_flights;
- void loadDataFromFile()
- {
- number_of_flights=0;
- int i;
- static const char filename[] = "flights_db.txt";
- FILE *file = fopen ( filename, "r" );
- if ( file != NULL )
- {
- for(i=0; i<200; ++i)
- {
- if (fscanf(file, "%[^;;];;%[^;;];;%[^;;];;%[^;;];;%[^;;];;%[^;;];;%[^;;];;%s\n",
- Tab[i].flight_id,
- Tab[i].flight_from,
- Tab[i].flight_to,
- Tab[i].flight_start_date,
- Tab[i].flight_start_time,
- Tab[i].flight_finish_date,
- Tab[i].flight_finish_time,
- Tab[i].flight_max_seats) <=0)
- break;
- ++number_of_flights;
- }
- fclose ( file );
- }
- else
- {
- perror ( filename ); /* why didn't the file open? */
- }
- }
- void printFlight(int struct_id)
- {
- printf("Lot nr %s z %s do %s.\n", Tab[struct_id].flight_id, Tab[struct_id].flight_from, Tab[struct_id].flight_to);
- printf("Odlot z %s w dniu %s o godz. %s\n", Tab[struct_id].flight_from, Tab[struct_id].flight_start_date, Tab[struct_id].flight_start_time);
- printf("Przylot do %s w dniu %s o godz. %s\n", Tab[struct_id].flight_to, Tab[struct_id].flight_finish_date, Tab[struct_id].flight_finish_time);
- printf("Maksymalna liczba miejsc: %s\n\n", Tab[struct_id].flight_max_seats);
- }
- void printAllFlights()
- {
- int i;
- for(i=0; i<number_of_flights; ++i)
- {
- printFlight(i);
- }
- }
- /*
- * TUTAJ SIE ZACZYNAJA TWOJE FUNKCJE
- * */
- void save_flight_structure_to_file() {
- // zapis tablicy Tab do pliku
- // pętla po wszystkich elementach identycznie jak w funkcji find_flight_by_id()
- // i w każdym obiegu zapis linijki do pliku
- }
- int find_flight_by_id(char* id) { // zwraca indeks tablicy, w ktorym znajduje sie szukany rekord
- int i;
- for(i=0; i<number_of_flights; ++i)
- {
- if (strcmp(id, Tab[i].flight_id) ==0) //strings match
- {
- return i;
- }
- }
- return -1;
- }
- int main(void)
- {
- loadDataFromFile(); // funkcja Krzyska, laduje z pliku do tablicy wszystkie loty
- printAllFlights(); // funkcja Krzyska, wyswietla wczytana tablice z lotami
- char id[20] = "6"; // id rekordu, który chcemy usunąć albo wyedytować
- int index = find_flight_by_id(id);
- printf("%d", index); // to nam wywietli indeks tablicy Tab, w którym znajduje się ten rekord
- // mozna się teraz do niego dostać :
- // Tab[index].flight_id
- // Tab[index].flight_date
- // itd..
- // można w ten sposób podmienić wartoci tych pol
- // jesli zas bedzie usuwanie, to mozna wszystkie pola tego elementu wykasować
- // zrobić puste, podstawiając = "" dla każdego pola
- // natomiast w funkcji save_flight_structure_to_file()
- // sprawdzać w tej pętli czy biezacy element nie jest pusty
- // i jesli tak - nie zapisywac go do pliku
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement