LÓGICA E PROGRAMAÇÃO
PRECISO GERAR UM PROGRAMA EM (DEV C++)
1. O escritório da empresa de engenharia Prego no Angu está reajustando sua tabela de preços
cobrados para seus serviços de construção. Desta forma, escreva um programa em C que atenda
aos requisitos abaixo:
a. Receba:
i. o código do tipo de serviço (construção, reforma ou consultoria), conforme Tabela I;
ii. o código do tipo de edificação (residencial, comercial ou industrial), conforme Tabela I;
iii. a área total do projeto em metros quadrados.
b. Calcule:
i. o valor do projeto (considerando apenas a área do projeto);
ii. o valor de taxas que corresponde a 1% sobre o item i;
iii. o valor da comissão do vendedor que corresponde a 2% sobre o item i;
iv. o valor total do projeto.
c. Mostre:
i. o tipo de serviço e o tipo de edificação;
ii. a quantidade de metros quadrados e valor do metro quadrado;
iii. o valor do projeto (apenas valor da área do projeto);
iv. o valor das taxas e o valor da comissão;
v. o valor total do projeto.
2 de 2
Observações:
i. Idente o código;
ii. Comente o código (colocando o nome da dupla inclusive);
iii. Nomeie as variáveis com nomes válidos e coerentes;
iv. Faça as consistências.
TABELA I (m² = metros quadrados)
1 – Construção
11 – Residencial
0 < m² < 150 R$ 1.000,00 o m²
150 <= m² R$ 850,00 o m²
12 – Comercial
0 < m² < 20 R$ 1.100,00 o m²
20 <= m² R$ 950,00 o m²
13 – Industrial
0 < m² < 300 R$ 1.500,00 o m²
300 <= m² R$ 1.200,00 o m²
2 – Reforma
21 – Residencial
0 < m² < 150 R$ 600,00 o m²
150 <= m² R$ 510,00 o m²
22 – Comercial
0 < m² < 20 R$ 660,00 o m²
20 <= m² R$ 570,00 o m²
23 – Industrial
0 < m² < 300 R$ 900,00 o m²
300 <= m² R$ 720,00 o m²
3 – Consultoria
31 – Residencial
0 < m² < 150 R$ 150,00 o m²
150 <= m² R$ 120,00 o m²
32 – Comercial
0 < m² < 20 R$ 165,00 o m²
20 <= m² R$ 150,00 o m²
33 – Industrial
0 < m² < 300 R$ 225,00 o m²
300 <= m² R$ 190,00 o m²
Soluções para a tarefa
Resposta:
#include <stdio.h>
#include <stdlib.h>
int main(void){
int codigo_servico;
char* descricao_servico;
int codigo_edificacao;
char* descricao_edificacao;
float area_total;
float valor_m2;
float valor_projeto;
float valor_total_projeto;
float valor_taxas;
float valor_comissao_vendedor;
printf("Bem vindo a Prego Angu Engenharia\n");
printf("Listagem de Tipos de Servicos\n");
printf("1-CONSTRUCAO\n");
printf("2-REFORMA\n");
printf("3-CONSULTORIA\n");
printf("Digite o codigo do Servico:\n");
scanf("%d", &codigo_servico);
switch(codigo_servico){
case 1:
descricao_servico = "CONSTRUCAO";
break;
case 2:
descricao_servico = "REFORMA";
break;
case 3:
descricao_servico = "CONSULTORIA";
break;
default:
descricao_servico = "Opcao invalida. Servico nao encontrado.";
}
printf("Listagem de Tipos de Edificacoes\n");
if(codigo_servico == 1){
printf("11-RESIDENCIAL\n");
printf("12-COMERCIAL\n");
printf("13-INDUSTRIAL\n");
}
if(codigo_servico == 2){
printf("21-RESIDENCIAL\n");
printf("22-COMERCIAL\n");
printf("23-INDUSTRIAL\n");
}
if(codigo_servico == 3){
printf("31-RESIDENCIAL\n");
printf("32-COMERCIAL\n");
printf("33-INDUSTRIAL\n");
}
printf("Digite o codigo da Edificacao:\n");
scanf("%d",&codigo_edificacao);
switch(codigo_edificacao){
case 11:
descricao_edificacao = "Residencial";
break;
case 12:
descricao_edificacao = "Comercial";
break;
case 13:
descricao_edificacao = "Industrial";
break;
case 21:
descricao_edificacao = "Residencial";
break;
case 22:
descricao_edificacao = "Comercial";
break;
case 23:
descricao_edificacao = "Industrial";
break;
case 31:
descricao_edificacao = "Residencial";
break;
case 32:
descricao_edificacao = "Comercial";
break;
case 33:
descricao_edificacao = "Industrial";
break;
default:
descricao_edificacao = "Opcao invalida. Servico nao encontrado.";
}
printf("Informe a area total do projeto em m2:\n");
scanf("%f",&area_total);
if (codigo_edificacao == 11){
if (0 < area_total && area_total < 150){
valor_m2 = 1000.00;
}
if (150 <= area_total){
valor_m2 = 850.00;
}
}
if (codigo_edificacao == 12){
if (0 < area_total && area_total < 20){
valor_m2 = 1100.00;
}
if (20 <= area_total){
valor_m2 = 950.00;
}
}
if (codigo_edificacao == 13){
if (0 < area_total && area_total < 300){
valor_m2 = 1500.00;
}
if (300 <= area_total){
valor_m2 = 1200.00;
}
}
if (codigo_edificacao == 21){
if (0 < area_total && area_total < 150){
valor_m2 = 600.00;
}
if (150 <= area_total){
valor_m2 = 510.00;
}
}
if (codigo_edificacao == 22){
if (0 < area_total && area_total < 20){
valor_m2 = 660.00;
}
if (20 <= area_total){
valor_m2 = 570.00;
}
}
if (codigo_edificacao == 23){
if (0 < area_total && area_total < 300){
valor_m2 = 900.00;
}
if (300 <= area_total){
valor_m2 = 720.00;
}
}
if (codigo_edificacao == 31){
if (0 < area_total && area_total < 150){
valor_m2 = 150.00;
}
if (150 <= area_total){
valor_m2 = 120.00;
}
}
if (codigo_edificacao == 32){
if (0 < area_total && area_total < 20){
valor_m2 = 165.00;
}
if (20 <= area_total){
valor_m2 = 150.00;
}
}
if (codigo_edificacao == 33){
if (0 < area_total && area_total < 300){
valor_m2 = 225.00;
}
if (300 <= area_total){
valor_m2 = 190.00;
}
}
valor_projeto = area_total * valor_m2;
valor_taxas = 0.01 * valor_projeto;
valor_comissao_vendedor = 0.02 * valor_projeto;
valor_total_projeto = valor_projeto + valor_taxas + valor_comissao_vendedor;
printf("Relatorio de Orcamento\n");
printf("Tipo de servico => %s\n",descricao_servico);
printf("Tipo de edificacao => %s\n",descricao_edificacao);
printf("Area Total do Projeto => %.2f\n",area_total);
printf("Valor m2 => R$ %.2f \n",valor_m2);
printf("Valor do Projeto(sem taxa/comissao) => R$ %.2f\n",valor_projeto);
printf("Valor das Taxas => R$ %.2f\n",valor_taxas);
printf("Valor da Comissao do Vendedor => R$ %.2f\n",valor_comissao_vendedor );
printf("Valor Total do Projeto => R$ %.2f\n",valor_total_projeto);
system("pause");
return 0;
}
Explicação: