Título: ayuda con una funcion en c Publicado por: swagger14 en 19 Octubre 2011, 18:03 pm lo tengo q hacer es una funcion (pero es posible una forma d hacerlo sin la función strcmp) que compare 2 cadena enteras y devuelva -1 si cad1 <cad2 0, si son iguale ,
y 1 si es mayor hasta a hora esto es lo que tengo Código: #include<stdio.h> Título: Re: ayuda con una funcion en c Publicado por: rir3760 en 19 Octubre 2011, 19:29 pm Lo digo sin mala intención: ese programa esta muy mal y si apenas empiezas con el lenguaje C deberías conseguir un buen libro, para ello revisa los temas fijos de este foro.
Casi todo el proceso que haces en la función de comparación como pedir las cadenas e indicar el resultado lo debes pasar a la función principal con ciertas correcciones como evitar el uso de "gets" y "fflush(stdin)". En cuanto a la implementación de la función para comparar, a esta se le pasa la dirección base de dos cadenas y debe retornar el resultado indicado. Un solución utilizando punteros: Código
El resto te toca a ti. Un saludo Título: Re: ayuda con una funcion en c Publicado por: swagger14 en 21 Octubre 2011, 07:36 am ok muchas grasiaas
Título: Re: ayuda con una funcion en c Publicado por: darkvidhack en 21 Octubre 2011, 19:27 pm Hola!! te doy un par de consejillos jeje:
1. Implementa directamente la función 'comparacadena', no hagas la declaración y luego la implementación aparte, eso sería si la implementaras debajo del 'main'. 2. Procura que la función 'comparacadena' solo se encargue de comparar las cadenas que le pasas, hay que tener un cierto de nivel de abstracción, es muy importante en la programación, es decir, que si tienes una función que te compara dos cadenas, asegurate que sólo hace eso, la lectura de las cadenas puedes hacerla en el main o en otra función aparte. 3. En la declaración de 'comparacadena' pones que devuelve un dato de tipo entero, y luego en el main llamas a la función como si devolviera un void, no te salta el compilador? 4. En este caso, la variable globar 'im' no está mal del todo, aunque las variables globales siempre se deben escribir en mayúscula, LIM, por supuesto, no acostumbres a poner muchas variables globales, ya que puede inducir a errores si hay un cierto grado de dependencia de las funciones con esta variable. Y... creo que nada más, si tienes alguna duda postea ;) Título: Re: ayuda con una funcion en c Publicado por: swagger14 en 22 Octubre 2011, 08:18 am qu
Título: Re: ayuda con una funcion en c Publicado por: swagger14 en 22 Octubre 2011, 08:29 am que tal a horaa el copilador no decteta error pero no corre!
Código: #include<stdio.h> Título: Re: ayuda con una funcion en c Publicado por: darkvidhack en 22 Octubre 2011, 10:14 am hola de nuevo!! no corre el programa entero o la comparación? has pensado que quizás no estés llamando a la función 'comparacadena'? Porque en el main no veo ninguna llamada a la función, otra cosa, porque no pones 'comparacadena' que devuelva un bool?, así podrías poner
if (comparacadena(cadena1,cadena2) == true) { mostrar que son iguales; } else { mostrar que son distintas; } Saludos Título: Re: ayuda con una funcion en c Publicado por: rir3760 en 22 Octubre 2011, 15:51 pm El programa sigue con errores: utilizas gets (no se recomienda), "fflush(stdin)" (tampoco), no llamas a la función (esto ya lo comento darkvidhack) y tratas de utilizar un array de punteros cuando debes utilizar un array.
En la función principal debes utilizar: Código
En cuanto a tu función de comparación lo mejor que se puede decir es que tiene varios errores que ya te comentamos mas algunos mas. Si no tienes material de referencia de calidad por favor revisa los temas fijos de estos foros, ahí encontraras a montones. Un saludo |