Kimossab

Função 10 - Receita Do Imposto Que o Estado Arrecada

Dec 27th, 2013
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.34 KB | None | 0 0
  1. /*
  2.     Item de escolha 10.
  3.     Neste item é executada a opção 10 : Receita do imposto que o estado arrecada
  4. */
  5. #include <stdio.h>
  6.  
  7. float Imposto(int ano, int cil) // função secundária int paara retornar um inteiro
  8. {
  9.     //variável necessária para retornar
  10.     float imp;
  11.  
  12.     if(ano>1995)//se o ano for maior que 1995
  13.     {
  14.         //verificar em que categoria o carro se encontra e que valor de imposto será para esse carro
  15.         if(cil<=1000)
  16.             imp=17.64;
  17.         else if(cil>1000 && cil<=1300)
  18.             imp=35.41;
  19.         else if(cil>1300 && cil<=1750)
  20.             imp=55.31;
  21.         else if(cil>1750 && cil<=2600)
  22.             imp=140.34;
  23.         else if(cil>2600 && cil<=3500)
  24.             imp=254.85;
  25.         else if(cil>3500)
  26.             imp=454.06;
  27.     }
  28.     else if(ano>=1990 && ano<=1995)
  29.     {
  30.         if(cil<=1000)
  31.             imp=11.12;
  32.         else if(cil>1000 && cil<=1300)
  33.             imp=19.90;
  34.         else if(cil>1300 && cil<=1750)
  35.             imp=30.92;
  36.         else if(cil>1750 && cil<=2600)
  37.             imp=74.02;
  38.         else if(cil>2600 && cil<=3500)
  39.             imp=138.78;
  40.         else if(cil>3500)
  41.             imp=233.24;
  42.     }
  43.     else if(ano>=1981 && ano<=1989)
  44.     {
  45.         if(cil<=1000)
  46.             imp=7.81;
  47.         else if(cil>1000 && cil<=1300)
  48.             imp=11.12;
  49.         else if(cil>1300 && cil<=1750)
  50.             imp=15.51;
  51.         else if(cil>1750 && cil<=2600)
  52.             imp=31.99;
  53.         else if(cil>2600 && cil<=3500)
  54.             imp=70.67;
  55.         else if(cil>3500)
  56.             imp=107.17;
  57.     }
  58.     return imp; //retornar o valor do imposto a pagar por este carro
  59. }
  60.  
  61. void Escolha10()//função principal do itme
  62. {
  63.     //variáveis necessárias na função
  64.     char matricula[10], marca[15], modelo[25];
  65.     int ano, dono, cod, cilindrada;
  66.     float imposto=0;
  67.    
  68.     //variáveis de ficheiro e abertura destes
  69.     FILE *carros; FILE *historico;
  70.     carros = fopen("Carros.txt", "a+");
  71.     historico = fopen("Histórico.txt", "a+");
  72.  
  73.     while(!feof(carros))
  74.     {
  75.         //atribuição de valores às variáveis
  76.         fscanf(carros, "%s %s %s %d %d %d %d", matricula, marca, modelo, &ano, &dono, &cod, &cilindrada);
  77.         imposto+=Imposto(ano, cilindrada);//aumentar o valor total do imposto
  78.     }
  79.  
  80.     //mostragem de resultados e fim de função
  81.     printf("O total de imposto que o Estado ira receber e: %0.2f Euros\n", imposto);
  82.     printf("\n=========================================================\n\n");
  83.    
  84.     //escritura no ficheiro histórico a função executada e fechar ficheiros
  85.     fprintf(historico, "Receita total de imposto (%s as %s)\n", __DATE__, __TIME__);
  86.     fclose(carros);
  87.     fclose(historico);
  88. }
Advertisement
Add Comment
Please, Sign In to add comment