Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <iostream>
  3. #include <string.h>
  4. #include <iostream>
  5.  
  6. struct zitel
  7. {
  8. char F[15],I[15],O[15],
  9. cite[15],
  10. street[15];
  11. int dom,
  12. kvartira;
  13. };
  14.  
  15. int main()
  16. {
  17. setlocale(LC_ALL,"Russian");
  18. int n=0,i,j,k,t;
  19. char g[15],u[15],s[15];
  20. zitel *mas , y;
  21. FILE *a=fopen("Список.txt","r");
  22. if(a==NULL)
  23. {
  24. printf("Такого файла нет!!!\n");
  25. return 0;
  26. }
  27. fscanf(a,"%d",&t);
  28. mas=new zitel[t];
  29. FILE *N=fopen("Новый.dat","wb");
  30. while(!feof(a))
  31. {
  32. fscanf(a,"%s",&mas[n].F);
  33. fscanf(a,"%s",&mas[n].I);
  34. fscanf(a,"%s",&mas[n].O);
  35. fscanf(a,"%s",&mas[n].cite);
  36. fscanf(a,"%s",&mas[n].street);
  37. fscanf(a,"%d",&mas[n].dom);
  38. fscanf(a,"%d",&mas[n].kvartira);
  39. n++;
  40. }
  41. fwrite(&mas[0],sizeof(zitel),n,N);
  42.  
  43. printf("Введите город и улицу: ");
  44. scanf("%s %s",&g,&u);
  45. bool f=false;
  46. for(i=0;i<t;i++)
  47. if(strcmp(mas[i].cite,g)==0 && strcmp(mas[i].street,u)==0)
  48. {
  49. f=true;
  50. printf("фамилия: %s\n", mas[i].F);
  51. printf("имя: %s\n", mas[i].I);
  52. printf("отчевство: %s\n", mas[i].O);
  53. printf("город: %s\n",mas[i].cite);
  54. printf("улица: %s\n", mas[i].street);
  55. printf("дом: %d\n", mas[i].dom);
  56. printf("квартира: %d\n", mas[i].kvartira);}
  57. if (!f) printf("таких нет!");
  58.  
  59. delete[]mas;
  60. fclose(N);
  61. N=fopen("Новый.dat","rb");
  62. mas=new zitel[t];
  63. fread (&mas[0],sizeof(zitel),t,N);
  64. fclose(N);
  65. for(i=0;i<t;i++)
  66. {
  67. k=i;
  68. for(j=i+1;j<t;j++)
  69. if(strcmp(mas[k].F, mas[j].F)>0)
  70. k = j;
  71. y = mas[k];
  72. mas[k] = mas[i];
  73. mas[i] = y;
  74. }
  75. printf("\n\n\t\t\t отсортированный список\n");
  76. for(i=0;i<t;i++)
  77. {
  78. printf("фамилия: %s\n", mas[i].F);
  79. printf("имя: %s\n", mas[i].I);
  80. printf("отчевство: %s\n", mas[i].O);
  81. printf("город: %s\n", mas[i].cite);
  82. printf("улица: %s\n", mas[i].street);
  83. printf("дом: %d\n", mas[i].dom);
  84. printf("квартира: %d\n", mas[i].kvartira);}
  85. N=fopen("Новый.dat","wb");
  86. fwrite(&mas[0],sizeof(zitel),t,N);
  87. fclose(a);
  88. delete[]mas;
  89. fclose(N);
  90. return 0;
  91.  
  92.  
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement