Advertisement
Guest User

Untitled

a guest
Jun 29th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.98 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #define MAX 5
  4.  
  5. int main()
  6. {
  7.     FILE *file;
  8.     file = fopen("test","wb");
  9.     for(int i = 0; i<MAX; i++)
  10.       {
  11.         int b = i+3*i;
  12.         fwrite(&b,sizeof(int),1,file);
  13.        }
  14.     fclose(file);
  15.     int n = 0;
  16.     file = fopen("test","rb");
  17.     puts("Текущее содержимое файла:");
  18.     while(!feof(file))
  19.     {
  20.         int b;
  21.         fread(&b,sizeof(int),1,file);
  22.         if(!feof(file))
  23.             {
  24.                 printf("%d ",b);
  25.                 n++;
  26.             }
  27.     }
  28.     puts("");
  29.     fclose(file);
  30.     while(true)
  31.     {
  32.         printf("Добваить число в файл?(1/0): ");
  33.         int choise;
  34.         scanf("%d",&choise);
  35.         if(choise)
  36.         {
  37.             int add;
  38.             printf("Введите число: ");
  39.             fflush(stdin);
  40.             scanf("%d",&add);
  41.             file = fopen("test","ab+");
  42.             n++;
  43.             fwrite(&add,sizeof(int),1,file);
  44.             fclose(file);
  45.             file = fopen("test","rb+");
  46.             int temp,i = 0;
  47.             do
  48.             {
  49.                 fread(&temp,sizeof(int),1,file);
  50.                 if(add>temp) i++;
  51.             }while(add>temp && (!feof(file)));
  52.             int j = n-2, s_temp;
  53.             while(j>=i)
  54.             {
  55.                 fseek(file,sizeof(int)*j,SEEK_SET);
  56.                 fread(&temp,sizeof(int),1,file);
  57.                 fread(&s_temp,sizeof(int),1,file);
  58.                 fseek(file,sizeof(int)*j,SEEK_SET);
  59.                 fwrite(&s_temp,sizeof(int),1,file);
  60.                 fwrite(&temp,sizeof(int),1,file);
  61.                 j--;
  62.             }
  63.             fclose(file);
  64.         }
  65.         else break;
  66.     }
  67.     file = fopen("test","rb");
  68.     while(!feof(file))
  69.     {
  70.         int b;
  71.         fread(&b,sizeof(int),1,file);
  72.         if(!feof(file))
  73.             {
  74.                 printf("%d ",b);
  75.             }
  76.     }
  77.     fclose(file);
  78.     puts("");
  79.     return 0;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement