Teste

12 respostas
W
import java.util.Scanner;
public class Main               
{              
    public static void main(String[] args) 
    {
        Scanner dados = new Scanner(System.in);          
        System.out.println("\t\t--------------------BEM VINDO---------------------");         
        System.out.println("NOVA LICITAÇÃO ");    
        System.out.println("CARO FUNCIONÁRIO PARA CRIAR UMA NOVA LICITAÇÃO PREENCHA OS DADOS ABAIXO: ");        
        System.out.println("NÚMERO: ");         
        String numero = dados.next();  
        System.out.println("OBJETO: ");  
        System.out.println("1)BENS E IMÓVEIS"); 
        System.out.println("2)PRESTAÇÃO DE SERVIÇOS"); 
        System.out.println("3)MATERIAL DE USO E CONSUMO\n");
        int objeto = dados.nextInt();   
        while((objeto < 1) || (objeto > 3))//ESPÉCIE DE TRATAMENTO DE EXCESSÃO :)
        {
            System.out.println("NÚMERO INVÁLIDO! POR FAVOR DIGITE UM VALOR ENTRE 1 E 3");
            System.out.println("OBJETO: ");  
            System.out.println("1)BENS E IMÓVEIS");
            System.out.println("2)PRESTAÇÃO DE SERVIÇOS"); 
            System.out.println("3)MATERIAL DE USO E CONSUMO\n");
            objeto = dados.nextInt();            
        }    
        System.out.println("DESCRIÇÃO: ");  
        String descricao = dados.next(); 
        System.out.println("TIPO: "); 
        System.out.println("1)MELHOR PREÇO"); 
        System.out.println("2)MEHOR TÉCNICA"); 
        System.out.println("3)MELHOR TÉCNICA E PREÇO\n");
        int tipo = dados.nextInt();
        while((tipo < 1) || (tipo > 3))//ESPÉCIE DE TRATAMENTO DE EXCESSÃO :)
        {
            System.out.println("NÚMERO INVÁLIDO! POR FAVOR DIGITE UM VALOR ENTRE 1 E 3");
            System.out.println("OBJETO: ");  
            System.out.println("1)BENS E IMÓVEIS");
            System.out.println("2)PRESTAÇÃO DE SERVIÇOS"); 
            System.out.println("3)MATERIAL DE USO E CONSUMO\n");
            tipo = dados.nextInt();            
        }                 
        EmpresaPublica licitacao = new EmpresaPublica(numero, objeto, descricao, tipo);  
        Especialista[] especialistas = new Especialista[3];
        especialistas[0] = new Especialista("Especialista1", licitacao);
        especialistas[1] = new Especialista("Especialista2", licitacao);
        especialistas[2] = new Especialista("Especialista3", licitacao);
        Fornecedor[] fornecedores = new Fornecedor[3];
        fornecedores[0] = new Fornecedor("Fornecedor1", 1, licitacao);
        fornecedores[1] = new Fornecedor("Fornecedor2", 1, licitacao);
        fornecedores[2] = new Fornecedor("Fornecedor3", 1, licitacao);        
        int i = 0;       
        double[] precos = new double[3];
        double[] prazos = new double[3];
        String[] nomes = new String[3];
        int x = 0;
        int flag2 = 0;
        while(i < fornecedores.length)
        {
            
            int flag = 0;          
            if(fornecedores[i].avaliaParticipacao1() == true)
            /*AQUI CADA AGENTE FORNECEDOR VERIFICA SE O OBJETO DA LICITAÇÃO CORRESPONDE A SUA ATIVIDADE COMERCIAL
            CASO A CONDIÇÃO SEJA VERDADEIRA O DETERMINADO AGENTE FORNECEDOR FORMULA UMA PROPOSTA*/    
            {
                  licitacao = new EmpresaPublica(fornecedores[i]);
                  System.out.println("\t\tBEM VINDO  " +fornecedores[i].getNome());
                  System.out.println("CARO FORNECEDOR PARA CRIAR UMA PROPOSTA PREENCHA OS DADOS ABAIXO: ");
                  System.out.println("PREÇO: ");         
                  double preco = dados.nextDouble();  
                  System.out.println("PRAZO: ");         
                  double prazo = dados.nextDouble();                  
                  fornecedores[i].setPreco(preco);                  
                  fornecedores[i].setPrazo(prazo);                    
                  
            }      
            else
            {
                /*CASO DETERMINADO FORNECEDOR VERIFIQUE QUE O OBJETO DA LICITAÇÃO NÃO CORRESPONDA A SUA ATIVIDADE COMERCIAL, ENTÃO ELE
                VERIFICA SE O TIPO DA LICITAÇÃO É MELHOR PREÇO, CASO A CONDIÇÃO SEJA SATISFEITA ELE FORMULA UMA PROPOSTA POIS O JULGAMENTO
                DO TIPO MENOR PREÇO NÃO LEVA A CAPACIDADE TÉCNICA DO FORNECEDOR*/
                if(fornecedores[i].avaliaParticipacao2() == true)
                {
                    licitacao = new EmpresaPublica(fornecedores[i]);
                    System.out.println("\t\tBEM VINDO  " +fornecedores[i].getNome());
                    System.out.println("CARO FORNECEDOR PARA CRIAR UMA PROPOSTA PREENCHA OS DADOS ABAIXO: ");
                    System.out.println("PREÇO: ");  
                    double preco = dados.nextDouble();  
                    System.out.println("PRAZO: ");     
                    double prazo = dados.nextDouble();    
                    fornecedores[i].setPreco(preco);                
                    fornecedores[i].setPrazo(prazo);
                }
                /*JÁ CASO DETERMINADO FORNECEDOR VERIFIQUE QUE O OBJETO DA LICITAÇÃO NÃO CORRESPONDA A SUA ATIVIDADE COMERCIAL E QUE O TIPO 
                DA LICITAÇÃO É MELHOR TÉCNICA OU MELHOR TÉCNICA E PREÇO, ENTÃO O SISTEMA O ALERTA SOBRE A POSSÍVEL DESVANTAGEM QUE ELE POSSA
                TER JÁ QUE O JULGAMENTO DE QUALQUER UM DOS TIPOS LEVA EM CONTA A COMPATIBILIDADE ENTRE O OBJETO DA LICITAÇÃO E A ATIVIDADE
                COMERCIAL DO FORNECEDOR E PERGUNTA SE ELE DESEJA OU NÃO PARTICIPAR DO PROCESSO LICITATÓRIO*/
                if(fornecedores[i].avaliaParticipacao3() == true)
                {
                    System.out.println("\t\tBEM VINDO  " +fornecedores[i].getNome());
                    System.out.println("CARO FORNECEDOR O OBJETO DA LICITAÇÃO NÃO CORRESPONDE A SUA ATIVIDADE COMERCIAL");
                    System.out.println("TEM CERTEZA QUE DESEJA ENVIAR SUA PROPOSTA? ");
                    System.out.println("1)SIM");
                    System.out.println("2)NÃO");
                    int opcao = dados.nextInt(); 
                    while((opcao < 1) || (opcao > 2))//ESPÉCIE DE TRATAMENTO DE EXCESSÃO :)
                    {
                        System.out.println("NÚMERO INVÁLIDO! POR FAVOR DIGITE 1 OU 2");
                        System.out.println("TEM CERTEZA QUE DESEJA ENVIAR SUA PROPOSTA? ");
                        System.out.println("1)SIM");
                        System.out.println("2)NÃO");
                        opcao = dados.nextInt();
                        
                    }    
                    if(opcao == 1)
                    {
                         licitacao = new EmpresaPublica(fornecedores[i]);
                         System.out.println("\t\tBEM VINDO  " +fornecedores[i].getNome());
                         System.out.println("CARO FORNECEDOR PARA CRIAR UMA PROPOSTA PREENCHA OS DADOS ABAIXO: ");
                         System.out.println("PREÇO: ");         
                         double preco = dados.nextDouble();  
                         System.out.println("PRAZO: ");         
                         double prazo = dados.nextDouble();                  
                         fornecedores[i].setPreco(preco);
                         fornecedores[i].setPrazo(prazo);
                         
                    }    
                    else
                    {    /*O FLAG É UM RECURSO UTILIZADO PELO AGENTE EMPRESA PÚBLICA, QUE O INFORMA CASO ALGUM FORNECEDOR NÃO TENHA PARTICIPADO DA
                         LICITAÇÃO*/
                         flag = 1; 
                         /*O FLAG2 ASSIM COMO O FLAG FUNCIONA COMO UM ALERTA DO AGENTE EMPRESA PÚBLICA. CADA VEZ QUE O FLUXO ENTRA NESSE LAÇO SIGNIFICA QUE DETERMINADO
                         FORNECEDOR NÃO PARTICIPOU DA LICITAÇÃO. CADA VEZ QUE ISSO ACONTECE O AGENTE EMPRESA PÚBLICA SOMA 1 AO VALOR DA FLAG2. APÓS ISSO
                         O AGENTE EMPRESA PÚBLICA SETA O VALOR DA FLAG2 PARA O SEU NOVO VALOR*/
                         flag2 = flag2 + 1;
                         licitacao.setFlagEP(flag);
                         licitacao.setFlag2EP(flag2);
                         System.out.println("\n\nEMPRESA PUBLICA: " +fornecedores[i].getNome()+ " NÃO PARTICIPOU DA LICITAÇÃO: \n\n");
                        
                         
                    }            
                }        
            }   
            /*AS TRÊS ESTRUTURAS CONDICIONAIS ABAIXO REPRESENTAM CADA AGENTE ESPECIALISTA VERIFICANDO DE DETERMINADO FORNECEDOR PARTICIPOU OU NÃO 
            DA LICITAÇÃO ATRAVÉS DA UTILIZAÇÃO DO RECURSO FLAG DO AGENTE EMPRESA PÚBLICA, ENTÃO CASO ALGUM AGENTE FORNECEDOR PARTICIPE DA LICITAÇÃO
            O AGENTE ESPECIALISTA CAPTURA A PROPOSTA DO DETERMINADO AGENTE ATRAVÉS DOS MÉTODOS UTILIZADOS PELO AGENTE EMPRESA PÚBLICA*/
            if(especialistas[0].getFlagE() == 0)
            {
                
                especialistas[0] = new Especialista(licitacao);                
                precos[x] =  especialistas[0].getPrecoFEPE();                
                prazos[x] =  especialistas[0].getPrazoFEPE();             
                nomes[x] =  especialistas[0].getNomeFEPE();
                 
            }
            if(especialistas[1].getFlagE() == 0)
            {
                 especialistas[1] = new Especialista(licitacao);
                 precos[x] =  especialistas[1].getPrecoFEPE();
                 prazos[x] =  especialistas[1].getPrazoFEPE();
                 nomes[x] =  especialistas[1].getNomeFEPE();
                 
               
            } 
            if(especialistas[2].getFlagE() == 0)
            {
                
                especialistas[2] = new Especialista(licitacao);
                precos[x] =  especialistas[2].getPrecoFEPE();
                prazos[x] =  especialistas[2].getPrazoFEPE();
                nomes[x] =  especialistas[2].getNomeFEPE();
                
            }    
            x++;
                 
            
         i++;
        }        
        /*AQUI O AGENTE EMPRESA PÚBLICA VERIFICA SE O VALOR DO FLAG2 = 3. SE A CONDIÇÃO FOR VERDADEIRA ELE DEDUZ QUE NENHUM FORNECEDOR PARTICIPOU DA 
        LICITAÇÃO, JÁ CASO A CONDIÇÃO NÃO SEJA SATISFEITA O FLUXO DO PROGRAMA PASSA PARA OS AGENTES ESPECIALISTAS QUE POSSUEM RESPONSABILIDADE DE
        JULGAR QUAL PROPOSTA É A MAIS VANTAJOSA DENTRO DO ESCOPO DA LICITAÇÃO*/
        if(licitacao.getFlag2EP() == 3)
        {
               System.out.println("\n\n<<<<<>>>>>EMPRESA PÚBLICA: NENHUM FORNECEDOR PARTICIPOU DA LICITAÇÃO<<<<<>>>>>\n\n");
        }       
        System.out.println("\n\n");
        x = 0;
        while(x < nomes.length)
        {
             System.out.println("NOME " + x + ":");
             System.out.println(nomes[x]);
             x++;
        }
        x = 0;
        while(x < precos.length)
        {
             System.out.println("PREÇO " + x + ":");
             System.out.println(precos[x]);
             x++;
        }
        x = 0;
        while(x < prazos.length)
        {
             System.out.println("PRAZO " + x + ":");
             System.out.println(prazos[x]);
             x++;
        }
        

        System.out.println("--------antes do if  ---------");
          if(especialistas[0].verificaTipoLicitacaoMP() == true)
          {
             especialistas[0].julgaTipoLicitacaoMP(precos, nomes);
          }
          
          /*
          if(especialistas[2].verificaTipoLicitacaoMT() == true)
          {
              especialistas[2].julgaTipoLicitacaoMT(double[] prazos); 
          }
          if(especialistas[3].verificaTipoLicitacaoMTP() == true)
          {
              especialistas[3].julgaTipoLicitacaoMTP(double[]precos, double[]prazos)
          }    
        
            
        */
        
       
      
       
    }   
}[code]

