elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ¿cual es el error?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿cual es el error?  (Leído 2,745 veces)
asdavid

Desconectado Desconectado

Mensajes: 11


Ver Perfil
¿cual es el error?
« en: 22 Noviembre 2012, 12:51 pm »

buenas!!
miren,estoy intentando pasar una cadena de caracteres o array,desde una estructura a una función,el compilador me da el siguiente error:
30 "conversion from `char*' to non-scalar type `nombre' requested "
codigo fuente:
#include<stdio.h>
#include<conio.h>
#include<string.h>
struct dato
{char nombre[8];
};
int validar_nombre(struct dato);
int main()
{
            struct dato i;
            printf("Nombre:");
            scanf("%s",&i.nombre);
            validar_nombre(i.nombre);
}
validar_nombre(i.nombre)
{
                                  printf("1");
                                  return;
}


En línea

C_1^N

Desconectado Desconectado

Mensajes: 13



Ver Perfil
Re: ¿cual es el error?
« Respuesta #1 en: 22 Noviembre 2012, 15:19 pm »

validar_nombre(i.nombre)
{
     printf("1");
     return;
}

el argumento deberia ser struct dato, o si queres pasarle la cadena char *

Saludos!


En línea

La gestión manual de bloques de memoria en C es como hacer malabarismos con pastillas de jabón en la ducha de la prisión: todo diversión hasta que cometes un fallo
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: ¿cual es el error?
« Respuesta #2 en: 22 Noviembre 2012, 16:54 pm »

estoy intentando pasar una cadena de caracteres o array,desde una estructura a una función
La función no se distingue de cualquier otra que deba procesar una cadena almacenada en un array de caracteres (el primero es el contenido, el segundo el contenedor).

Tu función:
Código
  1. validar_nombre(i.nombre)
  2. {
  3.   printf("1");
  4.   return;
  5. }
Tiene varios errores como no indicar el tipo de retorno, no indicar el tipo del parámetro y omitir el valor de retorno de la función.

La definición debería ser:
Código
  1. int validar_nombre(char nombre[])
  2. {
  3.   /* Alguna operacion, por ejemplo: */
  4.   printf("%s\n", nombre);
  5.  
  6.   return 1; /* O algun otro valor apropiado para el caso*/
  7. }

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
asdavid

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: ¿cual es el error?
« Respuesta #3 en: 23 Noviembre 2012, 10:54 am »

ahora me da error en la linea del main en la que llamo a la funcion:
""validar_nombre(cnombre[6]);""
invalid conversion from `char' to `char*'
las cabeceras y el resto de codigo están corregidas,o eso creo
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: ¿cual es el error?
« Respuesta #4 en: 23 Noviembre 2012, 15:13 pm »

ahora me da error en la linea del main en la que llamo a la funcion:
""validar_nombre(cnombre[6]);""
invalid conversion from `char' to `char*'
El error se emite porque "cnombre[6]" es un elemento del array y es de tipo "char". Tu debes pasar la dirección en memoria del primer elemento del array, para ello basta con utilizar solo su nombre en la llamada:
Código
  1. validar_nombre(cnombre);
Y la próxima vez que actualices un programa y continúes con errores por favor publica su código fuente.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Cual es el error? (php) « 1 2 »
PHP
[KMT] 10 4,923 Último mensaje 30 Diciembre 2006, 23:07 pm
por [KMT]
cual es el error?
Scripting
dArKo2 4 3,356 Último mensaje 27 Julio 2010, 19:31 pm
por Novlucker
Cual es el error? Help
Programación C/C++
Mr.Blue 2 2,394 Último mensaje 24 Septiembre 2010, 18:23 pm
por Mr.Blue
u.u no se cual es el error
Programación C/C++
Danyel_Casvill 4 2,902 Último mensaje 17 Febrero 2011, 18:25 pm
por Garfield07
Amigos cual es el error
Programación C/C++
Alejandro1195 3 2,153 Último mensaje 19 Junio 2015, 17:24 pm
por DarK_FirefoX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines