Guest User

Untitled

a guest
Aug 21st, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.40 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define N 10
  4. //Operacje na plikach
  5. int main(void) {
  6.  
  7.     float A[N], liczba;
  8.     int i;
  9.     char c;
  10.     FILE *txt, *bin;
  11.  
  12.     //zadanie 5
  13.     printf("Zad 5.  Wylosowac wartosci i utworzyc pliki? t/n ");
  14.     scanf(" %c", &c);
  15.     if(c=='t') {
  16.         srand(time(NULL));
  17.         for(i=0;i<N;i++)
  18.             A[i]=rand()/1000.0;
  19.  
  20.         txt = fopen("tekst.txt", "w");
  21.         bin = fopen("tekst.dat", "wb");
  22.         if(!txt) {printf("Txt error\n"); exit(-1); }
  23.         if(!bin) {printf("Bin error\n"); exit(-1); }
  24.  
  25.         for(i=0;i<N;i++) {
  26.             fprintf(txt,"%f\n",A[i]);
  27.             fwrite(A+i,sizeof(*A),1,bin);
  28.         }
  29.         printf("Utworzono pliki\n");
  30.         fclose(txt);
  31.         fclose(bin);
  32.     }
  33.  
  34.     //zadanie 5a
  35.     printf("Zad 5a. Wyswietlic wartosci? t/n ");
  36.     scanf(" %c", &c);
  37.     if(c=='t') {
  38.         bin = fopen("tekst.dat", "rb");
  39.         if(!bin) {printf("Bin error\n"); exit(-1); }
  40.         printf("i\tWartosc\n");
  41.         for(i=0;i<N;i++) {
  42.             fread(&liczba,sizeof(liczba),1,bin);
  43.             printf("%d \t%f\n",i,liczba);
  44.         }
  45.         fseek(bin,0,SEEK_END);
  46.         printf("\nRozmiar pliku: %d bajtow\n\n",ftell(bin));
  47.         fclose(bin);
  48.     }
  49.  
  50.     //zadanie 5b
  51.     printf("Zad 5b. Wyzerowac wartosci indeksow podzielnych przez 3? t/n ");
  52.     scanf(" %c", &c);
  53.     if(c=='t') {
  54.         bin = fopen("tekst.dat", "r+b");
  55.         if(!bin) {printf("Bin error\n"); exit(-1); }
  56.  
  57.         for(i=0;i<N;i+=3){
  58.             float k=0.0;
  59.             fseek(bin,i*sizeof(float),0);
  60.             fwrite(&k,sizeof(k),1,bin);
  61.         }
  62.         fclose(bin);
  63.     }
  64.     return 0;
  65. }
Add Comment
Please, Sign In to add comment