Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define M 10
- #define N 33
- struct train
- {
- //char a[N];
- char name[N];//пункт назначения
- char time[N];//время
- unsigned int num;//номер
- };
- typedef struct train train;
- int main()
- {
- train *x,b;
- FILE *file;
- FILE *fp;
- int p,t;
- int m=10;
- int i=0,f=0;
- char limit [N];
- x=(train*)malloc(M*sizeof(train));
- file=fopen("train.txt","r");
- while ((fscanf(file,"%s%s%d",x[i].name,x[i].time,&x[i].num))!= EOF)
- {
- printf("%s\t %s\t%d\n",x[i].name,x[i].time,x[i].num);
- i++;
- }
- fclose(file);
- fp=fopen("train.dat","wb");
- fwrite(&m,sizeof(int),1,fp);
- for(i=0;i<M;i++)
- {
- fwrite(&x[i],sizeof(train),1,fp);
- }
- fclose(fp);
- fp=fopen("train.dat","rb");
- fread(&m,sizeof(int),1,fp);
- //////////////////Часть для поиска номеров поезда//////////////////////
- printf("Какое поле показать? \n1-Пункт, 2-Время, 3-Номер");
- scanf("%d",&t);
- fseek(fp,(p-1)*sizeof(train),SEEK_CUR);
- fread(&b,sizeof(train),1,fp);
- if(t==1)
- {
- for(i=0;i<M;i++)
- {
- printf("Информация о поезде:\n%s\n",x[i].name);
- }
- }
- if(t==2)
- {
- for(i=0;i<M;i++)
- {
- printf("Информация о поезде:\t%s\n",x[i].time);
- }
- }
- if(t==3)
- {
- for(i=0;i<M;i++)
- {
- printf("Информация о поезде:\t%u\n",x[i].num);
- }
- }
- free(x);
- fclose(fp);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement