C/Visual C - superurge

 
Vista:

superurge

Publicado por POR FAVOR (1 intervención) el 18/03/2007 21:31:10
Hola agradeceria si alguien me pudiera ayudar a validar datos en c, es decir si yo le pido al usuario un numero sea entero o flotante, si el usuario sin querer introduce una letra, entonces que le mande un mensaje de error y que el sistema no se trabe. por favor, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:superurge

Publicado por Nelek (816 intervenciones) el 19/03/2007 07:48:33
En C no se si estan, pero en C++ tienes... (Sacado de la ayuda de MSDN)
::::::::::::::::::::::::::::::::::::::::.
The IsCharAlphaNumeric function determines whether a character is either an alphabetic or a numeric character. This determination is based on the semantics of the language selected by the user during setup or by using Control Panel.

BOOL IsCharAlphaNumeric(
TCHAR ch // character to test
);

Parameters
ch
Specifies the character to be tested.
Return Values
If the character is alphanumeric, the return value is nonzero.

If the character is not alphanumeric, the return value is zero. To get extended error information, call GetLastError.
:::::::::::::::::::::::::::::::::::::::::::::::

Tambien puedes usar (para cambiar entre letras y numeros) las funciones:

atoi, itoa, atol, ltoa, atof, ftoa...

Links del foro:

http://www.lawebdelprogramador.com/news/mostrar_new.php?id=13&texto=C/Visual+C&n1=179394&n2=1&n3=0&n4=0&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0

http://www.lawebdelprogramador.com/news/mostrar_new.php?id=13&texto=C/Visual+C&n1=2659&n2=1&n3=0&n4=0&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0

Aqui te he puesto un par de links... pero hay muchos mensajes mas en el foro donde este tema ha sido tratado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:superurge

Publicado por ...is@i@s... (1 intervención) el 20/03/2007 06:11:33
mira para que tu programa no truene, las entradas de datos solicitalas como cadenas... y de ahi haces las conversiones..

si tu esperas un int y metes un char o string, tronaria, si pides todo como cadena no tronaria, pero harias mucho parseo..

suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:superurge

Publicado por ...is@i@s... (46 intervenciones) el 20/03/2007 06:42:16
prueba esto:

#include<string.h>
#include<stdio.h>
#include<conio.h>


char *captura_letras(int x,int y)
{
char *arreg,key;
int v=0,i=0;
for (v=0; v<80; v++)
{
arreg[v]=0;
}
do
{
_setcursortype(1);
key=getch();
if(key==' ' || (key>='A'&&key<='Z') || (key>='a'&&key<='z') || key=='¤' || key=='¥')
{
arreg[i]=key;
i++;
gotoxy(x,y);cprintf("%s",arreg);
}
if(key==8 && i>0)
{
textcolor(BLACK);
gotoxy(x,y);cprintf("%s",arreg);
arreg [--i]=0;
textcolor(7);
gotoxy(x,y);cprintf("%s",arreg);
}

}
while(key!=13);
return (arreg);
}


void main()
{
char aux[100];
clrscr();
textcolor(7);
gotoxy(3,3);cprintf("introduce una cadena: ");
strcpy(aux,captura_letras(25,3));
gotoxy(3,5);cprintf("lo que tecleaste fue: %s",aux);
gotoxy(3,7);cprintf("el tama¤o de la cadena es: %d",strlen(aux));
getch();
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar