Witam, na wykładach otrzymalismy zadanie, by stworzyć program symulację rozkładu pkp, który do działania bedzie wykorzystywać plik zewnętrrzny txt, zawierajacy ID;Trase;Typ;GodzPrzyj;CzasPostoju;DocelPeron;
4;WAW-KRK;ex;83.1;6.2;3
6;WRO-KRK;po;24.5;8.4;2
7;LOD-WRO;os;25.0;8.9;1
22;KAT-POZ;ic;21.0;1.9;1
Jestem w fazie początkowej, Moj schemat działania wyglada nastepujaco. Według załozeń, program odczytuje dane z pliku i zapisuje je do zmiennych, a następnie ładuje do struktury, dla kazdego pociągu przypisuje trase,id,god przyj etc.
Później na ekranie ma zostać wyświetlony w trybie tekstowym cos w stylu:
[Nadjezdzajace pociagi]
[oczekujace na ]
[Zwolnienie peronu ]
Wjazd: [Pociag aktualnie wjezdzajacy na stacje]
Peron1: [Pociag znajdujacy sie na peronie I]
Peron2: [Pociag znajdujacy sie na peronie 2]
Peron3: [Pociag znajdujacy sie na peronie 3]
Wyjazd: [Pociag który odzcekał swoj czas w jednostce symulacji]
AKtualnie jestem w fazie układania pliku txt do zmiennych, I jakiejś sensownej alokacji w pamieci (z tym juz jest probem).
Poniżej moje wypociny.
#include <stdio.h>
#include <stdio.h>
typedef struct {
int ID;
char Pociag[20];
char Typ[4];
float Przyjazd;
float Postoj;
int Peron;
} rozklad;
int main()
{
int i;
const int max_n= 150;
const int linie= 5;
char napis[max_n], *result;
FILE * fp;
fp = fopen("txt.txt", "r");
i=0;
int ID;
char Pociag[20];
char Typ[4];
float Przyjazd;
float Postoj;
int Peron;
rozklad p[50];
char* Pociag_wskaznik;
char* Typ_wskaznik;
Pociag_wskaznik = p[i].Pociag;
Typ_wskaznik = p[i].Typ;
//22;KAT-POZ;ic;21.0;1.9;1
while (feof(fp) == 0 )
{
result = fgets (napis, max_n, fp);
sscanf(napis,"%d%*[;]%7s;%2s;%4f;%3f%;%d",&ID, Pociag,Typ,&Przyjazd, &Postoj, &Peron);
p[i].ID = ID;
Pociag_wskaznik = Pociag;
Typ_wskaznik = Typ;
p[i].Przyjazd = Przyjazd;
p[i].Postoj = Postoj;
p[i].Peron = Peron;
if (feof(fp)==0)
printf ("%d\t%s\tid: %d pociag: %s typ: %s Przyjazd: %3.1f Postoj: %1.1f Peron: %d\n\n",
i++, napis, p[i].ID, Pociag_wskaznik, Typ_wskaznik, p[i].Przyjazd,p[i].Postoj,p[i].Peron);
}
while (1){
scanf("%d",&i);
Pociag_wskaznik = p[i].Pociag;
Typ_wskaznik = p[i].Typ;
printf("ID: %d Trasa: %s \n", p[i].ID,p[i].Pociag , Typ_wskaznik, p[i].Przyjazd,p[i].Postoj,p[i].Peron);
}
fclose(fp);
char *ii;
scanf(ii);
return 0;
}
while (1){
scanf("%d",&i);
Pociag_wskaznik = p[i].Pociag;
Typ_wskaznik = p[i].Typ;
printf("ID: %d Trasa: %s \n", p[i].ID,p[i].Pociag , Typ_wskaznik, p[i].Przyjazd,p[i].Postoj,p[i].Peron);
}
Tą część wrzuciłem jako pomoc, do sprawdzenia czy aby na pewno wszystko jest dobrze zapisane do struktury, a tu psikus! Jak zapisać tablice z tekstem do struktury?