Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.91 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5. char Menu(char NomeArquivo[]) // Função inicial que pega o nome do arquivo.
  6. {
  7. printf("Insira o nome do arquivo: "); // Pede o nome do arquivo.
  8. gets(NomeArquivo); // Armazena o nome do arquivo que o usuário digitou e armazena na string "NomeArquivo".
  9. system("cls"); // Limpa a tela.
  10. fflush(stdin); // Limpa o buffer do teclado.
  11.  
  12. return* NomeArquivo; // Retorna a string "NomeArquivo" como um ponteiro.
  13. }
  14.  
  15. void Verificar_dados(FILE *entrada,char NomeArquivo[])
  16. {
  17. entrada = fopen(NomeArquivo, "r");
  18. if (entrada == NULL)
  19. {
  20. printf("Arquivo invalido!\n\n");
  21. exit(0);
  22. }
  23. fclose(entrada);
  24. }
  25. void Ler_dados(FILE *entrada,char NomeArquivo[]) // Função que lê os dados do arquivo e passa pra matrizes.
  26. {
  27. FILE *entrada;
  28. entrada = fopen(NomeArquivo, "r");
  29. float taxa;
  30. int linhas, colunas;
  31.  
  32.  
  33. fscanf(entrada, "%f\n%d\n%d", &taxa, &linhas, &colunas); // Pega as três primeiras linhas do arquivo.
  34. //printf("%f\n%d\n%d\n", taxa, linhas, colunas);
  35.  
  36. float matriz_entrada_propinas[linhas][colunas];
  37. float matriz_entrada_parcelas[linhas][colunas];
  38. float matriz_saida_propinas[linhas][colunas];
  39. float soma_montante[linhas];
  40. float total_propina_empresa_sem_juros[colunas];
  41. float total_propina_empresa_com_juros[colunas];
  42. float soma_entrada_propinas_sem_juros[linhas];
  43. float soma_entrada_propinas_com_juros[linhas];
  44. int i, j, politico[linhas];
  45.  
  46. for(i = 0; i<linhas; i++)
  47. {
  48. fscanf(entrada,"%d\n",&politico[i]);
  49. for (j=0; j<colunas; j++)
  50. {
  51. fscanf(entrada,"%f",&matriz_entrada_propinas[i][j]); // Pega a matriz de entrada das propinas.
  52. //printf("%.2f ", matriz_entrada_propinas[i][j]);
  53. }
  54. }
  55.  
  56. for ( i = 0; i<linhas; i++)
  57. {
  58. for (j=0; j<colunas; j++)
  59. {
  60. fscanf(entrada,"%f",&matriz_entrada_parcelas[i][j]); // Pega a matriz de entrada das parcelas.
  61. //printf("%.2f ", matriz_entrada_parcelas[i][j]);
  62. }
  63. }
  64. // VALOR TOTAL DE PROPINAS (MONTANTE)
  65. for(i=0; i<linhas; i++)
  66. {
  67. soma_montante[i]=0;
  68. printf("%d ", politico[i]);
  69. for(j=0; j<colunas; j++)
  70. {
  71. matriz_saida_propinas[i][j] = matriz_entrada_propinas[i][j] * (pow(1+(taxa/100), matriz_entrada_parcelas[i][j]));
  72.  
  73. soma_montante[i] += matriz_saida_propinas[i][j];
  74. printf("%.2f ", matriz_saida_propinas[i][j]);
  75. }
  76. printf("%.2f", soma_montante[i]);
  77. printf("\n");
  78. }
  79. printf("\n");
  80.  
  81. // TOTAL DE PROPRINA (COM JUROS) PAGA POR EMPRESA
  82. for(j=0; j<colunas; j++)
  83. {
  84. for(i=0; i<linhas; i++)
  85. {
  86. total_propina_empresa_com_juros[j] += matriz_saida_propinas[i][j];
  87. }
  88. printf("%.2f ", total_propina_empresa_com_juros[j]);
  89. }
  90.  
  91. // TOTAL DE PROPINA (SEM JUROS) PAGA POR EMPRESA
  92. for(j=0; j<colunas; j++)
  93. {
  94. for(i=0; i<linhas; i++)
  95. {
  96. total_propina_empresa_sem_juros[j] += matriz_entrada_propinas[i][j];
  97. }
  98. }
  99. printf("\n");
  100.  
  101.  
  102. // TOTAL PROPINA POLITICOS
  103. for(i=0; i<linhas; i++)
  104. {
  105. //printf("%d ", politico[i]);
  106. for(j=0; j<colunas; j++)
  107. {
  108. soma_entrada_propinas_sem_juros[i] += matriz_entrada_propinas[i][j];
  109. }
  110. //printf("%.2f ", soma_entrada_propinas_sem_juros[i]); // 101090.00
  111.  
  112. }
  113. printf("\n");
  114. // 414215.34
  115. for(i=0; i<linhas; i++)
  116. {
  117. for (j=0; j<colunas; j++)
  118. {
  119. soma_entrada_propinas_com_juros[i]+= matriz_saida_propinas[i][j];
  120. }
  121. //printf("%.2f ", soma_entrada_propinas_com_juros[i]); // 414215.34
  122. }
  123.  
  124. // MAIOR PROPINA POLITICO
  125. int maior_propina= 0;
  126. float politico_propina_com_juros=0;
  127. float politico_propina_sem_juros=0;
  128.  
  129. for(i=0; i<linhas; i++)
  130. {
  131. if ( soma_entrada_propinas_sem_juros[i] >soma_entrada_propinas_sem_juros[maior_propina])
  132. {
  133. maior_propina = i;
  134. }
  135. }
  136. politico_propina_com_juros=soma_entrada_propinas_com_juros[maior_propina];
  137. politico_propina_sem_juros=soma_entrada_propinas_sem_juros[maior_propina];
  138.  
  139. printf("%d %.2f %.2f %.2f", politico[maior_propina],politico_propina_sem_juros, politico_propina_com_juros, politico_propina_com_juros- politico_propina_sem_juros);
  140. printf("\n\n");
  141.  
  142. // MENOR PROPINA POLITICO
  143. int menor_propina=0;
  144.  
  145. for(i=0; i<linhas; i++)
  146. {
  147. if ( soma_entrada_propinas_sem_juros[i] <soma_entrada_propinas_sem_juros[menor_propina])
  148. {
  149. menor_propina = i;
  150. }
  151. }
  152. politico_propina_com_juros=soma_entrada_propinas_com_juros[menor_propina];
  153. politico_propina_sem_juros=soma_entrada_propinas_sem_juros[menor_propina];
  154.  
  155. printf("%d %.2f %.2f %.2f", politico[menor_propina],politico_propina_sem_juros, politico_propina_com_juros, politico_propina_com_juros- politico_propina_sem_juros) ;
  156. printf("\n\n");
  157.  
  158. // MAIOR PROPINA EMPRESA
  159. float empresa_propina_com_juros=0;
  160. float empresa_propina_sem_juros=0;
  161.  
  162. for(i=0; i<colunas; i++)
  163. {
  164. if ( total_propina_empresa_com_juros[i] >total_propina_empresa_com_juros[maior_propina])
  165. {
  166. maior_propina = i;
  167. }
  168. }
  169. empresa_propina_com_juros=total_propina_empresa_com_juros[maior_propina];
  170. empresa_propina_sem_juros=total_propina_empresa_sem_juros[maior_propina];
  171.  
  172.  
  173. printf("%d %.2f %.2f %.2f", politico[maior_propina],empresa_propina_sem_juros, empresa_propina_com_juros, empresa_propina_com_juros- empresa_propina_sem_juros) ;
  174. printf("\n\n");
  175.  
  176. // MENOR PROPINA EMPRESA
  177.  
  178. for(i=0; i<colunas; i++)
  179. {
  180. if ( total_propina_empresa_com_juros[i] <total_propina_empresa_com_juros[menor_propina])
  181. {
  182. menor_propina = i;
  183. }
  184. }
  185. empresa_propina_com_juros=total_propina_empresa_com_juros[menor_propina];
  186. empresa_propina_sem_juros=total_propina_empresa_sem_juros[menor_propina];
  187.  
  188.  
  189. printf("%d %.2f %.2f %.2f", politico[menor_propina],empresa_propina_sem_juros, empresa_propina_com_juros, empresa_propina_com_juros- empresa_propina_sem_juros) ;
  190. printf("\n\n");
  191.  
  192. // MEDIA POLITICO
  193. for(i=0; i<linhas; i++)
  194. {
  195. printf("%d %.2f",politico[i],soma_entrada_propinas_com_juros[i] / linhas);
  196. printf("\n");
  197.  
  198. }
  199. printf("\n");
  200. // MEDIA EMPRESA
  201. for(i=0; i<colunas; i++)
  202. {
  203. printf("%d %.2f",politico[i], total_propina_empresa_com_juros[i] / linhas);
  204. printf("\n");
  205.  
  206. }
  207. fclose(entrada);
  208. }
  209.  
  210. int main()
  211. {
  212. char NomeArquivo[50];
  213. Menu(NomeArquivo);
  214. Verificar_dados(entrada,NomeArquivo);
  215. Ler_dados(entrada,NomeArquivo);
  216.  
  217. return 0;
  218. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement