Advertisement
Underhing

ТАКАЯ СЕБЕ СУЧКА! ЯВУ 12 (2)

May 13th, 2019
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #define M 10
  5. #define N 33
  6.  
  7. struct train
  8. {
  9. //char a[N];
  10. char name[N];//пункт назначения
  11. char time[N];//время
  12. unsigned int num;//номер
  13. };
  14. typedef struct train train;
  15.  
  16. int main()
  17. {
  18. train *x,b;
  19. FILE *file;
  20. FILE *fp;
  21.  
  22. int p,t;
  23. int m=10;
  24. int i=0,f=0;
  25. char limit [N];
  26.  
  27. x=(train*)malloc(M*sizeof(train));
  28.  
  29. file=fopen("train.txt","r");
  30.  
  31. while ((fscanf(file,"%s%s%d",x[i].name,x[i].time,&x[i].num))!= EOF)
  32. {
  33. printf("%s\t %s\t%d\n",x[i].name,x[i].time,x[i].num);
  34. i++;
  35. }
  36.  
  37. fclose(file);
  38. fp=fopen("train.dat","wb");
  39. fwrite(&m,sizeof(int),1,fp);
  40.  
  41. for(i=0;i<M;i++)
  42. {
  43. fwrite(&x[i],sizeof(train),1,fp);
  44. }
  45.  
  46. fclose(fp);
  47.  
  48. fp=fopen("train.dat","rb");
  49. fread(&m,sizeof(int),1,fp);
  50.  
  51. //////////////////Часть для поиска номеров поезда//////////////////////
  52. printf("Какое поле показать? \n1-Пункт, 2-Время, 3-Номер");
  53. scanf("%d",&t);
  54.  
  55. fseek(fp,(p-1)*sizeof(train),SEEK_CUR);
  56. fread(&b,sizeof(train),1,fp);
  57.  
  58. if(t==1)
  59. {
  60. for(i=0;i<M;i++)
  61. {
  62. printf("Информация о поезде:\n%s\n",x[i].name);
  63. }
  64. }
  65. if(t==2)
  66. {
  67. for(i=0;i<M;i++)
  68. {
  69. printf("Информация о поезде:\t%s\n",x[i].time);
  70. }
  71. }
  72. if(t==3)
  73. {
  74. for(i=0;i<M;i++)
  75. {
  76. printf("Информация о поезде:\t%u\n",x[i].num);
  77. }
  78. }
  79.  
  80. free(x);
  81. fclose(fp);
  82. return 0;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement