Grupo Lógica de Programação
ESTAMOS EM CONSTRUÇÃO - DESENVOLVIMENTO


Seja Bem Vindo ao Forum Grupo Lógica de Programação é uma satisfação recebê-los aqui.. espero que gostem desse espaço que foi feito para todos nós PROGRAMADORES.. Então venha fazer Parte deste Time tambem.. Saiba que este Forum foi feito com muita dedicação para o bem estar de todos vocês.. Então Registre-se e Decole no Mundo da Programação.....
Ao se Registrar você tem direito a participar do CHAT que só é visivel ao membros registrados. e pode bater papo com algum outro membro que estiver on line.. caso tenha alguma duvida pode olhar no Menu FAQ as perguntas mais recentes.
Bons Estudos é o que deseja todos nós que fazemos o GRUPO LÓGICA DE PROGRAMAÇÃO acontecer...

(EL MENSAJERO [FUNDADOR])

Exercício - While

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Exercício - While

Mensagem por gustavo_torre em Seg 15 Nov 2010, 13:27

Boa tarde,

Guilherme estou postando um exercício em Java que achei interessante para sua avaliação

A Telemig deseja fazer as contas telefônicas mensais de seus assinantes através do computador. A cobrança de seus serviços é feita obedecendo o seguinte critério:

Tarifa básica

Telefone residencial - r$ 1.20
Telefone comercial - r$ 1.30

Serviço local

r$ 0.45 por pulso excedente (acima de 90 pulsos)

Serviço de interurbano

Tarifas variáveis mais 30% sobre estas tarifas para o Fundo Nacional de Telecomunicações (FNT)

Serviço despertador

r$ 1,30 por serviço prestado

Telegrama fonado

Custo da ECT mais r$ 4,20 por telegrama

a) Leia um número indeterminado de telefones contendo as seguintes informações sendo que,
o último telefone, que não entrará nos cálculos, contém o número do telefone igual a zero.

- nº do telefone;
- tipo do telefone (1 se for residencial e 2 se comercial);
- nº de pulsos registrados p/chamadas locais;
- total de interurbanos e as suas tarifas;
- nº de serviços de despertador prestados;
- nº de telegramas passados;

Depois dos dados de entrada o programa deverá calcular os seguintes pontos:

b) Calcule e imprima:

1 – para cada assinante, o número de seu telefone e o valor de sua conta mensal;
2 – o valor da maior conta e o número do telefone do assinante que a pagou (suponha que não haja mais de um assinante com o mesmo valor de conta a pagar);
3 – O total arrecadado pela TELEMIG no mês.
4 – Total de Telegramas
5 - Total de Interurbanos e o seu valor
6- Valor total arrecadado pela ECT
7 - Total de telefones Residências e o seu valor
8 - Total de telefones Comerciais e o seu valor
9 - Total de valores arrecadados pela FNT

Fiz o programa deste jeito

Código:

package estudos;
import javax.swing.JOptionPane;

public class Telefone {

