Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Item de escolha 10.
- Neste item é executada a opção 10 : Receita do imposto que o estado arrecada
- */
- #include <stdio.h>
- float Imposto(int ano, int cil) // função secundária int paara retornar um inteiro
- {
- //variável necessária para retornar
- float imp;
- if(ano>1995)//se o ano for maior que 1995
- {
- //verificar em que categoria o carro se encontra e que valor de imposto será para esse carro
- if(cil<=1000)
- imp=17.64;
- else if(cil>1000 && cil<=1300)
- imp=35.41;
- else if(cil>1300 && cil<=1750)
- imp=55.31;
- else if(cil>1750 && cil<=2600)
- imp=140.34;
- else if(cil>2600 && cil<=3500)
- imp=254.85;
- else if(cil>3500)
- imp=454.06;
- }
- else if(ano>=1990 && ano<=1995)
- {
- if(cil<=1000)
- imp=11.12;
- else if(cil>1000 && cil<=1300)
- imp=19.90;
- else if(cil>1300 && cil<=1750)
- imp=30.92;
- else if(cil>1750 && cil<=2600)
- imp=74.02;
- else if(cil>2600 && cil<=3500)
- imp=138.78;
- else if(cil>3500)
- imp=233.24;
- }
- else if(ano>=1981 && ano<=1989)
- {
- if(cil<=1000)
- imp=7.81;
- else if(cil>1000 && cil<=1300)
- imp=11.12;
- else if(cil>1300 && cil<=1750)
- imp=15.51;
- else if(cil>1750 && cil<=2600)
- imp=31.99;
- else if(cil>2600 && cil<=3500)
- imp=70.67;
- else if(cil>3500)
- imp=107.17;
- }
- return imp; //retornar o valor do imposto a pagar por este carro
- }
- void Escolha10()//função principal do itme
- {
- //variáveis necessárias na função
- char matricula[10], marca[15], modelo[25];
- int ano, dono, cod, cilindrada;
- float imposto=0;
- //variáveis de ficheiro e abertura destes
- FILE *carros; FILE *historico;
- carros = fopen("Carros.txt", "a+");
- historico = fopen("Histórico.txt", "a+");
- while(!feof(carros))
- {
- //atribuição de valores às variáveis
- fscanf(carros, "%s %s %s %d %d %d %d", matricula, marca, modelo, &ano, &dono, &cod, &cilindrada);
- imposto+=Imposto(ano, cilindrada);//aumentar o valor total do imposto
- }
- //mostragem de resultados e fim de função
- printf("O total de imposto que o Estado ira receber e: %0.2f Euros\n", imposto);
- printf("\n=========================================================\n\n");
- //escritura no ficheiro histórico a função executada e fechar ficheiros
- fprintf(historico, "Receita total de imposto (%s as %s)\n", __DATE__, __TIME__);
- fclose(carros);
- fclose(historico);
- }
Advertisement
Add Comment
Please, Sign In to add comment