Struktura autobuska stanica

Zadatak: Napisati program za uređivanje i pretraživanje niza autobuskih stanica koristeći strukture Tacka i AutobuskaStanica. Struktura AutobuskaStanica se sastoji od tri polja: promeljive koja predstavlja strukturu Tacka, naziva stanice i rastojanja do centra grada (koordinate su:0,0). Tacka je struktura koja se sastoji od dva polja a to su X i Y kordinate koji su promenljive realnog tipa, naziv stanice je promenljiva tipa string od maksimalno 50 karaktera i rastojanje je promenljiva realnog tipa. Program treba da sadrži sledeće opcije: 1) Unos niza autobuskih stanica(rastojanje se ne unosi nego se izračunava) 2) Sortiranje niza stanica rastućem redosledu na osnovu naziva stanice metodom umetanja 3) Sortiranje niza stanica u opadajućem redosledu na osnovu rastojanja od centra metodom izbora 4) Binarano pretraživanje niza stanica na osnovu naziva (u slučaju da niz nije sortiran o tome obavestiti korisnika) 5) Sekvencijalno pretraživanje niza autobuskih stanica na osnovu rastojanja od centra 6) Kraj programa.
Niz stanica definisati preko dinamičkog niza.
U opciji pod 1 omogućiti unos novih stanica (stare se brišu)

U opciji pod dva i tri prvo treba ispisati početni niz pa onda uređen niz. U opciji pod 5) ukoliko je niz uređen po opadajućem redosledu obaviti pretragu koristeći sekvencijalno pretraživanje za uređeni niz, ukoliko nije uređen u opadajućem redosledu obaviti sekvencijalno pretraživanje za neuređene nizove. Korisnik za pretragu unosi ceo broj. Pretraga zadovoljava uslove ukoliko se rastojanje za manje od jedan razlikuje od tražene vrednosti. (Primer: Ako je korisnik uneo 36 rastojanje r može da bude u opseug (36>r-1 i 36<r+1))Obavezno pre pretraživanja prvo prikazati niz.
Napraviti projekat koji će da sadrži sledeće .c fajlove 1) umetanjeR.c – u njemu će se naći definicija funkcije za sortiranje niza u opadajućem redosledu metodom umetanja na osnovu naziva: 2) izborO.c – u njemu će se naći definicija funkcije za sortiranje niza u rastućem redosledu metodom izbora na osnovu rastojanja od centra 3) binR.c - u njemu će se naći definicija funkcije za binarno pretraživanje niza uređenog rastuće na osnovu naziva 4) sekN.c - u njemu će se naći definicija funkcije za sekvencijalno pretraživanje neuređenog niza na osnovu rastojanja od centra    5) sekO.c -– u njemu će se naći definicija funkcije za sekvencijalno pretraživanje u opadajućem redosledu na osnovu rastojanja od centra. 6) glavni.c – u njemu će se naći definicija funkcije main.

 

Projekat treba da sadrži header fajl autobuska.h u kojem će se naći prototipovi gore navedenih funkcija funkcija i podatak.h gde će se nalaziti definicija novih tipova podataka.
U okviru fajla glavni.c treba da se nalaze tri pomoćne funkcije: 1) Za unos niza stanica 2) Za ispis niza stanica 3) Osnovni meni za odabir željene opcije
Napraviti zaštitu ukoliko je niz stanica prazan!!!

printf("Program za uredjivanj pretrazivanje niza autobuskih stanica");
printf("\n1) Unos niza autobuskih stanica ");
printf("\n2) Sortiranje po nazivu u rastucem redosledu metodom umetanja");
printf("\n3) Sortiranje na osnovu rastojanja u opadajucem redosledu metodom izbora");
printf("\n4) Binarno pretrazivanje niza na osnovu naziva stnica");
printf("\n5) Sekvencijalno pretrazivanje niza na osnovu rastojanja od centra");
printf("\n6) Kraj programa");
printf("\nIzaberite opciju:");
Made with Slides.com