Algoritmo

2 respostas
D

Alguém pode me ajudar com esse algoritmo d uma forma simples obrigado!!nao consigo mostrar o número da loja vencedora alguém pode me dizer o q posso
fazer dentro desse código pra mostrar?

/*Um rede de supermercados deseja saber o valor médio de vendas de cada uma das suas 30 filiais.
Para isso, solicitou a criação de um programa que calcular a média de 10 vendas consecutivas
ocorridas em cada uma de suas filiais.
O programa deve mostrar a média de cada filial, juntamente com o número da loja vencedora.*/

    import java.util.*;  
      
    public class exercicio4{  
        public static void main(String args[]){  
            Scanner dado = new Scanner(System.in);  
              
            double mediavenda = 0,venda = 0,acumulavenda = 0,maior = 0,lojamaiorvenda = 0;  
            int num,i,j;  
              
            for(i = 1; i<=3;i++){  
                System.out.println("digite os valores para a filial "+i);  
                for(j = 1;j<=10;j++){  
                    System.out.println("digite o valor da venda "+j);  
                    venda = dado.nextDouble();            
                }
                acumulavenda = venda + acumulavenda;  
                mediavenda = acumulavenda/10;  
                acumulavenda = 0;
                System.out.println("a média das vendas da filial foi "+mediavenda);
            }
                if(venda > maior){  
                    maior = venda; 
                }  
                System.out.println("a loja vencedora possui média de vendas "+maior+" e é a número ");  
            }  
        }

2 Respostas

Victor_Leandro

Bom, sem mexer muito no código...

import java.util.*;    
        
public class Ex1{    
    public static void main(String args[]){    
        Scanner dado = new Scanner(System.in);    
             
        double mediavenda = 0,venda = 0,acumulavenda = 0,maior = 0,lojamaiorvenda = 0;    
        int num,i,j;   
            
        for(i = 1; i<=3;i++){    
            System.out.println("digite os valores para a filial "+i);    
            for(j = 1;j<=10;j++){    
                System.out.println("digite o valor da venda "+j);    
                venda = dado.nextDouble();              
                acumulavenda = venda + acumulavenda;
            }  
            mediavenda = acumulavenda/10;    
            acumulavenda = 0;  
            System.out.println("a média das vendas da filial foi "+mediavenda);  
          
            if (mediavenda > maior){  //essa verificação deve ser feita dentro do laço
            	maior = mediavenda;
                lojamaiorvenda = i;
            }
        }
               
        System.out.println("A loja vencedora possui média de vendas "+ maior +" e é a número " + lojamaiorvenda);    
    }    
}

É só colocar o if no lugar correto (dentro do for mais externo) e armazenar a variável referente à loja "i".

S

Bom, eu estava dando um grau também na sua classe. Vi que o Victor_Leandro já respondeu mais vou colocar a minha classe como ficou.

public class Exercicio4{   
	
    public static void main(String args[]){    
        Scanner dado = new Scanner(System.in);    
            
        double mediaVenda = 0;
        double venda = 0;
        double acumulaVenda = 0;
        double maior = 0;
        int filial = 0;
          
        int num;    
            
        for(int i = 1; i<=3; i++){    
            System.out.println("digite os valores para a filial "+ i);    
            for(int j = 1; j<=10; j++){    
                System.out.println("Digite o valor da venda " + j);    
                acumulaVenda = dado.nextDouble() + acumulaVenda;              
            }                  
            mediaVenda = acumulaVenda/10;    
            acumulaVenda = 0;  
            System.out.println("Média das vendas da filial foi: " + mediaVenda);  
            if (mediaVenda > maior) {
            	maior = mediaVenda;
            	filial = i;
            }
        }  
        	System.out.println("Loja vencedora possui média de vendas "+ maior +" e é a Filial de número: " + filial);    
        }    
    }

1º Não comece o nome de nenhuma Classe com letra minuscula.
2º Você no seu segundo FOR não estava acumulando os valores da venda, com isso ele simplismente ia possuir o ultimo valor digitado e a média ia ser calculada erroneamente.
3º A verificação da maior média deve se encontrar dentro do primeiro FOR e também deve ser armazenado o valor da Filial junto com a maior média para ambos serem exibidos no final da aplicação.

Criado 14 de novembro de 2011
Ultima resposta 14 de nov. de 2011
Respostas 2
Participantes 3