Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marlonxb

[Resolvido] Tem alguma coisa muito estranha. Mesmo "forçando" o valor do atributo, o "If" e o "While" não respeita a condição.

Recommended Posts

Olá pessoal. Comecei a estudar programação por conta. Estou tentando fazer umas atividades bem simples para praticar. To tentando fazer uma calculadora em JS. No meio disso, tenho uma condição que na minha cabeça é aparentemente simples. Aparentemente não, é simples na vdd. Um "If" dentro de um "DoWhile". O trecho é o seguinte: 

do{
    operador=prompt("Calculadora: 1-Adição, 2-Subtração, 3-Multiplicação, 4-Divisão")
    operador= parseInt(operador)
    if(operador!=1||operador!=2||operador&&3||operador&&4){
        alert('Operador Inválido')
    }
}while(operador!=1||operador!=2||operador!=3||operador!=4)

Mesmo se eu logo em seguida do "operador= parseInt(operador)" colocar "operador=1" ele cai dentro do "if" e fica preso no loop prescrito no "while()".

 

Digamos que o "operador" esta valendo '1'(int). O "if" faria a seguinte pergunta... 1!=1?. Resposta.... não. E pularia o "if".

Quando chegasse na condição "while", iria peguntar... 1!=1? Resposta.... Não. Então cairia fora do loop e iria da continuidade no cógido.

 

Sei que é uma questão boba, porém nao ta funcionando aki pra mim. Poderia tentar fazer de outra forma a lógica, e tbm utilizar outra estrutura de repetição para testar, mas qro aprender o que esta de errado aki pra tirar como lição. 
 

Caso alguem responda, agradeço desde já. 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Marlon, tudo bem?

 

A questão que encontrei aqui foi a seguinte, seu `if` verifica se o operador é diferente de 1, mas também verifica se é diferente de 2, ou seja, se "operador != 2" então neste caso temos `true` e consequentemente sua lógica é verdadeira. Acredito que o que você pretendia fazer é, substituir o `||` por `&&` correto?

 

Quando usamos `||` (ou) se ao menos um for verdadeiro, sua lógica será verdadeira.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Peço perdão referente ao print. ele tava daquele jeito com o '&&' dentro do 'if' pq eu estava testando apenas. Pensei que tinha errado no operador, mas nãe era ele o problema. image.png.9dff069329fd8e3a77e4ec21c1d40d4a.png

Eu preciso que apenas uma daquelas condições seja verdadeira mesmo. Porém ele cai no "if" mesmo se respeita a condição.

image.png.5b79f966046288ca60dd433acc369596.png

usei até o debugger do firefox pra tenta descobrir, mais nao achei o motivo.

image.png.c5bc49f7e8c4363ee74248a2662d368a.png.

Alguem consegue ver o pq disso?,

 

Agradeço desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tive a con

Em 07/09/2018 at 20:15, Thales Caricati disse:

Olá Marlon, tudo bem?

 

A questão que encontrei aqui foi a seguinte, seu `if` verifica se o operador é diferente de 1, mas também verifica se é diferente de 2, ou seja, se "operador != 2" então neste caso temos `true` e consequentemente sua lógica é verdadeira. Acredito que o que você pretendia fazer é, substituir o `||` por `&&` correto?

 

Quando usamos `||` (ou) se ao menos um for verdadeiro, sua lógica será verdadeira.

Entendi melhor o q você disse Thales. Resolvi o problema. EU tinha a concepção errada do 'Or' e 'And'. Obrigado
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você poderia começar a pensar em "dividir para conquistar" pois uma calculadora tem a sua complexidade.

 

Por exemplo, comece pensando em obter uma funcionalidade simples como a adição e aos poucos vá juntando as outras.

 

