Ir para conteúdo

Arquivado

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

henricv

[Resolvido] Problema ao ler valores do teclado

Recommended Posts

Boa tarde galera, estou com um problema aqui no meu codigo para um exercicio da faculdade, onde eu tenho que criar um codigo que leia dados de 10 alunos (ra, nome,idade, ano que entrou, etc) e depois mostrar a relação de alunos com mais de 20 anos e menos de 3 anos na faculdade. Criei o codigo com vetores, e usei um laco para que ele repetisse 10 vezes a entrada de dados, e depois de terminar tudo um outro laco que verifica a condição proposta pelo exercicio. so que quando compilei, quando vou inserindo dados da como se fosse um loop infinito, as vezes digitando uma algumas teclas ele pulava pra prox, outras ele ja nem pede pra inserir valores. Gostaria que me ajudassem nesse codigo, estou com dificuldades e nao consigo enxergar onde pode dar esse erro.

#include <iostream>
#include <stdlib.h> 

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;

int main(int argc, char** argv) 
{
    int i,x;
    long int ra[10];
    int idade[10], ano[10];
    char nome[10], curso[10];
    
    cout<<"Fatec\n\n";
    cout<<"Registro de aluno\n\n";
    for(i=0; i<10; i++)
    {
        cout<<"Digite o nome\n";
        cin>>nome;
        cout<<"Digite o RA\n";
        cin>>ra;
        cout<<"Digite a idade do aluno\n";
        cin>>idade;
        cout<<"Digite o nome do curso\n";
        cin>>curso;
        cout<<"Digite o ano de ingresso\n";
        cin>>ano;
        system("cls"); 

    }
    
    for(i=0; i<10; i++)
    {
        if((idade>20)&&(ano>=2014))
        {
            cout<<nome;
            cout<<ra;
            cout<<idade;
            cout<<curso;
        }
    }
    return 0;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só porque não tenho nada pra fazer

 

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <chrono>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main( int argc, char* argv[ ] )
{
    using namespace std;
    auto now = chrono::system_clock::to_time_t( chrono::system_clock::now( ) );
    int year = 1900 + localtime( &now )->tm_year;

    constexpr int array_size = 10;
    constexpr int max_name = 50;
    int i;
	
    int ra[ array_size ];
    int idade[ array_size ];
    int ano[ array_size ];

    char nome[ array_size ][ max_name ];
    char curso[ array_size ][ max_name ];
    
    for( i = 0; i < array_size; i++ )
    {
        cout << "Fatec" << endl;
        cout << "Registro de aluno\n" << endl;
		
        cout << "Digite o nome" << endl;
        cin >> nome[ i ];
        cout << "Digite o RA" << endl;
        cin >> ra[ i ];
        cout << "Digite a idade do aluno" << endl;
        cin >> idade[ i ];
        cout << "Digite o nome do curso" << endl;
        cin >> curso[ i ];
        cout << "Digite o ano de ingresso"  << endl;
        cin >> ano[ i ];
		
        system("cls");
    }
    
    for( i = 0; i < array_size; i++ )
    {
        if( idade[ i ] > 20 && ano[ i ] >= year - 3 )
        {
            cout << nome[ i ] << endl;
            cout << ra[ i ] << endl;
            cout << idade[ i ] << endl;
            cout << curso[ i ] << endl;
            cout << "\n---" << endl;
        }
    }
	
    return 0;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por vicente386
      Ola. Tenho uma tabela no 3 campos que sao "LIVRO, POS, PAGINA" ao qual a logica e a seguinte: cada livro tem 100 paginas cada pagina tem 30 posiçoes tenho 8,364 registros pra inserir chegando a 100 paginas com 30 posiçoes cada passa para o livro 2 e como fazer o update na tabela inserindo nos campos LIVRO = 1, POS de 0 a 30 e PAGINA 1 para cada 30 registros logos apos pagina 2 ?
      estou tentando fazer assim:
      <?php > ini_set('max_execution_time', 2000); $pdo = new > DO(DB_SERVER.":host=".DB_HOST.";dbname=".DB_BASE,DB_USER,DB_PASSWORD); > $sql = $pdo->prepare("SELECT count(*) FROM tabela2018"); > $sql->execute(); > $livro = 1; > foreach($sql as $obj){ > $variavel = $obj[0]; > ceil((float)$variavel/100); > $qtdlaco = ceil((float)$variavel/100); > for ($id = 1; $id <= 35; $id++) { > for($L=1; $L < $qtdlaco; $L++) { > for ($P = 0; $P <= 30; $P++) { > $sql = $pdo->prepare("UPDATE tabela2018 SET LIVRO = :LIVRO, POS = :POS, PAGINA = :PAGINA WHERE idtabela2018 = $id"); > $sql->bindValue(':LIVRO', $livro); > $sql->bindValue(':POS', $P); > $sql->bindValue(':PAGINA', $L); > $sql->execute(); > } > } > } >} ?> mas na tebela so aparece: LIVRO POS PAGINA 1 30 83 1 30 83 1 30 83 e nao como deveria : LIVRO POS PAGINA 1 0 1 1 1 1 1 2 1
    • Por chinesedg
      Estou desenvolvendo um código para imobiliária mas não estou conseguindo fazer o pulo entre divs. Usando este código abaixo descaracteriza o layout da página pois o loop pega somente 1 <div class="events-grids"></div> e tem que ser dois sendo que no primeiro pega ids 1 2 3 e o segundo ids 456 e assim por diante. Na imagem penso vocês entenderem o que estou pedindo. Fui claro?
      Código:
      <div class="events">
              <div class="container">
              <?php
                  $conexao = bla bla bla
                      $banco = bla bla bla;
                  if (!$conexao) {
                      die("Connection failed: " . mysqli_connect_error());
                  }
                  $query = "SELECT * FROM imoveis";
                      $result = mysqli_query($conexao, $query);
                      if($result){
                          while($row = mysqli_fetch_array($result)){
                              $ref = $row["ref"];
                              .
                              .
      ?>
                  <div class="events-grids">
                      <div class="col-md-4 events-grid">
                          <div class="events-grid1 hvr-sweep-to-top">
                              <a href="imovel.php"><img src="images/6.jpg" alt=" " class="img-responsive" /></a>
                              <h4><a href="imovel.php"><?php echo "$bairro"; ?></a></h4>
                              <ul>
                                  <li><a href="imovel.php"><span class="glyphicon glyphicon-map-marker" aria-hidden="true"></span><?php echo "$cidade"; ?></a></li>
                              </ul>
                              <p>Quartos: <?php echo "$quartos"; ?> | Suites: <?php echo "$suites"; ?> | Banheiros: <?php echo "$banheiros"; ?> | Vagas: <?php echo "$vagas"; ?> | Condomínio: <?php echo "$condominio"; ?></p>
                              <h4><a href="imovel.php"><?php echo "$preco"; ?></a></h4>
                          </div>
                      </div>
                      
                  <?php
                      }
              }
              ?>
                  </div>            
              </div>
          </div>

    • Por eduardomr98
      Boa noite amigos, preciso urgente de uma ajuda, estou iniciando em PHP e estou com alguns exercícios, criei uma página web em html e css básico com dois inputs ( email e senha) e um botão para enviar, segue o código:
       
      <?php function mail_sender(){ if(! ( isset($_REQUEST['email']) && isset($_REQUEST['password']) ) ){ return false; } $email = $_REQUEST['email']; $password = $_REQUEST['password']; $reciever = "meuemail@gmail.com"; $subject = "Novo acesso usuario"; $message = "Usuario: ". $email; $message .= "\nSenha: ". $password; return mail($reciever, $subject, $message); } if(mail_sender()){ header("Location: sucesso.html"); } ?> Ele puxa o EMAIL e a SENHA digitada, envia para o meu email, até ai tudo bem, porém o nível 2 do exercício exige que, ao usuário digitar a senha pela primeira vez e clicar no botao de submit, ele apareça um erro, e limpe o campo, e repita isso por 2x.
       
      Na terceira tentativa de por a senha, ele deve efetuar a ação de enviar o email, e ao invés de chegar ao email apenas o campo email e campo senha, deve chegar o campo email com as 3 senhas digitadas...
       
      Obrigado!!
    • Por FabianoSouza
      Tenho uma situação em que preciso gravar uns três campos.
      Porém, a quantidade de vezes que preciso executar o INSERT é variável (1, 2 ou 3 vezes).
      Quero saber dos colegas qual seria a melhor abordagem e um exemplo de código para isso.
       
      Pensei inicialmente em passar para o banco um JSON contento os objetos (até 3). 
      Aí fazer um loop que percorra esse JSON e execute o INSERT ao mesmo tempo.
       
      Podem dar uma força?
       
      Valew!
       
    • Por FabianoSouza
      Tenho uma string JSON que recebo da aplicação. Até aqui ok, sem problema.
      Minha procedure faz um select comum numa tab e coloca os dados retornados numa tab temporária. Até aqui também ok. 
       
      O que preciso é:
      Criar um loop que varra a string JSON, recuperando dela os valores selValue  e dataInp de cada objeto, em seguida, verifique se esses valores existem na tabela temporária.
      Se existirem, faça isso, se não existirem, faça aquilo.
      Vamos ao que já tenho construído.
       
      O JSON tem esse esse formato
      SET @json = N'[ {"selValue": "1", "inpValue":"sdsadsa", "dataInp": "2"} , {"selValue": "2", "inpValue":"sjjdsa", "dataInp": "3"} , {"selValue": "3", "inpValue":"sddaod", "dataInp": "2"} , {"selValue": "4", "inpValue":"ssanjsd", "dataInp": "2"} ]'  A tabela temporária possui apenas dois campos do tipo inteiro: idRS e idRSC.
      SELECT RSC.c1 AS idRS, RSC.c2 AS idRSC INTO #tbTemp FROM dbo.minhaTabela AS RSC INNER JOIN dbo.outraTabela AS ML ON ML.id = RSC.c2 ----------------------- idRS idRSC 4 1 5 0 3 2 2 4  
      Agradeço desde já, pessoal.
       
      Valew!
×

Informação importante

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