alguém poderia ver se a solução desse exercicio esta certo???
obrigado
A empresa de telefonia celular tabajara S.A, necessita de um sistema informatizado que apóie o processo gerencial de cobrança no uso do telefone celular por parte de sues clientes. A tabajara s.a trabalha com os tipos de conta telefônica pré-pago e pós-pago. Cada tipo de cobrança tem características diferentes:
Telefone pré-pago: neste plano o cliente não tem conta. Para utilizar ele compra um cartão que habilita o telefone para que seja usado um determinado numero de minutos. São registrados:
• O numero do telefone;
• O valor da conta registrado. O numero de pulsos é calculado pela formula: pulsos = valor *1.25;
• O nome do assinante;
• Um método chamado ler para obterem-se os dados acima (com e sem parâmetros);
• Um método chamado exibir para exibir-se os dados acima;
Telefone pós-pago: neste tipo de conta o cliente paga pelo seu consumo. São registrados:
• O numero do telefone;
• O numero de pulsos que o telefone utilizou;
• O valor de cada pulso;
• O nome do assinante;
• Um método para calcular o valor da conta;
• Um método chamado ler para obterem-se os dados acima (com e sem parâmetros);
• Um método chamado exibir para exibir-se os dados acima;
Aplicando-se os conceitos de herança, sobrecargas de métodos, polimorfismo, funções virtuais classes abstratas e outros que julgar necessário, respeitando-se as características de cada tipo de plano e sabendo-se que novos tipos de contas podem ser futuramente criadas, crie um conjunto de classes que atenda a necessidade da empresa tabajara.
É obrigatória a criação de pelo menos uma classe abstrata. Faça também uma função mail() que leia os dados dos planos de 100 clientes e que calcule e exiba:
• O valor total arrecadados pela empresa
• Os dados do cliente de maior conta paga.
SOLUÇÃO
Void main( ){
CprePago pre;
CposPago pos;
Int i, tipocliente;
Float valtotal1, valtotal2, valtotal3;
Float cliente, mcliente=0;
For (i = 0; 1 < 100 ; i++){
cout << “Digite 1 para cliente pré ou 2 para cliente pos”
Pergunta
Guest - rafael -
alguém poderia ver se a solução desse exercicio esta certo???
obrigado
A empresa de telefonia celular tabajara S.A, necessita de um sistema informatizado que apóie o processo gerencial de cobrança no uso do telefone celular por parte de sues clientes. A tabajara s.a trabalha com os tipos de conta telefônica pré-pago e pós-pago. Cada tipo de cobrança tem características diferentes:
Telefone pré-pago: neste plano o cliente não tem conta. Para utilizar ele compra um cartão que habilita o telefone para que seja usado um determinado numero de minutos. São registrados:
• O numero do telefone;
• O valor da conta registrado. O numero de pulsos é calculado pela formula: pulsos = valor *1.25;
• O nome do assinante;
• Um método chamado ler para obterem-se os dados acima (com e sem parâmetros);
• Um método chamado exibir para exibir-se os dados acima;
Telefone pós-pago: neste tipo de conta o cliente paga pelo seu consumo. São registrados:
• O numero do telefone;
• O numero de pulsos que o telefone utilizou;
• O valor de cada pulso;
• O nome do assinante;
• Um método para calcular o valor da conta;
• Um método chamado ler para obterem-se os dados acima (com e sem parâmetros);
• Um método chamado exibir para exibir-se os dados acima;
Aplicando-se os conceitos de herança, sobrecargas de métodos, polimorfismo, funções virtuais classes abstratas e outros que julgar necessário, respeitando-se as características de cada tipo de plano e sabendo-se que novos tipos de contas podem ser futuramente criadas, crie um conjunto de classes que atenda a necessidade da empresa tabajara.
É obrigatória a criação de pelo menos uma classe abstrata. Faça também uma função mail() que leia os dados dos planos de 100 clientes e que calcule e exiba:
• O valor total arrecadados pela empresa
• Os dados do cliente de maior conta paga.
SOLUÇÃO
Void main( ){
CprePago pre;
CposPago pos;
Int i, tipocliente;
Float valtotal1, valtotal2, valtotal3;
Float cliente, mcliente=0;
For (i = 0; 1 < 100 ; i++){
cout << “Digite 1 para cliente pré ou 2 para cliente pos”
cin >> tipocliente;
if (tipocliente = 1){
ler(pre);
pré.ler(97831400, “Jc”, 30);
mostrar (pre);
valtotal1 = valtotal1 + pré.calcular();
}else
{
ler(pos)
pré.pos (97831400, “Jc”, 40, 1,25);
mostrar (pos);
valtotal2 = valtotal2 + pos.calcular();
cliente = pos.calcular( );
If (cliente > mcliente){
Mcliente = mcliente;
}
}
}
cout << mcliente;
valtotal3 = valtotal1 + valtotal2;
cout << valtotal3;
}
class Ctelefonia{
int numtel;
char nome[30];
pulic:
virtual void ler( );
virtual void ler (int CtelefoniaNuntel, char * CtelefoniaNome);
virtual void exibir();
};
class CprePago:public Ctelefonia{
float valcartao;
float pulsos;
public:
void ler( );
void ler( int numtel, char *nome, float Cvalcartao);
float calcular( );
void exibir( );
}
class PosPago:public Ctelefonia{
int numpulso;
float valpulso;
public:
void ler( );
void ler(int numtel, char *nome, int Cnumpulso, float Cvalpulso);
float calcular( );
void exibir( );
}
METODOS LER
void Ctelefonia::ler( ){
cout << “Digite o numero do telefone:”;
cin >> numtel;
cout << “Digite o nome:”;
cin >> nome;
}
void Ctelefonia::ler( int CtelefoniaNumtel, Char *CtelefoniaNome){
numtel = CtelefoniaNumtel;
strcpy (nome, CtelefoniaNome)
}
void PosPago::ler( ){
Ctelefonia::ler( );
Cout << “Digite o numero de pulsos”;
Cin >> numpulso;
Cout << “Digite o valor de cada pulsos”;
Cin >> valpulso;
}
void PosPago::ler(int numtel, char *nome, int Cnumpulso, float Cvalpulso){
Ctelefonia::ler( numtel, nome);
Numpulso = Cnumpulso;
Valpulso = Cvalpulso;
}
void PrePago::ler( ){
Ctelefonia::ler( );
Cout << “Digite o valor do cartão”;
Cin >> valcartao;
}
void PrePago::ler(int numtel, char *nome, float Cvalcartao){
Ctelefonia::ler( numtel, nome);
Valcartao = Cvalcartao;
}
METODOS EXIBIR
void Ctelefonia::exibir( ){
cout << “ numer do tel”;
cout << numtel;
cout << “Nome”;
cout << nome;
}
void CprePago::exibir( ){
Ctelefonia::exibir( );
cout << valcartao;
cout << calcular( );
}
void CposPago::exibir( ){
Ctelefonia::exibir( );
cout << numpulso;
cout << valpulso;
cout << “valorconta”;
cout << calcular( );
}
METODOS CALCULAR
void CprePago::calcular( ){
return valcartao * 1,25;
}
void CposPago::calcular( ){
return numpulsos * valpulso;
}
void ler (Ctelefonia &x);
void mostrar (Ctelefonia &x);
void ler (Ctelefonia &x){
x.ler( );
}
void mostrar (Ctelefonia &x){
x.exibir( );
}
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.