    public static void main(String[]args) {
        Integer tpTele = 0,nrTele = 0, nrPulso = 0, nrDespertador = 0, nrTelegrama = 0, qtdTelegrama = 0, interurbano = 0, qtdInterurbano = 0, qtdResidencial = 0, qtdComercial = 0;
        Integer troca_tele =0;
        Double nrPulsoExcedente = 0.00, vlTelemig = 0.00, tarifa = 0.00, ect = 0.00, vlInterurbano = 0.00, vlFNT = 0.00, somaqtdResidencial = 0.00, somaqtdComercial = 0.00;
        Double maior_conta = 0.00;
        String resposta = "";
        do {
        nrTele = Integer.parseInt(JOptionPane.showInputDialog("Digite o nº do telefone: "));
        tpTele = Integer.parseInt(JOptionPane.showInputDialog("Digite (1) para residencial ou (2) para comercial: "));
        interurbano = Integer.parseInt(JOptionPane.showInputDialog("Número de interurbanos: "));
        vlInterurbano = Double.parseDouble(JOptionPane.showInputDialog("Valor dos interurbanos"));
        nrPulso = Integer.parseInt(JOptionPane.showInputDialog("Digite o nº pulsos utilizados para chamadas locais"));
        nrDespertador = Integer.parseInt(JOptionPane.showInputDialog("Digite o número de serviços de despertadores solicitados "));
        nrTelegrama = Integer.parseInt(JOptionPane.showInputDialog("Nº de telegramas passados"));

        if(tpTele == 1) {
            tarifa += 1.20;
            qtdResidencial ++;
            vlTelemig = (nrDespertador *1.30) + (vlInterurbano * 0.70) + nrPulsoExcedente + 1.20 + ect;
            somaqtdResidencial +=vlTelemig;
            JOptionPane.showMessageDialog(null, "Residencial");
        } else if (tpTele == 2) {
            tarifa += 1.30;
            qtdComercial ++;
            vlTelemig = (nrDespertador *1.30) + (vlInterurbano * 0.70) + nrPulsoExcedente + 1.30 + ect;
            somaqtdComercial +=vlTelemig;
            JOptionPane.showMessageDialog(null, "Comercial");
        }

        if (vlTelemig > maior_conta) {
          maior_conta = vlTelemig;
          troca_tele = nrTele;
          }
       
        if (nrPulso > 90) {
            nrPulsoExcedente = (nrPulso -90) * 0.45;
            tarifa += nrPulsoExcedente;
        }

        qtdInterurbano += interurbano;

        tarifa += nrDespertador * 0.30;
        tarifa += nrTelegrama * 4.20;
        tarifa += vlInterurbano;
        vlFNT = vlInterurbano * 0.30;
        ect += nrTelegrama * 4.20;
        qtdTelegrama += nrTelegrama;

        resposta = JOptionPane.showInputDialog("Deseja inserir novos dados? S - Sim ou N - Nao ");
        } while (resposta.equalsIgnoreCase("S"));
        JOptionPane.showMessageDialog(null, " Número do telefone: || " +  nrTele + " Tarifa: R$ " + tarifa);
        JOptionPane.showMessageDialog(null, " Valor arrecadado pela Telemig R$ " + vlTelemig);
        JOptionPane.showMessageDialog(null, " Quantidade de telegramas: || " + qtdTelegrama);
        JOptionPane.showMessageDialog(null, " Quantidade de interurbanos: || " + qtdInterurbano + " Valor dos interurbanos: R$ " + vlInterurbano);
        JOptionPane.showMessageDialog(null, " Valor arrecadado pela FNT: R$ " + vlFNT);
        JOptionPane.showMessageDialog(null, " Quantidade de telefones residenciais: || " + qtdResidencial + " Valor dos telefones: R$ " + somaqtdResidencial);
        JOptionPane.showMessageDialog(null, " Quantidade de telefones residenciais: || " + qtdComercial + " Valor dos telefones: R$ " + somaqtdComercial);
        JOptionPane.showMessageDialog(null, " Recebido pela Empresa de Correios e Telegráfos (ECT): || " + ect);
        JOptionPane.showMessageDialog(null, " Maior conta: || " + maior_conta + " telefone que pagou" +troca_tele);
    }
}

gustavo_torre
Moderador
Moderador

Mensagens : 4
Pontos : 50
Reputação : 1
Data de inscrição : 22/07/2010
Idade : 32
Localização : Brasília

Voltar ao Topo Ir em baixo

Re: Exercício - While

Mensagem por Guilherme Lopes em Ter 16 Nov 2010, 16:12

mto bom o exercicio. ^^
avatar
Guilherme Lopes
Novo no Fórum
Novo no Fórum

Mensagens : 18
Pontos : 92
Reputação : 6
Data de inscrição : 21/07/2010
Idade : 23

Voltar ao Topo Ir em baixo

Re: Exercício - While

Mensagem por gustavo_torre em Ter 16 Nov 2010, 16:30

Guilherme Lopes

Vc chegou a testar? Esta rodando bem? Algum erro?


Guilherme Lopes escreveu:mto bom o exercicio. ^^

gustavo_torre
Moderador
Moderador

Mensagens : 4
Pontos : 50
Reputação : 1
Data de inscrição : 22/07/2010
Idade : 32
Localização : Brasília

Voltar ao Topo Ir em baixo

Re: Exercício - While

Mensagem por Guilherme Lopes em Ter 16 Nov 2010, 16:33

Sim, testei sim e aparentemente nao há nenhum erro.

gustavo_torre escreveu:Guilherme Lopes

Vc chegou a testar? Esta rodando bem? Algum erro?


Guilherme Lopes escreveu:mto bom o exercicio. ^^
avatar
Guilherme Lopes
Novo no Fórum
Novo no Fórum

Mensagens : 18
Pontos : 92
Reputação : 6
Data de inscrição : 21/07/2010
Idade : 23

Voltar ao Topo Ir em baixo

Re: Exercício - While

Mensagem por Sergio Lucas em Qui 28 Jul 2016, 16:16

Parabéns Gustavo... Exercício funcionou normalmente, Só resta fazer alguns ajuste para ficar mais ajustado os valores.. Very Happy Very Happy Very Happy Very Happy sunny
avatar
Sergio Lucas
Admin
Admin

Mensagens : 80
Pontos : 308
Reputação : 20
Data de inscrição : 30/06/2010
Idade : 31
Localização : Pernambuco

http://grupologica.forumslog.com

Voltar ao Topo Ir em baixo

Re: Exercício - While

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum