Buscar

validar no ingreso de caracteres en c


 
 Old 23 abr 2009, 00:10   #1 (permalink)  
Miembro activo
 
Avatar de heralexis
 
Registrado: noviembre 2007
Mensajes: 406

Guay validar no ingreso de caracteres en c

me he dado cuenta de que varios foreros tienen problemas con la validacion de ingreso de caracteres en c
aqui les dejo el codigo funcionando de como validar esta cuestion:

Código PHP:
#include <stdio.h>
#include <ctype.h>
#include<windows.h>
 
 
 
#define FG_YELLOW (14)  // texto amarillo

int strlen(char *s)  //funcion calcula largo de la cadena
{
    
int n;
    for(
n=0;*s!='\0';s++)
        
n++;
    return 
n;

}


int valida(char cad[])  //funcion valida que la cadena ingresada no tenga caracteres

{
    
int i;
    
int c=0;
    for(
i=0;i<strlen(cad);i++)
        if (!
isdigit(cad[i]))
            
c++;

    if (
c>0)
        return 
0//tiene caracteres
    
else
        return 
1//no tiene caracteres 
    
    
     
}

int valida_ingresovoid//aqui se hace el trabajo de impedir el ingreso de caracteres y retorna un integer que es el 
                           // numero ingresado valido, sin caracteres

{     
    
void clrscr(void);
    
int valida(char[]);
    
char numero[20];
    
    
int intnumero;
    
    do
    {   
        
clrscr();

        
printf("Ingrese un numero: ");
        
scanf("%s",&numero);

 
     
    }while(!
valida(numero));

    
intnumero=atoi(numero);

    return 
intnumero;


}


void clrscr()/*Creando funcion para limpiar pantalla.*/

{

HANDLE hStdOut GetStdHandle(STD_OUTPUT_HANDLE);

COORD coord = {00};

DWORD count;

CONSOLE_SCREEN_BUFFER_INFO csbi;

GetConsoleScreenBufferInfo(hStdOut, &csbi);

FillConsoleOutputCharacter(hStdOut' 'csbi.dwSize.csbi.dwSize.Ycoord, &count);

SetConsoleCursorPosition(hStdOutcoord);

}

//-----Fijando color de consola:  

void color_texto(void)
{
    
HANDLE hStdInput INVALID_HANDLE_VALUE,

hStdOutput INVALID_HANDLE_VALUE;

hStdInput GetStdHandle(STD_INPUT_HANDLE);

hStdOutput GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(hStdOutputFG_YELLOW); 
}



void main()
{


void color_texto(void); // se puede omitir esta funcion

 
int valida_ingreso(void);
  
    
 
color_texto();
      
 
printf("\n\n%d",valida_ingreso());

printf("\n\n");



bueno ojala les sirva, el codigo pueden ajustarlo a sus necesidades.
heralexis is offline   Citar y responder
 
 Old 24 abr 2009, 03:53   #2 (permalink)  
Miembro activo
 
Avatar de -.Stvpro.-
 
Registrado: mayo 2008
Ubicación: En la Net
Mensajes: 1.319

Predeterminado Re: validar no ingreso de caracteres en c

Esta bueno , postealo en programación ahí lo veran mas

salu2

CPU FX-8350 X8 4,0 GHz (AM3+)
Water cooling H60 hydro series
Disco Duro Sata3 2Tb 7200 rpm Western Digital
Video PCIE HD6870 1024mb DDR5 Sapphire
Gabienete Thermaltake Black V5
16 GB DDR3 8GB 1866Mhz PC3-15000 Vengeance Corsair
Gigabyte® M/B AMD 990FXA-UD5 A/L (AM3+)
-.Stvpro.- is offline   Citar y responder
 
 Old 24 abr 2009, 04:46   #3 (permalink)  
Miembro activo
 
Avatar de heralexis
 
Registrado: noviembre 2007
Mensajes: 406

Alegre Re: validar no ingreso de caracteres en c

Cita:
-.Stvmaster_Net.- escribió: Ver post
Esta bueno , postealo en programación ahí lo veran mas

salu2
si tienes razon, pero antes voy a hacerle unas modificaciones
saludos
heralexis is offline   Citar y responder

« Tutorial: "NO a la infección por medio de dispositivos externos", por Agente89 | videotutoriales de ajax »

Herramientas
Estilo


 

Tema Iniciado por Foro Respuestas Último mensaje
agregar caracteres -232- Software 2 23 abr 2008 15:12
¡¡Problema raro con carácteres especiales!! Kurrus Software 0 18 feb 2007 19:07
Validar Windows XP luisolluis Software 1 06 dic 2006 13:22
Ver caracteres chinos, japoneses, etc Anton87 Software 1 10 jul 2006 16:11



Buscar