Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<conio.h>
- #include<math.h>
- #include<string.h>
- #define BASE "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- struct Rec1
- {
- long nomer;
- long a;
- unsigned char basis;
- };
- struct Rec2
- {
- long nomer;
- char Rez[100];
- };
- void Itoa(long a, long p, char *s)
- {
- int i,j,buf;
- i=0;
- do
- {
- s[i]=BASE[a%p];
- i++;
- a/=p;
- }
- while(a);
- s[i]='\0';
- j=i-1;
- i=0;
- while(i<j)
- {
- buf=s[i];
- s[i]=s[j];
- s[j]=buf;
- i++;
- j--;
- }
- }
- int Createfile(char *Fin)
- {
- FILE *f;
- struct Rec1 rec1;
- if((f=fopen(Fin,"wb"))==NULL)
- return 1;
- printf("nomer:");
- scanf("%i",&rec1.nomer);
- while(rec1.nomer!=0)
- {
- printf("chislo:");
- scanf("%i",&rec1.a);
- printf("sistema:");
- scanf("%i",&rec1.basis);
- fwrite(&rec1,sizeof(rec1),1,f);
- printf("nomer:");
- scanf("%i",&rec1.nomer);
- }
- fclose(f);
- return 0;
- }
- int Readfile2(char *Fin)
- {
- FILE *f;
- struct Rec1 rec1;
- if((f=fopen(Fin,"rb"))==NULL)
- return 1;
- while(fread(&rec1,sizeof(rec1),1,f))
- {
- printf("%i:",rec1.nomer);
- printf("%i-->",rec1.a);
- printf("%i\n",rec1.basis);
- }
- fclose(f);
- return 0;
- }
- int Readfile(char *Fin, char *Fout)
- {
- FILE *f,*g;
- long a,p;
- char s[50]={0};
- struct Rec1 rec1;
- struct Rec2 rec2;
- if((f=fopen(Fin,"rb"))==NULL)
- return 1;
- g=fopen(Fout,"wb");
- while(fread(&rec1,sizeof(rec1),1,f))
- {
- rec2.nomer=rec1.nomer;
- a=rec1.a;
- p=rec1.basis;
- Itoa (a,p,s);
- strcpy(rec2.Rez,s);
- fwrite(&rec2,sizeof(rec2),1,g);
- }
- fclose(f);
- fclose(g);
- return 0;
- }
- int Readfile3(char *Fout)
- {
- FILE *f;
- struct Rec2 rec2;
- if((f=fopen(Fout,"rb"))==NULL)
- return 1;
- while(fread(&rec2,sizeof(rec2),1,f))
- {
- printf("%i-->",rec2.nomer);
- printf("%s\n",rec2.Rez);
- getch();
- }
- fclose(f);
- return 0;
- }
- int main()
- {
- char *Fin="G:\\Fin.data";
- char *Fout="G:\\Fout.data";
- Createfile(Fin);
- Readfile2(Fin);
- Readfile(Fin,Fout);
- Readfile3(Fout);
- getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement