Advertisement
Underhing

РАБОЧАЯ СУЧКА! ЯВУ 12 (1)

May 13th, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 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. printf("Введите номер поезда для просмотра информации (0-9)");
  55. scanf("%d",&p);
  56.  
  57. fseek(fp,(p-1)*sizeof(train),SEEK_CUR);
  58. fread(&b,sizeof(train),1,fp);
  59.  
  60. if(t==1)
  61. {
  62. printf("Информация о поезде:\n%s",b.name);
  63. }
  64. if(t==2)
  65. {
  66. printf("Информация о поезде:\t%s",b.time);
  67. }
  68. if(t==3)
  69. {
  70. printf("Информация о поезде:\t%u\n",b.num);
  71. }
  72.  
  73. free(x);
  74. fclose(fp);
  75. return 0;
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement