/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Una Duda
Ir a página 1, 2  Siguiente
 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
Mijail



Registrado: 02 Jul 2007
Mensajes: 30

MensajePublicado: 09/08/2007 10:37 am
Título: Una Duda

existe algo parecido a esto? que funcione claro...xD


Código:

...
if ((variable)=char)
{
clrscr();
printf( "Eso es una letra!'" );
getch();
}
...


uso dev-c++

gracias!!
Volver arriba
worm



Registrado: 04 Jul 2007
Mensajes: 50

MensajePublicado: 09/08/2007 12:15 pm
Título:

Wenas,

¿Lo que deseas es determinar si la variable "variable" es de tipo char y en base a eso generar una determinada accion?

Si es asi, no estoy seguro que utilizando solo C estandar se pueda realizar, ya que el compilador al momento de generar el ejecutable no guarda ese tipo de informacion. Creo que utlizando unas componentes llamadas Corba o COM(+) (esta ultima de micro$oft), puedes hacer eso.

Ahora, por ejemplo en dotNet eso es muy facil de hacer, puesto que el binario de dotNet si guarda ese tipo de informacion, es decir, el tipo del objeto, la lista de propiedades, lista de metodos, sus visibilidades, firma de la clase (public, abstract, etc), si es una clase base, si es una interfaz, de que clase hereda, etc, etc, etc, y se realiza a traves de algo denominado Reflection

Ahi te ves
_________________
La respuesta a tus inquietudes es Linux
Volver arriba
Pantalàimon_



Registrado: 17 Jul 2007
Mensajes: 90

MensajePublicado: 09/08/2007 1:34 pm
Título:

Si lo que quieres hacer es lo que dice worm entonces ni idea. Si quieres discriminar entre los simbolos que van desde 'a' hasta 'z' y de 'A' hasta 'Z' de los caracteres '0' a '9' se puede hacer tranquilamente sabiendo el código ASCII.

Además, que yo sepa, no hay tanta diferencia entre un char y un int. A los dos les puedes aplicar las mismas operaciones aritméticas(+,-,*,/,%). Simplemente que el tipo char ocupa un byte mientras la variable entera ocupa 4 bytes.

Hasta luego!
Volver arriba
Mijail



Registrado: 02 Jul 2007
Mensajes: 30

MensajePublicado: 09/08/2007 2:09 pm
Título:

worm escribió:
¿Lo que deseas es determinar si la variable "variable" es de tipo char y en base a eso generar una determinada accion?


Me referia exactamente a eso. Ya veo que no puedo.

Gracias por la ayuda Smile
Volver arriba
Pantalàimon_



Registrado: 17 Jul 2007
Mensajes: 90

MensajePublicado: 09/08/2007 2:17 pm
Título:

Lo que me pregunto yo es que utilidad le puedes sacar a eso.

Te reto a que me digas un programa en el cual tenga que utilizar esta tarea Razz Razz
Volver arriba
Mijail



Registrado: 02 Jul 2007
Mensajes: 30

MensajePublicado: 09/08/2007 2:23 pm
Título:

jajajaja supongo que ninguno, simple curiosidad
Volver arriba
Pantalàimon_



Registrado: 17 Jul 2007
Mensajes: 90

MensajePublicado: 09/08/2007 2:33 pm
Título: Re: Una Duda

Mijail escribió:


Código:

...
if ((variable)=char)
{
clrscr();
printf( "Eso es una letra!'" );
getch();
}
...




Piensa que en este programa que tu dices, previamente ya tendrías que haber definido la variable variable sino no compilaría. Y si en el código mismo ya dices de que tipo es la variable pues ya sabes si pasará por el if o no, entonces el if no tendría ningun sentido, si defines char lo pones y sino no hace falta.

Saludos
Volver arriba
Mijail



Registrado: 02 Jul 2007
Mensajes: 30

MensajePublicado: 09/08/2007 2:40 pm
Título:

eing? xD perdona pero es que soy bastante novato

lo de (variable) lo pongo entre parentesis para dar a entender que ahi pongo la variable, no que la variable se llame variable.
En el caso del programa donde lo queria insertar la variable era Num, osea que el codigo seria:



Código:
...
if (Num=char)
{
clrscr();
printf( "Eso es una letra!" );
getch();
}
...
Volver arriba
Pantalàimon_



Registrado: 17 Jul 2007
Mensajes: 90

MensajePublicado: 09/08/2007 3:18 pm
Título:

Pues yo creo que podría encontrar una solución usando cadenas de caracteres. Pero supongo que aún no sabes lo que es un array o vector en C, no?
Volver arriba
worm



Registrado: 04 Jul 2007
Mensajes: 50

MensajePublicado: 09/08/2007 5:50 pm
Título:

Wenas,

me parece bien que quieras utilizar eso, puedes probar investigando lo que te comente.
Ahora, para que te podria servir esto, por ejemplo (basado en dotNet), puedes generar objetos en tiempo de ejecucion, sin siquiera saber su tipo en tiempo de compilacion.

Me parece que deberias investigar al respecto si te interesa, sin importar lo que digan los demas

Ahi te ves
_________________
La respuesta a tus inquietudes es Linux
Volver arriba
Mijail



Registrado: 02 Jul 2007
Mensajes: 30

MensajePublicado: 10/08/2007 3:18 am
Título:

Ok gracias worm, seguiré buscando información Smile
Volver arriba
spesmod



Registrado: 23 Ago 2007
Mensajes: 33

MensajePublicado: 23/08/2007 11:07 am
Título: utiliza sizeof()

pero que les pasa weyes???? no saben utilizar la funcion sizeof()???
la funcion sizeof() devuelve el tamaño de cualquier variable en numero de bytes, una variable char pesa 1 byte; simplemente has que la condicion sea "si el peso de char es 1 entonces hacer..."

osea esto lo botas a la basura
...
if ((variable)=char)
{
clrscr();
printf( "Eso es una letra!'" );
getch();
}
...

y aces algo como esto

...
if (sizeof(variable)=1)
{
clrscr();
printf( "Eso es una letra!'" );
getch();
}
...

por si las moscas aki te dejo el tamaño de algunas variables en bytes y bits, demas de su rango y de sus despectivos caracteres de impresion:

(por motivos de tipografia la tabla esta recontra chueka asi que espero que la entiendas para tu comodidad copiala y pegala en el bloc de notas y asi la veras mejor )

>>>>>>>>|=======DATO=======|==TAMAÑO==|===========RANGO==========|=IMPRESION=|
>>>>>>>>|==================|bytes|bits|==========================|===========|
>>>>>>>>|=======CHAR=======|==1==|==8=|======= -128=a=127 =======|=====%c====|
>>>>>>>>|==UNSIGNED=CHAR===|==1==|==8=|===========0=a=255 =======|=====%c====|
>>>>>>>>|====SHORT=INT=====|==2==|=16=|===== -32768=a=32767 =====|=====%i====|
>>>>>>>>|=======INT========|==2==|=16=|===== -32768=a=32767 =====|=====%i====|
>>>>>>>>|===UNSIGNED=INT===|==2==|=16=|========== 0=a=65535 =====|=====%u====|
>>>>>>>>|=====LONG=INT=====|==4==|=32=| -2147483648=a=2147483647 |====%li====|
>>>>>>>>|UNSIGNED=LONG=INT=|==4==|=32=|========== 0=a=4294967295 |====%lu====|
>>>>>>>>|======FLOAT=======|==4==|=32=|==== 3.4e-38=a=3.4e+38 ===|=====%f====|
>>>>>>>>|======DOUBLE======|==8==|=64=|=== 1.7e-308=a=1.7e+308 ==|==%f=%d=%e=|
>>>>>>>>|===LONG=DOUBLE====|=10==|=80=|== 3.4e-4932=a=1.1e+4932 =|===¿¿¿???==|


espero que te sirva hasta la vista.
_________________
|--A--Q--U--A--|
Volver arriba
Mijail



Registrado: 02 Jul 2007
Mensajes: 30

MensajePublicado: 23/08/2007 2:34 pm
Título:

Uoooo! si gracias!! no se me hubiese ocurrido! Very Happy
Volver arriba
Mijail



Registrado: 02 Jul 2007
Mensajes: 30

MensajePublicado: 23/08/2007 3:41 pm
Título:

puede ser que esto:

..
if (sizeof(variable)=1)
{
clrscr();
printf( "Eso es una letra!'" );
getch();
}
...

Sea en realidad esto?

..
if (sizeof(variable)==1)
{
clrscr();
printf( "Eso es una letra!'" );
getch();
}
...


Es que no me funciona
Volver arriba
v4r3t



Registrado: 06 Mar 2007
Mensajes: 38

MensajePublicado: 23/08/2007 4:48 pm
Título:

claro, para comparar siempre se usa ==
Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 2Todas las horas están en GMT - 8 Horas
Ir a página 1, 2  Siguiente

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com