Advertisement
Guest User

Untitled

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