Ir para conteúdo
J.Pedro_OR

Como fazer um comando dentro do case para reiniciar o switch

Recommended Posts

Eu preciso fazer o sistema de uma urna eletrônica para um trabalho, e eu utilizei a estrutura de switch para fazer o menu de candidatos, e quero que o eleitor tenha a oportunidade de confirmar ou corrigir depois de escolher seu candidato. O problema é que eu não sei como fazer o switch reiniciar para que o eleitor possa escolher outro case, sendo que ele já havia selecionado um. Que é o que o botão "corrigir" faz. Segue o código produzido até agora:


#include <stdio.h>
#include <stdlib.h>

int main(void) {

  int confirmar, corrigir, candidato, titulo;
  int maeli, antonio, lissandro, branco, nulo;
  int condicaoverdade=1;

  printf("Digite seu núemro de eleitor:");
  scanf("%d", &titulo);

  printf("Candidatos para Presidente: \n");
  
  printf("Sra. Maeli Gente Boa nº17 \n");
  printf("Sr. Antônio do Brasil nº22 \n");
  printf("Dr. Lissandro Progresso nº31 \n");
  printf("Digite 1 para branco \n");
  printf("Digite o número de um candidato não existente para votar nulo \n");
  scanf("%i",&candidato);

  while(condicaoverdade){

    switch(candidato){

    case 17:
      printf("Sra. Maeli Gente Boa nº17 \n");
      printf("aperte \"c\" para confirmar \n");
      printf("aperte \"r\" para corrigir \n");
      scanf("%i",&confirmar);
      if (confirmar == 'c' ){
        condicaoverdade = 0;
        maeli++;
        break;
      }
      else if (confirmar == 'r'){
        condicaoverdade = 1;
      }
      break;

    case 22:
      printf("Sr. Antônio do Brasil nº22 \n");
      printf("aperte \"c\" para confirmar \n");
      printf("aperte \"r\" para corrigir \n");
      scanf("%i",&confirmar);
      if (confirmar == 'c'){
        condicaoverdade = 0;
        antonio++;
      }  
      else if (confirmar == 'r'){
        condicaoverdade = 1;
      }
      break;

    case 31:
      printf("Dr. Lissandro Progresso nº31 \n");
      printf("aperte \"c\" para confirmar \n");
      printf("aperte \"r\" para corrigir \n");
      scanf("%i",&confirmar);
      if (confirmar == 'c' ){
        condicaoverdade = 0;
        lissandro++;
      }  
      else if (confirmar == 'r'){
      condicaoverdade = 1;
      }
      break;

    case 1:
      printf("branco \n");
      printf("aperte \"c\" para confirmar \n");
      printf("aperte \"r\" para corrigir \n");
      scanf("%i",&confirmar);
      if (confirmar == 'c' ){
        condicaoverdade = 0;
        branco++;
      }  
      else if (confirmar == 'r'){
      condicaoverdade = 1;
      }
      break;

    default:
    printf("nulo \n");
    printf("aperte \"c\" para confirmar \n");
    printf("aperte \"r\" para corrigir \n");
    scanf("%i",&confirmar);
    if (confirmar == 'c' ){
      condicaoverdade = 0;
      nulo++;
    }
    else if (confirmar == 'r'){
      condicaoverdade = 1;
    }
    break;
  
  }
  return 0;
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Saylander
      Estou elaborando um projeto de um carrinho que esta sendo feito utilizando energia potencial gravitacional e energia cinética. Ai preciso desenvolver um programa que simula esse carrinho. E eu gostaria de saber como faço para fazer a relação de energia potencial gravitacional/energia cinética?  
    • Por rtavix
      Minha Pagina que desenvolvi.
       
      <!DOCTYPE html> <html lang="pt-br"> <head> <title>Emissao de comprovantes</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> </head> <body> <div class="container form-group col-md-12"> <div class="row"> <div class="form-group col-md-3"></div> <div class="form-group col-md-5"> <div class="clearfix"></div> <div class="form-group"> </div> <div class="panel panel-danger"> <div class="panel-heading"><img src="http://internet.sefaz.es.gov.br/imagens/topo_brasao.png" class="img-responsive center-block" alt="Cinque Terre"><h4 class="text-center">BNES SA</h4></div> <h5 class="text-center"><strong>BNES CORPORATIVO</strong></h5> <h5 class="text-center"><strong>Pagamento e Transferencias Eletrônicas</strong></h5> <h5 class="text-center"><strong>PAGAMENTO: Deposito</strong></h5> <form class="form-horizontal" action="/action_page.php"> <div class="form-group"> <label class="control-label col-sm-3 text-align: left " style="font-weight: normal">Titular: </label> <div class="col-sm-10"> <input type="password" class="form-control" id="inputPassword" placeholder="Password"> </div> </div> <div class="form-group"> <label class="control-label col-sm-3 text-align: left " style="font-weight: normal">Codigo de Barras:</label> </div> <div class="form-group"> <label class="control-label col-sm-3 text-align: left " style="font-weight: normal">Data de Pagamento:</label> </div> <div class="form-group"> <label class="control-label col-sm-3 text-align: left " style="font-weight: normal">Valor Documento:</label> </div> <div class="form-group"> <label class="control-label col-sm-3 text-align: left " style="font-weight: normal">Protocolo:</label> </div> <div class="form-group"> <label class="control-label col-sm-3 text-align: left " style="font-weight: normal">Registro:</label> </div> <div class="form-group"> <label class="control-label col-sm-3 text-align: left " style="font-weight: normal">Emissao:</label> </div> </form> </div> <div class="pull-right"> <button class="btn btn-success" id="btnImprimir" type="button"><p>IMPRIMIR <span class="glyphicon glyphicon-print"></span></p></button> </div> </div> <div class="form-group col-md-3"></div> </div> </div> </body> </html>  
      A ideia é que  quando eu clicar no botão de imprimir dentro de uma gridview ele chama essa pagina que postei logo acima e exibir os dados via label trazendo do banco, mas até o momento eu estou agarrada na parte da modal.
       
       
      Classe do evento click do meu botão que chama a pagina de cima.
       
      protected void ImgImprimir_Click(object sender, EventArgs e) { Response.Redirect("frmImprimir.aspx"); } Meu html da minha pagina:
       
      meu html do botão referente ao metodo:
      <ItemTemplate> <asp:LinkButton ID="imgImprimir" runat="server" CausesValidation="false" CommandArgument='<%#Eval("Flag")%>' CommandName="Imprimir" CssClass="iconesTabelas icon_imprimir" OnClick="ImgImprimir_Click" ToolTip="Imprimir" /> </ItemTemplate>  
    • Por dudaperrut
      meu programa esta dando falha de segmentação nessa função. 
       
      Uma função que recebe dois vetores, o seu tamanho e uma variável ponteiro. A função deve achar o maior elemento do vetor v1 e o menor elemento do vetor v2. A função deve retornar o valor do maior elemento de v1.
      void *MaiorMenor (float *vet1, float *vet2, int tam, float *maior) { float *menor; int i; maior = (float*)malloc(tam * sizeof(float)); for(maior=0; maior<tam; maior++) { for(i=0; i<tam; i++) { if(*(vet1+(tam-i-1)) > *maior) { *maior = *(vet1+(tam-i-1)); } } } menor = (float*)malloc(tam * sizeof(float)); for(menor=0; menor<tam; menor++) { for(i=0; i<tam; i++) { if(*(vet2+(tam-i-1)) < *menor) { *menor = *(vet1+(tam-i-1)); } } } return (maior); }  
    • Por DarthNukku
      Algoritmo: Totobola 
        
      O algoritmo utiliza uma matriz de 13x3 para registar os resultados da jornada de futebol, na configuração 1X2, em que 1 ganhou a equipa da casa, X empataram e 2 ganhou a equipa visitante. 
      Desenvolva para uma casa de apostas a recolha das apostas de vários utilizadores e o cálculo dos resultados acertados. Sabendo que os prémios são atribuídos de acordo com a tabela seguinte, o algoritmo deve apresentar o número de premiados em 1º, 2º ou 3º lugar. 
        
        1º prémio 
      13 
      2º prémio 
      12 
      3º prémio 
      11
    • Por son goku
      Boa tarde pessoal.
      Estou com o seguinte problema:
      ao clicar no numero da paginação,ela não exibe os dados,vou postar o código abaixo para voçês,verem.
      Quem poder me ajudar:
      <?php session_start(); if (!isset($_SESSION["id"]) || !isset($_SESSION["nome"])){     echo "Você não fez o login no sistema."; } ?> <html> <head> <title>Tipo de consulta</title> </head> <body> <table border="1"> <tr> <td>Descrição:</td>  <td>Forma de pagamento:</td> <td>Valor da parcela: </td> <td>Quantidade de parcelas:</td> <td>Numero da parcela:</td> <td>Pago:</td> <td>Cartão:</td> <td>Numero do cart&atildeo:</td> <td>Data de vencimento:</td> </tr> <?php include "conecta_banco.php"; $idusu = $_SESSION["id"]; $consulta =  isset( $_POST["tipo_consulta"] ) ? $_POST["tipo_consulta"] : null; switch ($consulta){          case "exibe_tudo":               $pagina = (isset($_GET['pagina']))? $_GET['pagina'] : 1;                  //seleciona todos os itens da tabela         $sent_sql = "SELECT * FROM gastos";         $result = mysql_query($sent_sql);                  //conta o total de itens         $total = mysql_num_rows($result);                  //seta a quantidade de itens por página, neste caso, 2 itens         $registros = 20;                  //calcula o número de páginas arredondando o resultado para cima         $numPaginas = ceil($total/$registros);                  //variavel para calcular o início da visualização com base na página atual         $inicio = ($registros*$pagina)-$registros;                  //seleciona os itens por página         $sent_sql = "SELECT * FROM gastos LIMIT $inicio,$registros";         $result = mysql_query($sent_sql);         $total = mysql_num_rows($result);                                     while($tbl = mysql_fetch_array($result))         {                         $descricao = $tbl["descricao_gasto"];             $formapagamento = $tbl["moeda"];             $valor = $tbl["valor_gasto"];             $quantidade = $tbl["quant_parcela"];             $numerodaparcela = $tbl["num_parcela"];             $tapago = $tbl["pago"];             $cartao = $tbl["cartao"];             $numcartao= $tbl["num_cartao"];             $datavencimento = $tbl["data_venc"];                                                                                                /* Aqui converto a data que vem do mysql no formato y/m/d              * para d/m/y */                          $datavencimentoconv = date("d/m/Y",strtotime($datavencimento));                                         echo "<tr>";             echo "<td>$descricao </td>";             echo "<td>$formapagamento </td>";             echo "<td>R$ $valor </td>";             echo "<td>$quantidade </td>";             echo "<td>$numerodaparcela</td>";             echo "<td>$tapago</td>";             echo "<td>$cartao </td>";             echo "<td>$numcartao </td>";             echo "<td>$datavencimentoconv </td>";             echo "</tr>";                      }                                    $sent_sql2 = "SELECT sum(valor_gasto) FROM gastos WHERE usu_id='$idusu'";         $result2 = mysql_query($sent_sql2);                  while($sum = mysql_fetch_array($result2)){             $soma = $sum['sum(valor_gasto)'];                          echo "<tr>";             echo "<td>Total: </td>";             echo "<td>R$ $soma</td>";             echo "</tr>";                        }                  //exibe a paginação         for($i = 1; $i < $numPaginas + 1; $i++) {             echo "<a href='tipoconsulta.php?pagina=$i'>".$i."</a> ";         }                 break; }   ?> </table> </body> </html> Acredito que seja algo,simpless porém já estou a um bom tempo quebrando a cabeça com isso.
×

Informação importante

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