Advertisement
pfoco

Permitir Digitar Apenas Letras em Linguagem C

Oct 31st, 2015
1,100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.63 KB | None | 0 0
  1. /*
  2.  
  3.   * Programa: Permitir apenas a digitação de letras
  4.   * Data de criação: 13/10/2015
  5.   * Autor: Eric Cancellgliere (http://programacaoemfoco.com.br)
  6.   * Versão: 1.0
  7.   * Última modificação em [13/10/2015] feita por [Eric Cancellgliere]
  8.  
  9. */
  10.  
  11. //bibliotecas
  12. #include <stdio.h>
  13. #include <stdlib.h>
  14. #include <conio.h>//para utilizar o getch()
  15. #include <ctype.h>//para utilizar o isdigit()
  16.  
  17. int main(void)
  18. {
  19.     char digitado[50];//armazena o que foi digitado pelo usuário
  20.     char c;//armazena cada caractere digitado pelo usuário
  21.     int i=0;//variável para controlar o índice do vetor de caracteres
  22.    
  23.     printf ("Informe seu nome: ");
  24.    
  25.     do
  26.     {
  27.        c=getch();//captura o caractere digitado pelo usuário
  28.        if (isalpha(c)!=0 || c==32)//se for uma letra
  29.        {
  30.           digitado[i] = c;//armazena no vetor de caracteres
  31.           i++;//incrementa o índice do vetor de caracteres
  32.           printf ("%c", c);//exibe o caractere digitado
  33.        }
  34.        else if(c==8&&i)//se for pressionada a tecla BACKSPACE e houver caracteres já digitados
  35.        {
  36.           digitado[i]='\0';//o índice atual do vetor de caracteres recebe a terminação da string
  37.           i--;//o índice do vetor de caracteres é decrementado
  38.           printf("\b \b");//o caractere digitado é apagado da tela
  39.        }
  40.     }while(c!=13);//o loop vai ser executado até que a tecla pressionada seja o ENTER (código 13 na tabela ASCII)
  41.    
  42.     digitado[i]='\0';//o índice atual do vetor de caracteres recebe a terminação da string
  43.    
  44.     printf ("\n\nSeja bem-vindo, %s\n\n", digitado);
  45.    
  46.     system ("pause");
  47.     return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement