1)
Considere o formulário representado pela figura a seguir. O objetivo é calcular o frete e o valor total da
venda.
Obs.: os valores nos dois TextBox´s são informados (digitados) pelo usuário. O usuário também seleciona
o estado no ComboBox.
Principais propriedades:
TextBox´s:
- Name´s: txtNome; txtCompra
ComboBox:
- Name: cboEstado
- Items: RJ; SP; Outros
Button´s:
- Name´s: btnCalcular; btnSair
Label´s: (saída)
- Name´s: lblCompra; lblFrete; lblTotal
Considere como possíveis apenas os seguintes valores de frete:
- Para valor da compra acima de 1.000 reais, o frete é grátis/zero (não importa o estado).
- Compra no Rio de Janeiro (RJ), o frete é de R$ 5,00.
- Compra em São Paulo (SP), o frete é de R$ 10,00.
- Compra realizada em OUTROS estados, o frete é de R$ 20,00.
Complete a lacuna (valor 0,3) na linha a seguir e insira o código correspondente ao click no botão Calcular
(valor 2,2).Obs.: não se preocupe com tratamento de erros nem com o código do botão Sair.
private void btnCalcular_Click(object sender, EventArgs e) {
double valorCompra, valorFrete=0, valorTotal; int itemEscolhido;
valorCompra = double.Parse(txtCompra.Text); itemEscolhido = cboEstado.SelectedIndex; if (valorCompra>1000) { valorFrete = 0; } else if (itemEscolhido==0) { valorFrete = 5; } else if (itemEscolhido==1) { valorFrete = 10; } else if (itemEscolhido==2) { valorFrete = 20; }
lblCompra.Text = txtCompra.Text; lblFrete.Text = valorFrete.ToString(); lblTotal.Text = valorTotal.ToString(); }
// O código abaixo não era necessário na prova.
private void btnSair_Click(object sender, EventArgs e) {
Application.Exit(); }
2) O valor do condomínio pago por cada apartamento de um prédio residencial é calculado
multiplicando-se um valor fixo pela quantidade de quartos do apartamento (valor fixo * quantidade de quartos) menos
um desconto. O desconto é dado conforme o número de moradores do apartamento, veja a seguir a
tabela correspondente.
Escreva um programa em C# para calcular e apresentar o valor do condomínio a ser pago por cada
apartamento do prédio (o número de apartamentos do prédio deve ser informado pelo usuário). (valor
1,5)O programa também deve calcular e mostrar:
- O total dos valores de condomínio pagos pelos apartamentos. (valor 1,0)
- A média dos valores de condomínio pagos pelos apartamentos. (valor 0,5)
- Quantos apartamentos pagam valores de condomínio acima de 900 reais. (valor 1,5)
Atenção!
Deduza adequadamente quais são os dados de entrada (informados pelo usuário).
Indique com um comentário o fechamento do bloco de repetição, exemplo: } //fim da repetição.
a) SOLUÇÃO PARA UM ÚNICO APARTAMENTO (UM ÚNICO VALOR DE CONDOMÍNIO)double valorFixo, desconto, valorCond, valorFinalCond; int numApts, qtdQuartos, i, qtdMoradores;
Console.WriteLine("Informe o valor fixo"); valorFixo = double.Parse(Console.ReadLine()); Console.WriteLine("Informe a qtd de apartamentos"); numApts = int.Parse(Console.ReadLine());
Console.WriteLine("Informe a qtd de quartos do AP"); qtdQuartos = Int32.Parse(Console.ReadLine());
valorCond = valorFixo * qtdQuartos;
Console.WriteLine("Informe a qtd de moradores do AP"); qtdMoradores = Int32.Parse(Console.ReadLine());
if(qtdMoradores>0 && qtdMoradores<=3) { desconto = valorCond * 10 / 100; } else if (qtdMoradores>3) {
DESCONTO
Número de moradores
do apartamento
Percentual
de desconto
De 0 a 3
10
Mais de 3
05
desconto = valorCond * 5 / 100; } else { desconto = 0; }
valorFinalCond = valorCond - desconto;
Console.WriteLine("Este apartamento pagará {0}", valorFinalCond);
b) SOLUÇÃO PARA VÁRIOS APARTAMENTOS (VÁRIOS VALORES DE CONDOMÍNIO) double valorFixo, desconto, valorCond, valorFinalCond; int numApts, qtdQuartos, i, qtdMoradores;
Console.WriteLine("Informe o valor fixo"); valorFixo = double.Parse(Console.ReadLine()); Console.WriteLine("Informe a qtd de apartamentos"); numApts = int.Parse(Console.ReadLine());
for (i = 1; i <= numApts; i++) {
Console.WriteLine("Informe a qtd de quartos do AP"); qtdQuartos = Int32.Parse(Console.ReadLine());
valorCond = valorFixo * qtdQuartos;
Console.WriteLine("Informe a qtd de moradores do AP"); qtdMoradores = Int32.Parse(Console.ReadLine());
if(qtdMoradores>0 && qtdMoradores<=3) { desconto = valorCond * 10 / 100; } else if (qtdMoradores>3) { desconto = valorCond * 5 / 100; } else { desconto = 0; }
valorFinalCond = valorCond - desconto;
Console.WriteLine("Este apartamento pagará {0}", valorFinalCond); } // FIM DA REPETIÇÃO
c) INCLUIR O CÓDIGO/SOLUÇÃO PARA:
O programa também deve calcular e mostrar:
- O total dos valores de condomínio pagos pelos apartamentos.
- A média dos valores de condomínio pagos pelos apartamentos.
double valorFixo, desconto, valorCond, valorFinalCond, totalCond=0, media; int numApts, qtdQuartos, i, qtdMoradores;
Console.WriteLine("Informe o valor fixo"); valorFixo = double.Parse(Console.ReadLine()); Console.WriteLine("Informe a qtd de apartamentos"); numApts = int.Parse(Console.ReadLine());
for (i = 1; i <= numApts; i++) {
Console.WriteLine("Informe a qtd de quartos do AP"); qtdQuartos = Int32.Parse(Console.ReadLine());
valorCond = valorFixo * qtdQuartos;
Console.WriteLine("Informe a qtd de moradores do AP"); qtdMoradores = Int32.Parse(Console.ReadLine());
if(qtdMoradores>0 && qtdMoradores<=3) { desconto = valorCond * 10 / 100; } else if (qtdMoradores>3) { desconto = valorCond * 5 / 100; } else { desconto = 0; }
valorFinalCond = valorCond - desconto;
Console.WriteLine("Este apartamento pagará {0}", valorFinalCond);
totalCond = totalCond + valorFinalCond; // totalCond += valorFinalCond; } // FIM DA REPETIÇÃO
Console.WriteLine("Total dos valores de condomínio pagos: {0}", totalCond);
media = totalCond / numApts;
Console.WriteLine("Média dos valores de condomínio pagos: {0}", media);
d) INCLUIR O CÓDIGO/SOLUÇÃO PARA:
O programa também deve calcular e mostrar:
- Quantos apartamentos pagam valores de condomínio acima de 900 reais.
double valorFixo, desconto, valorCond, valorFinalCond, totalCond=0, media; int numApts, qtdQuartos, i, qtdMoradores, contador=0;
Console.WriteLine("Informe o valor fixo"); valorFixo = double.Parse(Console.ReadLine()); Console.WriteLine("Informe a qtd de apartamentos"); numApts = int.Parse(Console.ReadLine());
for (i = 1; i <= numApts; i++) {
Console.WriteLine("Informe a qtd de quartos do AP"); qtdQuartos = Int32.Parse(Console.ReadLine());
valorCond = valorFixo * qtdQuartos;
Console.WriteLine("Informe a qtd de moradores do AP"); qtdMoradores = Int32.Parse(Console.ReadLine());
if(qtdMoradores>0 && qtdMoradores<=3) { desconto = valorCond * 10 / 100; } else if (qtdMoradores>3) { desconto = valorCond * 5 / 100; } else { desconto = 0; }
valorFinalCond = valorCond - desconto;
Console.WriteLine("Este apartamento pagará {0}", valorFinalCond);
totalCond = totalCond + valorFinalCond; // totalCond += valorFinalCond; if (valorFinalCond > 900)
contador = contador + 1; // contador++; } // FIM DA REPETIÇÃO
Console.WriteLine("Total dos valores de condomínio pagos: {0}", totalCond);
media = totalCond / numApts;
Console.WriteLine("Média dos valores de condomínio pagos: {0}", media);