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
Ayuda con C - Funciones de Cadena
Autor Mensaje
acuadro Sin conexión
Militante
volviendo al ruedo
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 81
Agradecimientos dados: 35
Agradecimientos: 4 en 4 posts
Registro en: Jan 2013
Mensaje: #1
Ayuda con C - Funciones de Cadena Ejercicios Sintaxis y Semántica de los Lenguajes
Gente, quería ver si alguno me podía dar una mano. No me gusta en general pedir ayuda con código, pero la verdad que ya googlié todo lo que podía y no le encuentro la vuelta =(

Tengo que hacer funciones de cadena para SSL (es decir, escribir yo lo que harían strlen, strcpy, strcat, etc.) y si bien me sale hacer cada función en un main, no me está saliendo llamar a la función. Les dejo mi código a ver si alguno me puede cachetear un poco para qué lado ir:

Spoiler: Mostrar
#include <stdio.h>
#include <string.h>
char concatenar (char cad1, char cad2)
int main ()
{
char cad1[30];
char cad2[30];
printf ("escriba la cadena1: ");
scanf ("%s",&cad1);
printf ("escriba la cadena2: ");
scanf ("%s",&cad2);
concatenar (cad1,cad2);
return 0;
}

char concatenar (char cad1, char cad2)
{
int i =0;
while (cad1[i] != '\0')
{
cad2[i] = cad1[i];
i++;
}
cad2[i] = '\0';
printf("la nueva cadena2 es: %s\n",cad2);
}

el error que me da cuando lo quiero compilar es:
Cita:C:\Borland\BCC55\Bin>bcc32 cadenas.c
Borland C++ 5.5.1 for Win32 Copyright © 1993, 2000 Borland
cadenas.c:
Error E2141 cadenas.c 4: Declaration syntax error
*** 1 errors in Compile ***

Desde ya, muchísimas gracias!
09-05-2013 11:43
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
andesbul Sin conexión
Militante
Webeando 24/7
***

Ing. Electrónica
Regional Académica Confluencia

Mensajes: 59
Agradecimientos dados: 1
Agradecimientos: 3 en 3 posts
Registro en: Jan 2012
Facebook Twitter
Mensaje: #2
RE: Ayuda con C - Funciones de Cadena
la funcion no tenes que definirla antes del main?
09-05-2013 11:53
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
fnliendomolina Sin conexión
Profesor del Modulo A
Gott ist mit uns am Abend und ...
*****

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 230
Agradecimientos dados: 177
Agradecimientos: 72 en 42 posts
Registro en: Apr 2012
Facebook
Mensaje: #3
RE: Ayuda con C - Funciones de Cadena
Hola capo... el error esta acá...

scanf ("%s",&cad1); // no hace falta el ampersand, porque el nombre del array es la direccion del mismo (que es lo que espera el scanf)... seria scanf ("%s",cad1); .... idem para el otro scanf.... y

concatenar (cad1,cad2); //llamada desde main, mandas las direcciones de inicio de cad1 y cad 2...
char concatenar (char cad1, char cad2) // fijate que vos mandas a la función concatenar las DIRECCIONES de inicio de cada string, como son direcciones vos tendrías que almacenarlas en PUNTEROS y como la función no retorna ningún valor no va CHAR delante del nombre, sino void.... quedaría...

void concatenar (char * cad1, char * cad2)
{
//lo que hace la función...
}

Espero que te ayude...
saludos!

En el prototipo tambien cambialo...

char concatenar (char cad1, char cad2) por y no te olvides del punto y coma....

void concatenar (char * cad1, char * cad2);

saludos!
(Este mensaje fue modificado por última vez en: 09-05-2013 11:55 por fnliendomolina.)
09-05-2013 11:54
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] fnliendomolina recibio 1 Gracias por este post
acuadro (09-05-2013)
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: #4
RE: Ayuda con C - Funciones de Cadena
Es lo q te dijo el de arriba, otro problemita es que te falta un punto y coma en la declaracion de la funcion concatenar

void concatenar (char * cad1, char * cad2);

Si queres poner & para el scanf tenes que ponerlo en la posicion 0:

scanf ("%s",&cad1[0]);

De la otra manera no, porque ya estamos hablando de una posicion de memoria.
09-05-2013 12:01
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Abend recibio 1 Gracias por este post
acuadro (09-05-2013)
acuadro Sin conexión
Militante
volviendo al ruedo
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 81
Agradecimientos dados: 35
Agradecimientos: 4 en 4 posts
Registro en: Jan 2013
Mensaje: #5
RE: Ayuda con C - Funciones de Cadena
Mil gracias!!! Me asombra (y asusta) todo lo que no tengo idea entonces.. =(

el profesor dijo: hagan funciones de cadena... y se ve que o algo no explicó, o yo tuve nacrolepsia

Nuevamente mil gracias a ambos, ahora me quedó más claro!

Slds,

BTW: me di cuenta recién que la llamé "concatenar" pero que hice "copiar"... claramente el problema debo ser yo =(
(Este mensaje fue modificado por última vez en: 09-05-2013 13:34 por acuadro.)
09-05-2013 13:04
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
fnliendomolina Sin conexión
Profesor del Modulo A
Gott ist mit uns am Abend und ...
*****

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 230
Agradecimientos dados: 177
Agradecimientos: 72 en 42 posts
Registro en: Apr 2012
Facebook
Mensaje: #6
RE: Ayuda con C - Funciones de Cadena
No hay problema capo! Buena suerte!

Saludos!
09-05-2013 13:33
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Ichiluk Sin conexión
Campeon del cubo Rubik
Metametaprogramando.
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 134
Agradecimientos dados: 5
Agradecimientos: 21 en 18 posts
Registro en: Apr 2008
Mensaje: #7
RE: Ayuda con C - Funciones de Cadena
Si tu archivo .c es IGUAL al que pusiste en el 1er post, te falta un ';' en la declaración de tu función concatenar.
09-05-2013 13:39
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




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