none
Permitir apenas numeros - Linguagem C RRS feed

  • Pergunta

  • Ola.

    Preciso da ajuda de vocês galera.

    Quero que determinada função receba apenas números entre 100 à 999 e invalida o restante, inválido para números menos de 100 e maiores de 999 e todas as letras.

    Abaixo a função que desejo fazer isso:

    void alteracao_de_info(int nroRegis)// ALTERAR INFORMAÇÃO DE LIVROS
    {
        Livros *aux, *aux2;
        aux = vetor;
    
         while(aux->nroRegistro != nroRegis && aux->prox !=NULL)
        {
            aux2 = aux;
            aux = aux->prox;
        }
    
        if(aux->nroRegistro == nroRegis)
        {
               printf("\n \n");
               fflush(stdin);
               printf(" Digite o titulo: ");
               gets(aux->titulo);
               fflush(stdout);
    
               printf(" Digite o assunto: ");
               gets(aux->assunto);
               fflush(stdout);
    
               printf(" Digite o nome do autor: ");
               gets(aux->autor);
               fflush(stdout);
        }

    terça-feira, 30 de abril de 2013 14:36

Respostas

  • Simples, use um if(){ }:

    void alteracao_de_info(int nroRegis)// ALTERAR INFORMAÇÃO DE LIVROS { Livros *aux, *aux2; aux = vetor; if ((nroRegis >= 100) && (nroRegis <= 999)) { while(aux->nroRegistro != nroRegis && aux->prox !=NULL) { aux2 = aux; aux = aux->prox; } if(aux->nroRegistro == nroRegis) { printf("\n \n"); fflush(stdin); printf(" Digite o titulo: "); gets(aux->titulo); fflush(stdout); printf(" Digite o assunto: "); gets(aux->assunto); fflush(stdout); printf(" Digite o nome do autor: "); gets(aux->autor); fflush(stdout); } }
    else
    printf("Numero invalido.\n");

    }



    Assembly, Delphi and C.

    • Sugerido como Resposta Matgasp terça-feira, 30 de abril de 2013 16:36
    • Marcado como Resposta The dark night.10013 terça-feira, 30 de abril de 2013 17:18
    terça-feira, 30 de abril de 2013 16:36

Todas as Respostas

  • Simples, use um if(){ }:

    void alteracao_de_info(int nroRegis)// ALTERAR INFORMAÇÃO DE LIVROS { Livros *aux, *aux2; aux = vetor; if ((nroRegis >= 100) && (nroRegis <= 999)) { while(aux->nroRegistro != nroRegis && aux->prox !=NULL) { aux2 = aux; aux = aux->prox; } if(aux->nroRegistro == nroRegis) { printf("\n \n"); fflush(stdin); printf(" Digite o titulo: "); gets(aux->titulo); fflush(stdout); printf(" Digite o assunto: "); gets(aux->assunto); fflush(stdout); printf(" Digite o nome do autor: "); gets(aux->autor); fflush(stdout); } }
    else
    printf("Numero invalido.\n");

    }



    Assembly, Delphi and C.

    • Sugerido como Resposta Matgasp terça-feira, 30 de abril de 2013 16:36
    • Marcado como Resposta The dark night.10013 terça-feira, 30 de abril de 2013 17:18
    terça-feira, 30 de abril de 2013 16:36
  • Nossa apenas isso?! rs

    Eu procurei em outros fóruns, e lá tinha códigos bem chatinhos que tem que ter importar bibliotecas, etc. Que dão até bip quando você aperta alguma letra, um deles quase funcionou depois desisti.

    Obrigado cara mais uma vez.

    terça-feira, 30 de abril de 2013 17:19