Correção do exercício da MegaSena (corrigido pela Professora Zirlene)
int main(){
int g1,g2,g3,g4,g5,g6;
int n1,n2,n3,n4,n5,n6;
int cont,cont2, I;
cont=0; cont2=0;
//números sorteados
cout<<"Informe os números sorteados"<<endl;
cin>>g1;
cin>>g2;
cin>>g3;
cin>>g4;
cin>>g5;
cin>>g6;
for (i=1;i<=30;i++){
cout<<"Informe os 6 números jogados"<<endl;
cin>>n1;
cin>>n2;
cin>>n3;
cin>>n4;
cin>>n5;
cin>>n6;
// condicionais
if ((n1==g1)||(n1==g2)||(n1==g3)||(n1==g4)||(n1==g5)||(n1==g6)){
cont++;
}
if ((n2==g1)||(n2==g2)||(n2==g3)||(n2==g4)||(n2==g5)||(n2==g6)){
cont++;
}
if ((n3==g1)||(n3==g2)||(n3==g3)||(n3==g4)||(n3==g5)||(n3=g6)){
cont++;
}
cont++;
}
if ((n4==g1)||(n4==g2)||(n4==g3)||(n4==g4)||(n4==g5)||(n4==g6)){
cont++;
}
cont++;
}
if ((n5==g1)||(n5==g2)||(n5==g3)||(n5==g4)||(n5=g5)||(n5==g6)){
cont++;
}
cont++;
}
if ((n6==g1)||(n6==g2)||(n6==g3)||(n6==g4)||(n6==g5)||(n6==g6)){
cont++;
}
//verificando se houve ganhador
if (cont==6){
cout<<"Parabéns, você ganhou!"<<endl;
cont2++;
}
else{
cout<<"Você não ganhou"<<endl;
}
cont=0;
}// fim for
Exercício
A empresa xyz deseja um sistema que possa controlar as suas contas de telefone. Para tanto o sistema deverá atender as seguintes especificações.
O sistema deverá fazer a leitura do código do cliente, quantidade de minutos usados no mês, e o tipo de cliente. Considere tipo residencial e comercial.
O algoritmo deverá retornar:
cont++;
}
//verificando se houve ganhador
if (cont==6){
cout<<"Parabéns, você ganhou!"<<endl;
cont2++;
}
else{
cout<<"Você não ganhou"<<endl;
}
cont=0;
}// fim for
Exercício
A empresa xyz deseja um sistema que possa controlar as suas contas de telefone. Para tanto o sistema deverá atender as seguintes especificações.
O sistema deverá fazer a leitura do código do cliente, quantidade de minutos usados no mês, e o tipo de cliente. Considere tipo residencial e comercial.
O algoritmo deverá retornar:
- [v] a) a conta de cada cliente. Considere que clientes residenciais pagam R$0,20 por minuto. Clientes comerciais pagam até 100 minutos R$0,30 por minuto; se exceder a 100 minutos pagará R$ 0,40 por minuto excedido.
- [v] b) O percentual de clientes residenciais e comerciais. (Exibir fora do While)
- [v] c) O código e conta do cliente residencial que pagou a maior e menor conta. (Exibir fora do While)
- [v] d) A quantidade de clientes comerciais que excederam os minutos. (Exibir fora do While)
- [v] e) A média da conta dos clientes comerciais. (Exibir fora do While)
Obs.: O algorítmo será encerrado quando for digitado -1 no código do cliente.
Utilize while.
Minha resolução (letras a, b, c, d e e prontas e testadas no Code Blocks)
//cabeçalho
#include <iostream> // para poder usar o cin (entrada) e cout (saída)
#include <cstdlib> // para poder incluir a função "system pause"
using namespace std; // para poder incluir o return 0
int main(){
//Declarando as variáveis
//variável para o código do cliente
int codigodocliente; //variável do tipo inteiro
//variável para a quantidade de minutos utilizados;
float quantdeminutos; //variável do tipo inteiro
// variável para o tipo de cliente - 1 para residencial e 2 para comercial
int tipodecliente; // variável do tipo inteiro
//variável para armazenar o valor da conta do cliente
float contadocliente; //variável do tipo real
//variável para contar o número de clientes residenciais
int residenciais;
//variável para contar o número de clientes comerciais
int comerciais;
//variável para contar o número total de clientes
int totaldeclientes;
//variável para armazenar o percentual de clientes residenciais
float percentualresidenciais; //variável do tipo real
//variável para armazenar o percentual de clientes comerciais
float percentualcomerciais; //variável do tipo real
//variável para armazenar o valor da maior conta de clientes residenciais
float valordamaiorcontaresidencial; //variável do tipo real
//variável para armazenar o valor da menor conta de clientes residenciais
float valordamenorcontaresidencial; //variável do tipo real
//variável para armazenar o código do cliente com a maior conta
int codigoclientemaiorconta; //variável do tipo inteiro
//variável para armazenar o código do cliente com a menor conta
int codigoclientemenorconta; //variável do tipo inteiro
//variável para armazenar a quantidade de clientes comerciais que excederam os minutos
int quantclientescomerciaisexcdereramminutos; //variável do tipo inteiro
//variável para armazenar o valor da total das contas dos clientes comerciais
float contascomerciais; //variável do tipo real
//variável para armazenar o valor da media das contas dos clientes comerciais
float mediacontascomerciais; //variável do tipo real
//variável para armazenar a quantidade de clientes comerciais
int quantclientescomerciais; //variável do tipo inteiro
//Zerando as variáveis
codigodocliente=0;
quantdeminutos=0;
tipodecliente=0;
residenciais=0;
comerciais=0;
totaldeclientes=0;
percentualresidenciais=0;
percentualcomerciais=0;
valordamaiorcontaresidencial=0;
valordamenorcontaresidencial=0;
codigoclientemaiorconta=0;
codigoclientemenorconta=0;
quantclientescomerciaisexcdereramminutos=0;
contascomerciais=0;
mediacontascomerciais=0;
quantclientescomerciais=0;
// Entradas
cout<<"Informe o codigo do cliente ou digite -1 para sair"<<endl; //solicita o codigo do cliente
cin>>codigodocliente; //recebe o codigo do cliente
//Início do while
while(codigodocliente!=-1){
cout<<"Informe a quantidade de minutos utilizados pelo cliente"<<endl; //solicita a quantidade de minutos utilizados pelo cliente
cin>>quantdeminutos; //recebe a quantidade de minutos utilizados pelo cliente
cout<<"Informe o tipo de cliente: digite 1 para cliente residencial e 2 para cliente comercial"<<endl; //solicita o tipo do cliente: residencial ou comercial
cin>>tipodecliente; //recebe o codigo do cliente
//Verificação do tipo de cliente
while((tipodecliente!=1)&&(tipodecliente!=2)){
cout<<"Informe corretamento o tipo de cliente: digite 1 para cliente residencial e 2 para cliente comercial"<<endl;
cin>>tipodecliente; //recebe o codigo do cliente
}
//Conta do cliente residencial
if(tipodecliente==1){
contadocliente=0.2*quantdeminutos;
}
//Conta do cliente comercial
if(tipodecliente==2){
if(quantdeminutos<=100){
contadocliente=0.3*quantdeminutos;
}
if(quantdeminutos>100){
contadocliente=((0.3*100)+(quantdeminutos-100)*0.4);
}
}
//Contando os clientes
//contando os clientes pelo tipo residencial
if(tipodecliente==1){
residenciais=residenciais+1; //incrementa 1
}
//contando os clientes pelo tipo comercial
if(tipodecliente==2){
comerciais=comerciais+1; //incrementa 1
}
//incrementando o total de clientes
totaldeclientes++; //incrementa 1
//Informa a conta do cliente na tela - resposta da letra a
cout<<"A conta do cliente "<<codigodocliente<<" deu R$"<<contadocliente<<endl;
//Comparando as contas dos clientes residenciais
if(tipodecliente==1){
if(contadocliente!=0){ //Contas com valor igual a zero são desconsideradas na comparação
if(contadocliente>valordamaiorcontaresidencial){
valordamaiorcontaresidencial=contadocliente;
codigoclientemaiorconta=codigodocliente;
}
if(valordamenorcontaresidencial==0){
valordamenorcontaresidencial=contadocliente;
codigoclientemenorconta=codigodocliente;
}
else {
if(contadocliente<valordamenorcontaresidencial){
valordamenorcontaresidencial=contadocliente;
codigoclientemenorconta=codigodocliente;
}
}
}
}
//Quantidade de clientes comerciais que excederam 100 minutos
if(tipodecliente==2){
if(quantdeminutos>100){
quantclientescomerciaisexcdereramminutos=quantclientescomerciaisexcdereramminutos+1;
}
}
//Para calcular a média das contas dos clientes comerciais (letra e)
if(tipodecliente==2){
contascomerciais=contascomerciais+contadocliente;
quantclientescomerciais=quantclientescomerciais+1;
}
//Preparando para o próximo cliente
cout<<"Informe o codigo do cliente ou digite -1 para sair"<<endl; //solicita o codigo do cliente
cin>>codigodocliente; //recebe o codigo do cliente
contadocliente=0;
}//Fechamento do While principal
//Exibindo o percentual de clientes residenciais e comerciais - resposta da letra b
//calculando o percentual de clientes residenciais
percentualresidenciais=100*residenciais/totaldeclientes;
//calculando o percentual de clientes comerciais
percentualcomerciais=100*comerciais/totaldeclientes;
//Exibindo o percentual de clientes residenciais
cout<<"O percentual de clientes residenciais e: "<<percentualresidenciais<<"%."<<endl;
//Exibindo o percentual de clientes comerciais
cout<<"O percentual de clientes comerciais e: "<<percentualcomerciais<<"%."<<endl;
//Exibindo o código do cliente residencial que pagou a maior e a menor conta - resposta da letra c
//Exibindo o código do cliente residencial que pagou a maior conta
cout<<"Exibindo os codigos dos clientes residenciais com a menor e a maior conta. Nota: clientes com conta igual a zero nao sao registrados."<<endl;
cout<<"O codigo do cliente residencial com a maior conta e: "<<codigoclientemaiorconta<<"."<<endl;
//Exibindo o código do cliente residencial que pagou a menor conta
cout<<"O codigo do cliente residencial com a menor conta e: "<<codigoclientemenorconta<<"."<<endl;
//Exibindo a quantidade de clientes comerciais que excederam 100 minutos - resposta da letra d
cout<<"A quantidade de clientes comerciais que excederam 100 minutos e: "<<quantclientescomerciaisexcdereramminutos<<"."<<endl;
//Exibindo a media das contas dos clientes comerciais - resposta da letra e
mediacontascomerciais=contascomerciais/quantclientescomerciais;
cout<<"A media das contas dos clientes comerciais e R$ "<<mediacontascomerciais<<"."<<endl;
//teste
cout<<"dados para simples conferencia"<<endl;
cout<<"percentual comercial de clientes: "<<percentualcomerciais<<endl;
cout<<"percentual residencial de clientes: "<<percentualresidenciais<<endl;
cout<<"total de clientes: "<<totaldeclientes<<endl;
cout<<"clientes residenciais: "<<residenciais<<endl;
cout<<"clientes comerciais: "<<comerciais<<endl;
//finalizando o programa
system("pause");
return 0;
}//Fechamento do programa
Lucas T R Freitas
Nenhum comentário:
Postar um comentário