Comecei o layout, veja se ajuda a desenrolar a idéia - https://codepen.io/angelorubin/pen/RYyWMp?editors=0011

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por leonardorafaeldev
      Boa noite pessoal estou com um problema que o icone do meu site não aparece no mobile segue uma foto do problema o meu codigo esta assim
       
      <!-- icones -->   <link href="icones/favicon.ico" rel="icon">   <link href="icones/favicon.ico" rel="shortcut icon">    <link rel="apple-touch-icon" sizes="57x57" href="icones/apple-icon-57x57.png">   <link rel="apple-touch-icon" sizes="60x60" href="icones/apple-icon-60x60.png">   <link rel="apple-touch-icon" sizes="72x72" href="icones/apple-icon-72x72.png">   <link rel="apple-touch-icon" sizes="76x76" href="icones/apple-icon-76x76.png">   <link rel="apple-touch-icon" sizes="114x114" href="icones/apple-icon-114x114.png">   <link rel="apple-touch-icon" sizes="120x120" href="icones/apple-icon-120x120.png">   <link rel="apple-touch-icon" sizes="144x144" href="icones/apple-icon-144x144.png">   <link rel="apple-touch-icon" sizes="152x152" href="icones/apple-icon-152x152.png">   <link rel="apple-touch-icon" sizes="180x180" href="icones/apple-icon-180x180.png">   <link rel="icon" type="image/png" sizes="192x192"  href="icones/android-icon-192x192.png" >   <link rel="icon" type="image/png" sizes="36x36" href="icones/android-icon-36x36.png">   <link rel="icon" type="image/png" sizes="48x48" href="icones/android-icon-48x48.png">   <link rel="icon" type="image/png" sizes="96x96" href="icones/android-icon-96x96.png">   <link rel="icon" type="image/png" sizes="144x144" href="icones/android-icon-144x144.png">   <link rel="icon" type="image/png" sizes="72x72" href="icones/android-icon-72x72.png">   <link rel="icon" type="image/png" sizes="32x32" href="icones/favicon-32x32.png">   <link rel="icon" type="image/png" sizes="96x96" href="icones/favicon-96x96.png">   <link rel="icon" type="image/png" sizes="16x16" href="icones/favicon-16x16.png">   <link rel="manifest" href="icones/manifest.json">   <meta name="msapplication-TileColor" content="#ffffff">   <meta name="msapplication-TileImage" content="icones/ms-icon-144x144.png">   <meta name="theme-color" content="#ffffff">   <meta charset="utf-8">   <meta content="width=device-width, initial-scale=1.0" name="viewport">
    • Por Onaita
      Boa noite, preciso de uma ajuda com o código abaixo:
      - Dentro da variável '$dados' tenho uma array em que o id repete com datas diferentes, preciso descartar uma das duas arrays repetidas com o mesmo 'id', mantendo a de menor data, ou seja, o resultado final seria:
      "Array ( [0] => Array ( [id] => 12 [data] => 2020-07-02 ) , [1] => Array ( [id] => 13 [data] => 2020-06-10 ) ) "
      - já tentei de tudo um pouco a princípio estou trabalhando com a ideia de loop dentro de loop, para varrer e comparar, mas como vcs podem ver estou deixando passar alguma coisa;
      <?php
      $dados =     [array("id" =>12, "data"=>"2020-07-02"),
                  array("id" =>13, "data"=>"2020-06-10"),
                  array("id" =>13, "data"=>"2020-06-15"),
                  array("id" =>12, "data"=>"2020-05-12")];
      $total = count($dados);
      foreach($dados as $item){
          for($i=1; $i < $total; $i++){
              if($item['id'] == $dados[$i]['id']){
                  if(strtotime($item['data']) <= strtotime($dados[$i]['data'])){
                      unset($dados[$i]);
                      $dados = array_values($dados);
                      $total = count($dados);
                      
                  }    
              }    
          }    
      }
      print_r($dados);
      Array ( [0] => Array ( [id] => 12 [data] => 2020-07-02 ) ) //resultado
       
      Se alguém achar o erro, ou uma forma de resolver esse problema ficarei muito agradecido!
      Obrigado e Um grande abrs a todos!
    • Por Licht
      Quero um programa que leia vários numeros e informa quantos pares foram digitados. Quando o número 0 (zero) for digitado ele para a execucao. O programa entra num loop e nao funciona como gostaria <?php             $cont= 0;             do {                 echo "<form method='GET' action='exemplo.php'><br/>";                 echo "<h1>Quantidade de numeros pares</h1><br/>";                 echo "<label for='num'>Numero: </label><br/>";                 echo "<input type='number' name='num'/><br/><br/>";                 echo "<input type='submit' value='Verificar'>";                 echo "</form>";                 echo "Contador: $cont";                 $num_verificar = isset($_GET["num"]) ? $_GET["num"] : ' ';                 if($num_verificar%2 == 0)                     $cont ++;             } while ($num_verificar != 0);             echo "Quantidade de numeros pares eh $cont! <br/>"; ?>             
    • Por G_Celebrini
      Eu tô no primeiro ano de faculdade e tenho que criar um jogo da velha com as seguintes regras: Desenvolver o Jogo da Velha utilizando matrizes. O jogo deve ser preparado para a interação entre dois usuários. Os usuários deverão escolher os símbolos que utilizarão no jogo. Cada partida deverá ser composta de três rodadas. O resultado final deve considerar que ganhou duas ou três partidas como vencedor. Havendo um empate e uma vitória para cada lado, o sistema deverá propor uma partida final. Caso os usuário declinem desta partida deverá ser considerado empate técnico. Deve haver rotina específica para que os usuários optem pelo abandono do jogo dando, nesse caso, a vitória da rodada ao adversário.
      Eu ainda sou bem iniciante em programação e tenho esse código até agora:
       
      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="UTF-8"/>
          <title> Bagulho é doido memo </title>
          <style type="text/css">
      #text {
         
         font-size: 45px;
      }
      </style>
      </head>
      <body>
          <input type=submit value="1"
          onclick = "location.href = 'testes.php?id=1'">
          <input type=submit value="2"
          onclick = "location.href = 'testes.php?ad=1'">
          <input type=submit value="3"
          onclick = "location.href = 'testes.php?bd=1'">
          <input type=submit value="4"
          onclick = "location.href = 'testes.php?cd=1'">
          <input type=submit value="5"
          onclick = "location.href = 'testes.php?dd=1'">
          <input type=submit value="6"
          onclick = "location.href = 'testes.php?ed=1'">
          <input type=submit value="7"
          onclick = "location.href = 'testes.php?fd=1'">
          <input type=submit value="8"
          onclick = "location.href = 'testes.php?gd=1'">
          <input type=submit value="9"
          onclick = "location.href = 'testes.php?hd=1'">
          <input type=submit value="10"
          onclick = "location.href = 'testes.php?jd=1'">
          <input type=submit value="20"
          onclick = "location.href = 'testes.php?kd=1'">
          <input type=submit value="30"
          onclick = "location.href = 'testes.php?ld=1'">
          <input type=submit value="40"
          onclick = "location.href = 'testes.php?md=1'">
          <input type=submit value="50"
          onclick = "location.href = 'testes.php?nd=1'">
          <input type=submit value="60"
          onclick = "location.href = 'testes.php?od=1'">
          <input type=submit value="70"
          onclick = "location.href = 'testes.php?pd=1'">
          <input type=submit value="80"
          onclick = "location.href = 'testes.php?qd=1'">
          <input type=submit value="90"
          onclick = "location.href = 'testes.php?rd=1'">
          <h1></h1>
          <?php

      //----------------------------------------------------------------------------------------------------------------------------------------//
      //início do código php, que começa com a declaração do array multidimensional que vai ser o jogo da velha
      //----------------------------------------------------------------------------------------------------------------------------------------//

          $hash_game = array(
           array("barra1" => "|","espaço1" => "---","barra2" => "|","espaço2" => "---","barra3" => "|","espaço3" => "---","barra" => "|"),
           array("barra4" => "|","espaço4" => "---","barra5" => "|","espaço5" => "---","barra6" => "|","espaço6" => "---","barra_" => "|"),
           array("barra7" => "|","espaço7" => "---","barra8" => "|","espaço8" => "---","barra9" => "|","espaço9" => "---","barra__" => "|")
          );
          $vitoria_x = 0;
          $vitoria_o = 0;
      //----------------------------------------------------------------------------------------------------------------------------------------//
      //procedimento responsável por exibir o array
      //----------------------------------------------------------------------------------------------------------------------------------------//

          function exibir_jogo ($hash_game) {
              echo $hash_game[0]['barra1'];
              echo $hash_game[0]['espaço1'];
              echo $hash_game[0]['barra2'];
              echo $hash_game[0]['espaço2'];
              echo $hash_game[0]['barra3'];
              echo $hash_game[0]['espaço3'];
              echo $hash_game[0]['barra'];
              echo "<br/>";
              echo $hash_game[1]['barra4'];
              echo $hash_game[1]['espaço4'];
              echo $hash_game[1]['barra5'];
              echo $hash_game[1]['espaço5'];
              echo $hash_game[1]['barra6'];
              echo $hash_game[1]['espaço6'];
              echo $hash_game[1]['barra_'];
              echo "<br/>";

              echo $hash_game[2]['barra7'];
              echo $hash_game[2]['espaço7'];
              echo $hash_game[2]['barra8'];
              echo $hash_game[2]['espaço8'];
              echo $hash_game[2]['barra9'];
              echo $hash_game[2]['espaço9'];
              echo $hash_game[2]['barra__'];
          }
          exibir_jogo ($hash_game);
          
          echo "<br/>";
          echo "<br/>";
          echo "<br/>";
      //----------------------------------------------------------------------------------------------------------------------------------------//
      //condicionais para fazerem os botões exibirem "x" ou "o"
      //----------------------------------------------------------------------------------------------------------------------------------------//

          if(isset($_GET['id']) == 1){
       $hash_game[0]['espaço1'] = "-x-";
       echo "<br/>";    
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['ad']) == 1){
       $hash_game[0]['espaço2'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['bd']) == 1){
       $hash_game[0]['espaço3'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['cd']) == 1){
       $hash_game[1]['espaço4'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['dd']) == 1){
       $hash_game[1]['espaço5'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['ed']) == 1){
       $hash_game[1]['espaço6'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['fd']) == 1){
       $hash_game[2]['espaço7'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['gd']) == 1){
       $hash_game[2]['espaço8'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['hd']) == 1){
       $hash_game[2]['espaço9'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
      if(isset($_GET['jd']) == 1){
       $hash_game[0]['espaço1'] = "-o-";
       echo "<br/>";    
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['kd']) == 1){
       $hash_game[0]['espaço2'] = "-o-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['ld']) == 1){
       $hash_game[0]['espaço3'] = "-o-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['md']) == 1){
       $hash_game[1]['espaço4'] = "-o-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['nd']) == 1){
       $hash_game[1]['espaço5'] = "-o-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['od']) == 1){
       $hash_game[1]['espaço6'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['pd']) == 1){
       $hash_game[2]['espaço7'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['qd']) == 1){
       $hash_game[2]['espaço8'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['rd']) == 1){
       $hash_game[2]['espaço9'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
      //----------------------------------------------------------------------------------------------------------------------------------------//
      //condicionais que determinam a vitória de x
      //----------------------------------------------------------------------------------------------------------------------------------------//
      if (($hash_game[0]['espaço1'] == "-x-" && $hash_game[1]['espaço5'] == "-x-" && $hash_game[2]['espaço9'] == "-x-") || ($hash_game[0]['espaço3'] == "-x-" && $hash_game[1]['espaço5'] == "-x-" && $hash_game[2]['espaço7'] == "-x-") || ($hash_game[0]['espaço1'] == "-x-" && $hash_game[0]['espaço2'] == "-x-" && $hash_game[0]['espaço3'] == "-x-") || ($hash_game[1]['espaço4'] == "-x-" && $hash_game[1]['espaço5'] == "-x-" && $hash_game[1]['espaço6'] == "-x-") || ($hash_game[2]['espaço7'] == "-x-" && $hash_game[2]['espaço8'] == "-x-" && $hash_game[2]['espaço9'] == "-x-") || ($hash_game[0]['espaço1'] == "-x-" && $hash_game[1]['espaço4'] == "-x-" && $hash_game[2]['espaço7'] == "-x-") || ($hash_game[0]['espaço2'] == "-x-" && $hash_game[1]['espaço5'] == "-x-" && $hash_game[2]['espaço8'] == "-x-") || ($hash_game[0]['espaço3'] == "-x-" && $hash_game[1]['espaço6'] == "-x-" && $hash_game[2]['espaço9'] == "-x-")){
          $vitoria_x = $vitoria_x + 1;
      }
      //----------------------------------------------------------------------------------------------------------------------------------------//
      //condicionais que determinam a vitória de o
      //----------------------------------------------------------------------------------------------------------------------------------------//

      if (($hash_game[0]['espaço1'] == "-o-" && $hash_game[1]['espaço5'] == "-o-" && $hash_game[2]['espaço9'] == "-o-") || ($hash_game[0]['espaço3'] == "-o-" && $hash_game[1]['espaço5'] == "-o-" && $hash_game[2]['espaço7'] == "-o-") || ($hash_game[0]['espaço1'] == "-o-" && $hash_game[0]['espaço2'] == "-o-" && $hash_game[0]['espaço3'] == "-o-") || ($hash_game[1]['espaço4'] == "-o-" && $hash_game[1]['espaço5'] == "-o-" && $hash_game[1]['espaço6'] == "-o-") || ($hash_game[2]['espaço7'] == "-o-" && $hash_game[2]['espaço8'] == "-o-" && $hash_game[2]['espaço9'] == "-o-") || ($hash_game[0]['espaço1'] == "-o-" && $hash_game[1]['espaço4'] == "-o-" && $hash_game[2]['espaço7'] == "-o-") || ($hash_game[0]['espaço2'] == "-o-" && $hash_game[1]['espaço5'] == "-o-" && $hash_game[2]['espaço8'] == "-o-") || ($hash_game[0]['espaço3'] == "-o-" && $hash_game[1]['espaço6'] == "-o-" && $hash_game[2]['espaço9'] == "-o-")){
          $vitoria_o = $vitoria_o + 1;
      }
      //----------------------------------------------------------------------------------------------------------------------------------------//
      //----------------------------------------------------------------------------------------------------------------------------------------//

      echo "<br/>";
          ?>
      </body>
      </html>
       
       
      Eu criei a matriz e tentei usar botôes pra chamar funções dando "ids" para eles, mas toda fez que eu aperto um botão a página recarrega, perdendo todas as informações colocadas antes, esse é o meu principal problema agora. Se alguém puder me ajudar...
    • Por Th14g0
      Novato em php, está dando erro ao enviar e-mail
       
      Código do form:
      <form action="contato.php" method="post" id="orcamento">
                              <div class="input-field">
                                  <input type="text" name="name" id="name" required="true">
                                  <label for="name">Nome</label>
                              </div>
                              <div class="input-field">
                                  <input type="email" name="email" id="email" required="true">
                                  <label for="email">E-mail</label>
                              </div>
                              <div class="input-field">
                                  <input type="text" name="assunto" id="assunto" required="true">
                                  <label for="assunto">Assunto</label>
                              </div>
                              <select class="browser-default" name="service" id="service" required="true">
                                  <option value="" disabled selected>Selecione o serviço:</option>
                                  <option value="1">Industrial e Comercial</option>
                                  <option value="2">Imóveis</option>
                                  <option value="3">Jurídico</option>
                                  <option value="" disabled="">Outros</option>
                                  <option value="4">Sugestões</option>
                                  <option value="5">Dúvidas</option>
                                </select>
                              <div class="input-field">
                                  <textarea id="message" name="message" class="materialize-textarea"></textarea>
                                  <label for="message">Mensagem</label>
                              </div>
                              <button class="btn color-y" type="submit">Enviar</button>
       
      php
       
      <?php
      // Recebendo dados do formulário
      $name = $_POST['name'];
      $email = $_POST['email'];
      $assunto = $_POST['assunto'];
      $service = $_POST["service"];
      $message = $_POST['message'];

      $headers = "Content-Type: text/html; charset=utf-8\r\n";
      $headers .= "From: $email\r\n";
      $headers .= "Reply-To: $email\r\n";
      // Dados que serão enviados
      $corpo = "Formulário da página de contato <br>";
      $corpo .= "Nome: " . $name . " <br>";
      $corpo .= "Email: " . $email . " <br>";
      $corpo .= "Assunto: " . $assunto . " <br>";
      $corpo .= "Serviço: " . $service . " <br>";
      $corpo .= "Mensagem: " . $message . " <br>";
      // Email que receberá a mensagem (Não se esqueça de substituir)
      $email_to = 'contato@saudetotalvendasonline.com.br';
      // Enviando email
      $status = mail($email_to, mb_encode_mimeheader($service, "utf-8"), $corpo, $headers);
      if ($status):
        // Enviada com sucesso
        header('location:index.php?status=sucesso');
      else:
        // Se der erro
        header('location:index.php?status=erro');
      endif;
      ?>
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.