Usuário com melhor resposta
Permitir apenas numeros - Linguagem C

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); }
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
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
-
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.