12 Respostas

lgi2020

Que mal lhe pergunte…

Cê tá testando o que?

O fórum?

:shock:

FelipeSN

:shock:

System.out.println ("What the fuck");
cv1

lgi2020:
Que mal lhe pergunte…

Cê tá testando o que?

O fórum?

:shock:

…o Caps Lock.

Realmente, quando se diz que da pra escrever COBOL em qualquer linguagem, nao eh de brincadeira.

FelipeSN

Eu acho que ele tava testando o programa dele, com intuito de rodar o programa direto do forum… :slight_smile:

aix

hahahahahah, que isso ? cada um que aparece.

alarangeiras

Fiquei em dúvida isso é Clipper ou Java? rs

Nunca pensei que ia ver programação estruturada denovo. Mas tudo bem!
Amigo Will, seguinte, não prefere dividir as responsabilidades do seu programa em classes (Filosofia dividir para conquistar)? Nós chamamos isso de coesão, torna o programa mais claro de ser lido e mais consiso, já que você vai saber exatamente o que cada classe está fazendo.
Se possivel também utilize Swing (ou AWT/SWT se preferir) além de ser melhor visualizado pelo usuário, o desenvolvimento se mostra mais fácil para o programador.
Correndo o risco de parecer redundante, o que pretende testar?

Espero ter ajudado

Abraços.

lgi2020

Muito boas! :stuck_out_tongue:

W

Já ouviu falar em Orientação a Objetos? Herança? Polimorfismo? Esse seu programa iria se tornar bem mais simples e fácil de entender.

Tsunami1
System.out.println ("What the fuck");  // (2)
higornucci

Já que ta todo mundo flodando, vou flodar tambem.

Ueh?

pedro_lima

Ate eu fiquei curioso ???

T

cv:
lgi2020:
Que mal lhe pergunte…

Cê tá testando o que?

O fórum?

:shock:

…o Caps Lock.

Realmente, quando se diz que da pra escrever COBOL em qualquer linguagem, nao eh de brincadeira.

huahuahau CV, o cara dos trocadilhos hauhauah

Criado 1 de novembro de 2008
Ultima resposta 3 de nov. de 2008
Respostas 12
Participantes 11