Advertisement
RiQ363

10

Jan 19th, 2012
38
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.81 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<math.h>
  4. #include<string.h>
  5. #define BASE "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  6. struct Rec1
  7. {
  8. long nomer;
  9. long a;
  10. unsigned char basis;
  11. };
  12. struct Rec2
  13. {
  14. long nomer;
  15. char Rez[100];
  16. };
  17. void Itoa(long a, long p, char *s)
  18. {
  19. int i,j,buf;
  20. i=0;
  21. do
  22. {
  23. s[i]=BASE[a%p];
  24. i++;
  25. a/=p;
  26. }
  27. while(a);
  28. s[i]='\0';
  29. j=i-1;
  30. i=0;
  31. while(i<j)
  32. {
  33. buf=s[i];
  34. s[i]=s[j];
  35. s[j]=buf;
  36. i++;
  37. j--;
  38. }
  39. }
  40. int Createfile(char *Fin)
  41. {
  42. FILE *f;
  43. struct Rec1 rec1;
  44. if((f=fopen(Fin,"wb"))==NULL)
  45. return 1;
  46. printf("nomer:");
  47. scanf("%i",&rec1.nomer);
  48. while(rec1.nomer!=0)
  49. {
  50. printf("chislo:");
  51. scanf("%i",&rec1.a);
  52. printf("sistema:");
  53. scanf("%i",&rec1.basis);
  54. fwrite(&rec1,sizeof(rec1),1,f);
  55. printf("nomer:");
  56. scanf("%i",&rec1.nomer);
  57. }
  58. fclose(f);
  59. return 0;
  60. }
  61.  
  62. int Readfile2(char *Fin)
  63. {
  64. FILE *f;
  65. struct Rec1 rec1;
  66. if((f=fopen(Fin,"rb"))==NULL)
  67. return 1;
  68. while(fread(&rec1,sizeof(rec1),1,f))
  69. {
  70. printf("%i:",rec1.nomer);
  71. printf("%i-->",rec1.a);
  72. printf("%i\n",rec1.basis);
  73. }
  74. fclose(f);
  75. return 0;
  76. }
  77.  
  78. int Readfile(char *Fin, char *Fout)
  79. {
  80. FILE *f,*g;
  81. long a,p;
  82. char s[50]={0};
  83. struct Rec1 rec1;
  84. struct Rec2 rec2;
  85. if((f=fopen(Fin,"rb"))==NULL)
  86. return 1;
  87. g=fopen(Fout,"wb");
  88. while(fread(&rec1,sizeof(rec1),1,f))
  89. {
  90. rec2.nomer=rec1.nomer;
  91. a=rec1.a;
  92. p=rec1.basis;
  93. Itoa (a,p,s);
  94. strcpy(rec2.Rez,s);
  95. fwrite(&rec2,sizeof(rec2),1,g);
  96. }
  97. fclose(f);
  98. fclose(g);
  99. return 0;
  100. }
  101. int Readfile3(char *Fout)
  102. {
  103. FILE *f;
  104. struct Rec2 rec2;
  105. if((f=fopen(Fout,"rb"))==NULL)
  106. return 1;
  107. while(fread(&rec2,sizeof(rec2),1,f))
  108. {
  109. printf("%i-->",rec2.nomer);
  110. printf("%s\n",rec2.Rez);
  111. getch();
  112. }
  113. fclose(f);
  114. return 0;
  115. }
  116. int main()
  117. {
  118. char *Fin="G:\\Fin.data";
  119. char *Fout="G:\\Fout.data";
  120. Createfile(Fin);
  121. Readfile2(Fin);
  122. Readfile(Fin,Fout);
  123. Readfile3(Fout);
  124. getch();
  125. return 0;
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement