Seguimos buscando a Arshak. Ayudanos compartiendo!
Encuesta no oficial de docentes
Resultados de la encuesta no oficial de docentes
Probaste el SIGA Helper?

Donar $100 Donar $200 Donar $500 Donar mensualmente


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Consulta caracter vacio
Autor Mensaje
Imakuni Sin conexión
Presidente del CEIT
Boxes tastes like mush
********

Ing. en Sistemas
Facultad Regional Córdoba

Mensajes: 7.021
Agradecimientos dados: 124
Agradecimientos: 129 en 85 posts
Registro en: Jul 2008
Mensaje: #16
RE: Consulta caracter vacio
mmm... entonces debería de funcionarte Confused..

Estás segura que pusiste Nombre == "" y no Nombre = "" ?? (me pasó en operativos, de poner "igual" en vez de "igual igual" =P).

Probaste con:

if(Nombre[0]=='\0') ???

cosha mandinga
(Este mensaje fue modificado por última vez en: 17-05-2013 22:14 por Imakuni.)
17-05-2013 22:14
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Imakuni recibio 1 Gracias por este post
mercevico (17-05-2013)
Elmats Sin conexión
Presidente del CEIT
Oh my gauss
********

Otra
UBA - Ciencias Exactas y Naturales

Mensajes: 1.307
Agradecimientos dados: 25
Agradecimientos: 110 en 69 posts
Registro en: Mar 2012
Mensaje: #17
RE: Consulta caracter vacio
void Saludar( const char* Nombre )
{

if(Nombre[0] == '\0') printf("Buen dia.\n");
else printf("Buen dia, %s.\n",Nombre);
return;
}

Probaste asi?
17-05-2013 22:16
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Elmats recibio 1 Gracias por este post
mercevico (17-05-2013)
mercevico Sin conexión
Empleado de Fotocopiadora
Que los sueños, no sean sólo...
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 34
Agradecimientos dados: 23
Agradecimientos: 8 en 7 posts
Registro en: May 2013
Mensaje: #18
RE: Consulta caracter vacio
(17-05-2013 22:03)guriwashere escribió:  Ahhh, disculpame, el 0x20 es el espacio ....

probá esto



if (sizeof (cadena) < 1) {
// tarea
} else {
// otra cosa
}


Eso tampoco me funcionó =(
17-05-2013 22:16
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Imakuni Sin conexión
Presidente del CEIT
Boxes tastes like mush
********

Ing. en Sistemas
Facultad Regional Córdoba

Mensajes: 7.021
Agradecimientos dados: 124
Agradecimientos: 129 en 85 posts
Registro en: Jul 2008
Mensaje: #19
RE: Consulta caracter vacio
Cita:el problema es que le ponés %d para imprimir un número. con %c te muestra el caracter, aunque si le ponés \0 no te va a mostrar nada.

Y si, era la idea, ver que valor en "numero" tiene =P, poniendole %c no iba a ver una goma, incluso si tenía un \n =P
17-05-2013 22:17
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Maik Sin conexión
Presidente del CEIT
.
********

Otra
Otra

Mensajes: 5.353
Agradecimientos dados: 47
Agradecimientos: 197 en 141 posts
Registro en: Sep 2011
Mensaje: #20
RE: Consulta caracter vacio
tengo qeu venir a tirar luces (?)

http://www.cplusplus.com/reference/cstdio/gets/

Spoiler: Mostrar
Cita:Reads characters from the standard input (stdin) and stores them as a C string into str until a newline character or the end-of-file is reached.

The newline character, if found, is not copied into str.

A terminating null character is automatically appended after the characters copied to str.

Notice that gets is quite different from fgets: not only gets uses stdin as source, but it does not include the ending newline character in the resulting string and does not allow to specify a maximum size for str (which can lead to buffer overflows).


y como la gente no pone los enunciados simplemente digo.

el parametro que recibis con que funcion lo levantaste? gets() ? si es asi el /0 deberia funcionar

MODS
[Imagen: 2r5t075.jpg]
(Este mensaje fue modificado por última vez en: 17-05-2013 22:19 por Maik.)
17-05-2013 22:18
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Maik recibio 1 Gracias por este post
mercevico (17-05-2013)
Imakuni Sin conexión
Presidente del CEIT
Boxes tastes like mush
********

Ing. en Sistemas
Facultad Regional Córdoba

Mensajes: 7.021
Agradecimientos dados: 124
Agradecimientos: 129 en 85 posts
Registro en: Jul 2008
Mensaje: #21
RE: Consulta caracter vacio
Cita:sizeof (cadena)

guriwashere sizeof(cadena) no daría 4 siempre, porque es un puntero? (pregunto, no toco C hace mil =P)

Cita:el parametro que recibis con que funcion lo levantaste? gets() ? o alguna hecha a mano con el stdio ? al final del string hay eof, y hasta donde recuerdo, no hay 1 solo. yo compararia el primer char con EOF , o tambien -1 , pero no recuerdo como funciona ahi la cosa. no se si podes poner directamente alguna magia como "if (char +1)" o "if (char!=EOF)){} else if(char==EOF){}"

La chica pone constantes. O sea, lo pone "harcodeado", fijate en un post anterior.
(Este mensaje fue modificado por última vez en: 17-05-2013 22:19 por Imakuni.)
17-05-2013 22:18
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
mercevico Sin conexión
Empleado de Fotocopiadora
Que los sueños, no sean sólo...
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 34
Agradecimientos dados: 23
Agradecimientos: 8 en 7 posts
Registro en: May 2013
Mensaje: #22
RE: Consulta caracter vacio
(17-05-2013 22:05)Ichiluk escribió:  


void saludar(const char* nombre) {

if (nombre[0] == '\0' || nombre[0] == '\n')
puts ("Buen Dia.");
else
printf("Buen Dia, %s.\n", nombre);
}


el return no te hace falta.


GRACIAS!!! No estaba usando el [0] porque asumía que era un caracter y eso no podía hacerlo!! Un millon de gracias!! Con esto funciona!

(17-05-2013 22:14)Imakuni escribió:  mmm... entonces debería de funcionarte Confused..

Estás segura que pusiste Nombre == "" y no Nombre = "" ?? (me pasó en operativos, de poner "igual" en vez de "igual igual" =P).

Probaste con:

if(Nombre[0]=='\0') ???

cosha mandinga

Estoy segura porque vengo poniendo == con todas las posibilidades!! Acabo de probar con if(Nombre[0]=='\0') y asi funciona! Gracias!

SOY FELIZ!! Lo resuelvo con if(Nombre[0]=='\0')!! Después de luchar por horas (y no jodo, hace 4 horas q vengo con esto)
Lo logré gracias a ustedes!!! =D
(Este mensaje fue modificado por última vez en: 17-05-2013 22:23 por mercevico.)
17-05-2013 22:19
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Abend Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 179
Agradecimientos dados: 26
Agradecimientos: 36 en 24 posts
Registro en: Feb 2013
Mensaje: #23
RE: Consulta caracter vacio
(17-05-2013 21:56)mercevico escribió:  
(17-05-2013 21:49)JulianD escribió:  Pero si vos le estas pasando una cadena de caracteres como argumento a una funcion, eso es un string no un char.
Si estas pasando un nombre de mas de un char necesariamente tiene que ser un puntero a char, lo que puede ser interpretado como un string.
Mas alla de que la comparacion la hagas sobre un char.

Yo pondria:

if ((Nombre[0]=='\n')||(Nombre[0]=='\0')) // Comparas el primer caracter de la cadena con el salto de linea y el fin de cadena a la vez, depende que funcion estes usando para tomar el nombre te toma el enter o no te pone el salto de linea..

sino como te dijeron, con strlen:

if (strlen(Nombre)==0)

Mi código es exactamente:
void Saludar( const char* Nombre ){

if(Nombre == ????)
printf("Buen dia.\n");
else
printf("Buen dia, %s.\n",unNombre);
return;


Cuando le trato de poner como cadena, no me lo acepta, me tira error al compilar, y el strlen, no lo tengo, sólo puedo usar la libreria stdio.. y esa funcion esta en otra libreria..

Buenas, veo que tenes varios problemas de teoria, voy a tratar de esclarecertelos un poco. Vos estas recibiendo un char *, es decir un puntero que apunta a un char, estos se utilizan para albergar la ubicacion del primer caracter de una cadena de caracteres (strings). Si vos queres saber si vino vacio, depende como se haya acordado, te va a venir vacio o con espacios. Para ello, si no queres utilizar funciones de la string.h (libreria con funciones dedicada al manejo de strings) porque no estas familirarizada, directamente podes preguntar por Nombre[0] == ' ' ó bien preguntar por Nombre[0] = '\0' o por ambos con un OR logico (||).
18-05-2013 05:05
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Abend recibio 1 Gracias por este post
mercevico (18-05-2013)
mercevico Sin conexión
Empleado de Fotocopiadora
Que los sueños, no sean sólo...
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 34
Agradecimientos dados: 23
Agradecimientos: 8 en 7 posts
Registro en: May 2013
Mensaje: #24
RE: Consulta caracter vacio
(18-05-2013 05:05)Abend escribió:  
(17-05-2013 21:56)mercevico escribió:  
(17-05-2013 21:49)JulianD escribió:  Pero si vos le estas pasando una cadena de caracteres como argumento a una funcion, eso es un string no un char.
Si estas pasando un nombre de mas de un char necesariamente tiene que ser un puntero a char, lo que puede ser interpretado como un string.
Mas alla de que la comparacion la hagas sobre un char.

Yo pondria:

if ((Nombre[0]=='\n')||(Nombre[0]=='\0')) // Comparas el primer caracter de la cadena con el salto de linea y el fin de cadena a la vez, depende que funcion estes usando para tomar el nombre te toma el enter o no te pone el salto de linea..

sino como te dijeron, con strlen:

if (strlen(Nombre)==0)

Mi código es exactamente:
void Saludar( const char* Nombre ){

if(Nombre == ????)
printf("Buen dia.\n");
else
printf("Buen dia, %s.\n",unNombre);
return;


Cuando le trato de poner como cadena, no me lo acepta, me tira error al compilar, y el strlen, no lo tengo, sólo puedo usar la libreria stdio.. y esa funcion esta en otra libreria..

Buenas, veo que tenes varios problemas de teoria, voy a tratar de esclarecertelos un poco. Vos estas recibiendo un char *, es decir un puntero que apunta a un char, estos se utilizan para albergar la ubicacion del primer caracter de una cadena de caracteres (strings). Si vos queres saber si vino vacio, depende como se haya acordado, te va a venir vacio o con espacios. Para ello, si no queres utilizar funciones de la string.h (libreria con funciones dedicada al manejo de strings) porque no estas familirarizada, directamente podes preguntar por Nombre[0] == ' ' ó bien preguntar por Nombre[0] = '\0' o por ambos con un OR logico (||).

GRACIAS!! Realmente si tengo muchos problemas de teoría, porque perdí muchas clases.. Muchisimas gracias por esta explicacion, porque no sabia lo que significaba ese * y la verdad que me lo dejaste muy claro =) ...
18-05-2013 11:49
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
cirux16 Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 30
Agradecimientos dados: 7
Agradecimientos: 203 en 13 posts
Registro en: Oct 2010
Mensaje: #25
RE: Consulta caracter vacio
y si usas strcmp?? es una funcion para comparar cadenas.. si son iguales devuelve cero entonces vos podes comparar Nombre contra caracter vacio y preguntar si da cero.
http://es.wikipedia.org/wiki/Strcmp[/code]
19-05-2013 18:35
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] cirux16 recibio 1 Gracias por este post
mercevico (20-05-2013)
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)