Exercicios para prática

10 respostas
M

Vou postar aqui alguns exercicios que eu achei na net e achei interessante, pois eles ajudam muito na prática…
e como diz o ditado : a prática leva a perfeição!! eu vou fazer eles aqui e depois postar as respostas, mais tentem fazer e colocar seus códigos aqui, ai nos podemos trocar informações sobre os melhores métodos para resolver os exercicios etc…

[b]

  1. Elabore um programa para apurar os resultados de uma eleição realizada em uma agremiação
    esportiva que possui 400 sócios. Sabe-se que três chapas concorreram à eleição (S-Situação, OOposição, R-Renovação). Cada sócio tem direito a um único voto, dado de acordo com a letra que
    identifica a chapa(S, O ou R). Pede-se que o programa determine:
    a) Número de votos dados para cada chapa e a respectiva porcentagem.
    b) Número de votos anulados e a respectiva porcentagem.
    c) Nome da chapa vencedora (considerar a possibilidade de empate). [/b]

[b]
2)2) Uma escola de idiomas oferece desconto a seus alunos por indicações de novos alunos. Cada um
terá direito a um desconto (de no máximo de 30%, por determinação da Diretoria), que pode ser
determinado conforme tabela a seguir:

Número de indicações Percentual de desconto
Até 5 0,5% por indicação
6 a 10 1% por indicação
11 ou mais 1,5% por indicação

Código do curso             Curso                  Mensalidade
1                     Inglês                               120,00
2                     Espanho                            l 100,00
3                     Mandarim                           150,00

Elabore um programa, usando a linguagem de programação Java, para cálculo de mensalidades.
Deverão ser lidos o código de identificação do aluno (ID), o nome completo, o código do curso em que
está matriculado e o número de indicações feitas. Pede-se que o programa calcule e escreva:

a) O valor do desconto oferecido ao aluno.
b) O novo valor da mensalidade a ser paga.
c) A quantidade de alunos que obtiveram 30% de desconto.

3

10 Respostas

Gleidson_Henrique

Espero ansiosamente pelo seu código amigo!

Acredito que todos os outros usuários também…

Abraços

M

Está ae o primeiro.. depois eu monto o segundo.

package desafio;
import javax.swing.JOptionPane;
/**
 *
 * @author Michael
 */
public class Desafio {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        
        int x; // Votos
        int r = 0;
        int o = 0;
        int n = 0;
        int s = 0;
        int tabela;
        int repete =1;
        int loops;
  

  for (loops = 1; loops <=100 ; loops++)
     
 {
      
     


     
     x = Integer.parseInt(JOptionPane.showInputDialog(null, "Qual é sua chapa?"));
     switch (x)
     {
         case (1):
             r++;
             break;
             case(2):
                 o++;
                 break;
             case (3):
                 s++;
                 break;
                 case(4): 
                     n++;
                     break;
                      }
                     
     
 }
     int total;
     total = r+s+o+n;  
     
     double pr,po,ps,pn;
     
     pr =  (r /100.0)*100.0;   
     po =  (o / 100.0)*100.0;   
     ps =  (s / 100.0)*100.0;   
     pn =  (n / 100.0)*100.0;  
     
     JOptionPane.showMessageDialog(null, "Contagem dos votos:"+
                                          "\nTotal de votos :" + total + 
                                          "\n Revolução : " + r + " - Porcentagem : "+ pr + "%" +
                                          "\n Oposição  : " + o + " - Porcentagem : "+ po + "%" +
                                          "\n Situação  : " + s + " - Porcentagem : "+ ps + "%" +
                                          "\n Nulos     : " + n + " - Porcentagem : "+ pn + "%");
     
     
     int compara;
     
           if (( r > o) && (r > s))
                   {
                       JOptionPane.showMessageDialog(null, " a chapa vencedora é Revolução.");
                       
                   }
                  else
                      if ((o > r) && (o>s))
                      {
                          JOptionPane.showMessageDialog(null, "A chapa vencedora è Oposição.");
                          
                      }
                      else 
                          if ((s > r) && (s > o))
                          {
                              JOptionPane.showMessageDialog(null, "A chapa vencedora é Situação.");
                              
                          }
                          else 
                          {
                              JOptionPane.showMessageDialog(null, "EMPATE");
           
    }
}
}
P

Bom dia,

Olhei seu código e vi que funciona perfeitamente e dá a resposta esperada. Porém você não seguiu o que o enunciado pede.
“Cada sócio tem direito a um único voto, dado de acordo com a letra que identifica a chapa(S, O ou R).”
Ou seja, o sócio tem que votar S, O ou R. No seu programa o sócio vota 1, 2, 3 ou 4 para nulo, onde nulo seria qualquer letra diferente de S, O, R segundo o enunciado. A sua quantidade de votos também está errada. No exercício ele fala 400 sócios e você só colocou 100.

Eu montei a parte de voto, veja como ficou:

for (loops = 0; loops <400 ; loops++)
{  
     x = JOptionPane.showInputDialog(null, "Qual é sua chapa?");
     //x = Integer.parseInt(JOptionPane.showInputDialog(null, "Qual é sua chapa?"));  
     switch (x)  
     {  
         case "r": case "R":  
             r++;  
             break;  
             case "o": case "O":  
                 o++;  
                 break;  
             case "s": case "S":   
                 s++;  
                 break;  
                 default:   
                     n++;  
                     break;  
                      }  
}

onde x agora é uma String e não Int.

J

Identação:

case "r": case "R":    
             r++;    
             break;    

case "o": case "O":    
                 o++;    
                 break;    

case "s": case "S":     
                 s++;    
                 break;    
default:     
                 n++;    
                 break;
M

eu modifiquei as letras, pois eu não sabia atribuir valor a I S R !! ai eu coloquei 1 2 3 para ultilizar nos swits ^^

M

Agora para o segundo eu estou apanhando!!!

M

ai galera meu codigo só falta calcular o desconto, não sei o motivo que ele não calcula,
minha idéia foi pegar (Até 5 indicações) e fazer um if para calcular o desconto com - 0,5% por indicação, ou seja se o cara tiver 4 indicações seu calculo vai ser

0,5 * 120 / 100

resumindo 0.6

0.6 * 4

120 - 2,4

o valor a ser pago seria de 117, caso ele tenha 4 indicações!

ai eu fiz assim, porém esse meu método não está multiplicando, seu valor quando vai imprimir mostra 0 e 120!!

if (indica < 500)
                {          
                    
                    desconto = 0.6 * indica;
                    
                    total = 120.0 - desconto;
                    
                    JOptionPane.showMessageDialog(null, "O aluno " + nome + " tem direito há " + "R$, " + desconto  + "de desconto, "
                                      + "sua parcela será de : "+"R%" + total );
package escolainglesrepete;

import javax.swing.JOptionPane;

public class EscolaInglesRepete {

    
    public static void main(String[] args) {
        
        String nome,curso,nome2;
        int indica, codigoaluno, codcurso,numeroindicacao,loops=0,nloop;
                double desconto,total;
        
        do 
        {
        
        codigoaluno = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite o código do aluno: "));
        
        nome = JOptionPane.showInputDialog(null, "Digite o nome do aluno :");
        
        JOptionPane.showMessageDialog(null, "Tabela de Cursos:" +
                                            "\n 1- Inglês." + 
                                            "\n 2-Espanhol" +
                                            "\n 3-Mandarim", "Cursos", JOptionPane.INFORMATION_MESSAGE);
        
        codcurso = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite o código do curso: "));
        
        
        indica = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite a quantidade de indicações do aluno " + nome));
        
        indica = loops;
       
        
        switch (codcurso)
        {
            case (1):  // curso ingles faça o calculo com 120R$
                
                if (indica < 5)
                {          
                    
                    desconto = 0.6 * indica;
                    
                    total = 120.0 - desconto;
                    
                    JOptionPane.showMessageDialog(null, "O aluno " + nome + " tem direito há " + "R$, " + desconto  + "de desconto, "
                                      + "sua parcela será de : "+"R%" + total );
                    
                       
                   
                }
                
                
                
 
        
        }
    
         nloop =   JOptionPane.showConfirmDialog(null, "Novo aluno  ?", "Cadastro", JOptionPane.YES_NO_OPTION);
        }
        
        while ( nloop ==0);
    }
}
P

Se você prestar atenção tem um errinho bem fácil de ser corrigido no seu código.
Repare nesta linha de código:

indica = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite a quantidade de indicações do aluno " + nome)); indica = loops;
E repare que lá em cima, você declara loops com o valor 0:

int indica, codigoaluno, codcurso,numeroindicacao,loops=0,nloop;

Basta você comentar a linha

//indica = loops;

pois você recebe o valor digitado, guarda ele em indica e depois simplesmente declara que indica=0.

therodrigoagostin

Oxê, assim você matam o estudo do cara, ele não vai conseguir pensar, nem pesquisar e nem entender os exercícios se a galera escrever o código pra ele. :frowning:
Bons estudos pra você.

P

therodrigoagostin:
Oxê, assim você matam o estudo do cara, ele não vai conseguir pensar, nem pesquisar e nem entender os exercícios se a galera escrever o código pra ele.
Bons estudos pra você.

michaelrodrigues:
Vou postar aqui alguns exercicios que eu achei na net e achei interessante, pois eles ajudam muito na prática…
e como diz o ditado : a prática leva a perfeição!! eu vou fazer eles aqui e depois postar as respostas, mais tentem fazer e colocar seus códigos aqui, ai nos podemos trocar informações sobre os melhores métodos para resolver os exercicios etc…

Criado 13 de outubro de 2012
Ultima resposta 16 de out. de 2012
Respostas 10
Participantes 5