Advertisement
Guest User

Untitled

a guest
Sep 26th, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.00 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. #include<conio.h>
  5.  
  6. int main(){
  7. FILE *arq_exc2;
  8. FILE *arq_M;
  9. FILE *arq_F;
  10. int i,j, cont=1,tamanho,pos=43, tM, tF;
  11. char M[500], F[500]; //sexo = posição 31
  12. char aux[32], auxM[32], auxF[32];
  13. float a,b, aF, bF, aM, bM;
  14.  
  15. arq_exc2 = fopen("EXC2.txt", "a+");
  16. if(arq_exc2==NULL){
  17. printf("ERRO de abertura de arquivo\n");
  18. }
  19. else{
  20. strcpy(aux,"");
  21. strcpy(M,"");
  22. strcpy(F,"");
  23. while(fscanf(arq_exc2, " %s %f %f", &aux, &a, &b) != EOF){
  24. //printf("\n %s %f %f ", aux, a, b);
  25. if (aux[30] == 'M'){
  26. printf("\nMasculino");
  27. arq_M = fopen("arqM.txt", "a+b");
  28. fwrite(&aux, sizeof(char), 32,arq_M);
  29. fwrite(&a, sizeof(float), 1, arq_M);
  30. fwrite(&b, sizeof(float), 1, arq_M);
  31. fclose(arq_M);
  32.  
  33. }
  34. else if(aux[30] == 'F'){
  35. printf("\nFeminino");
  36. arq_F = fopen("arqF.txt", "a+b");
  37. fwrite(&aux, sizeof(char), 32,arq_F);
  38. fwrite(&a, sizeof(float), 1, arq_F);
  39. fwrite(&b, sizeof(float), 1, arq_F);
  40. fclose(arq_F);
  41.  
  42. }
  43. }
  44. //system("pause");
  45. //system("arqF.txt");
  46. //system("pause");
  47. //system("arqM.txt");
  48. system("pause");
  49. fclose(arq_exc2);
  50.  
  51. arq_M = fopen("arqM.txt", "rb");
  52. fread(&auxM, sizeof(char), 32,arq_M);
  53. fread(&aM, sizeof(float), 1,arq_M);
  54. fread(&bM, sizeof(float), 1,arq_M);
  55. fclose(arq_M);
  56. printf("\n%s\n", auxM);
  57. printf("%.3f\n", aM);
  58. printf("%.3f\n", bM);
  59. system("pause");
  60.  
  61. /* EXEMPLO DE FTELL
  62.  
  63. printf("\n byte = %d ", ftell(arq_exc2));
  64. char m[43];
  65.  
  66. fseek(arq_exc2, 0, SEEK_SET);
  67. fread(aux, sizeof(char), 43, arq_exc2);
  68. printf("\n M = %s \n", m);
  69. printf("\n byte = %d ", ftell(arq_exc2));
  70. system("pause");
  71. */
  72. //------------------------------------------------------------------------------------
  73. /*
  74. fread(aux, sizeof(char), 500,arq_exc2); //aqui copia todos os dados do arquivo para a string aux
  75. printf("%s", aux);
  76. fclose(arq_exc2);
  77. tamanho = strlen(aux);
  78. tamanho=tamanho/45;
  79. printf("\n\nTAMANHO %d\n", tamanho);
  80. if(aux[30]=='M'){
  81. for(j=0;j<43;j++){
  82. M[j]=aux[j];
  83. printf("%c", M[j]);
  84. }
  85. }
  86. else if(aux[30]=='F'){
  87. for(j=0;j<43;j++){
  88. F[j]=aux[j];
  89. printf("%c", F[j]);
  90. }
  91. }
  92. for(i=0;i<tamanho-1;i++){
  93. printf("\ni:%d\n", i);
  94. if(aux[pos+30]=='M'){
  95. printf("\npos M: %d\n", pos);
  96. for(j=pos;j<pos+43;j++){
  97. M[j]=aux[j];
  98. printf("%c", M[j]);
  99. }
  100. cont++;
  101. //pos=pos*cont;printf("M: %s", M); //aqui o M tem a primeira linha do sexo masculino
  102. printf("F: %s", F);
  103. printf("\npos M depois do cont: %d\n", pos);
  104. getch();
  105. }
  106. else if(aux[pos+30]=='F'){
  107. printf("\npos F: %d\n", pos);
  108. for(j=pos;j<pos+43;j++){
  109. F[j]=aux[j];
  110. printf("%c", F[j]);
  111. }
  112. cont++;
  113. pos=pos*cont; fclose(arq_exc2);
  114. printf("\npos F depois do cont: %d\n", pos);
  115. }
  116. }//fim do for que roda o tanto de linhas que tem -1
  117. tM = strlen(M);
  118. printf("\n\ntM: %d", tM);
  119. tF = strlen(F);
  120. printf("\ntF: %d", tF);
  121. printf("\n\n");
  122. printf("M: %s", M); //aqui o M tem a primeira linha do sexo masculino
  123. printf("F: %s", F);
  124. */
  125. }//fim do else se o arquivp abrir
  126.  
  127. //system("pause");
  128. //system("EXC2.txt");
  129. return 0;
  130. }
  131. //a parte de conferencia esta certa para a primeira linha, o M contem a primeira linha da string aux (que tem o conteudo do txt)
  132. //agora falta fazer para conferir a string aux toda e pegar todas as linhas do F e M
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement