Autor
|
Tema: hola a todos!! / Duda sobre variable tipo bool (Leído 6,529 veces)
|
marcelitaaa
Desconectado
Mensajes: 6
|
Hola a todos! Soy Marcela y me presento. Tengo algunas dudas con C y me gustaría saber si me pueden dar una mano. Estoy estudiando C en la facultad y me dieron ejercicios, ya hice como 50 de elllos pero este no me funciona. Estoy trabajando en una ibook g4 con xcode y compilo en la terminal mediante gcc. Si alguien me puede ayudar le estaré muy agradecida //Escribir una función que reciba dos cadenas de caracteres denominadas "s1" y //"s2" respectivamente, y verifique la existencia de la cadena s2 como subcadena //integrante de la s1, retornando un token del tipo enumerativo bool por el nombre //de la función (ver función strstr() de la biblioteca <string.h>). //Prototipo: bool my_strstr (char *big, char *sub) ; #include <stdio.h> #include <string.h> #define max 100 bool my_strstr (char*, char*);
int main() { char s1[max],s2[max]; bool conf; printf ("ingrese la cadena principal: "); scanf ("%s",s1); printf ("ingrese la cadena a buscar: "); scanf ("%s",s2); conf = my_strstr (s1,s2); if (conf == true) printf ("la primer cadena contiene a la segunda"); else printf ("la primer cadena no contiene a la segunda"); return 0; }
bool my_strstr (char *big, char *sub) { bool baby; if (strstr(big, sub) != NULL) { baby = true; } else { baby = false; } return (baby); }
|
|
|
En línea
|
|
|
|
Dark Invader
Desconectado
Mensajes: 111
Lucha hasta el final para conseguir tu objetivo.
|
Buenas, Sería algo así: #include <stdio.h> #include <string.h> #define max 100 bool my_strstr (char*, char*); int main() { char s1[max],s2[max]; bool conf; printf ("ingrese la cadena principal: "); printf ("ingrese la cadena a buscar: "); conf = my_strstr (s1,s2); if (conf == true) printf ("la primer cadena contiene a la segunda"); else printf ("la primer cadena no contiene a la segunda"); return 0; } bool my_strstr (char *big, char *sub) { bool baby; { baby = true; } else { baby = false; } return baby; }
Este ha sido un poco modificado,pero me funciona perfecto.Por cierto,si tienes que desarrollar una funcion como la de strtr¿te permiten utilizar el strstr en la funcion?¿No deberias crear una funcion sin recurrir a la funcion strstrt? Porque entonces no le veo mucha utilidad al ejercicio Salu2
|
|
|
En línea
|
|
|
|
Foxy Rider
Desconectado
Mensajes: 2.407
Deprecated
|
Fijate que si andás compilando con un compilador de C, el tipo de dato bool no existe (se usaba int), podés cambiarlo a eso o hacer algún parchesito pokeando con typedef/enum/preprecesador para "implementarlo", más visible como : #define true 1 #define false 0 typedef int bool;
o sino, más acotado y correcto : typedef enum{ false,true } bool;
Saludos.
|
|
« Última modificación: 4 Julio 2011, 18:36 pm por vertex@Symphony »
|
En línea
|
|
|
|
marcelitaaa
Desconectado
Mensajes: 6
|
Gracias por las respuestas! Son muy amables! La verdad q es raro pero me pedían explicitamente usar la funcion strstr así q la usé. Muchas gracias DarkInvader. Por otgro lado Vertex, me parece q tenés razón porque acabo de hacer un programa q define una variable tipo "bool" y no compila . Lindo parchecito me pasaste, me encanta, gracias! Ahora pruebo todo y les aviso.
|
|
|
En línea
|
|
|
|
marcelitaaa
Desconectado
Mensajes: 6
|
Mil gracias! Ha funcionado! El parche que me has pasado Vertex es increible, pude cumplir con las consignas todas, me da mucha felicidad.
Te hago una pregunta Dark Invader, cuando utilizo "gets" me sale una leyenda q dice "this program uses gets(), which is unsafe."
Por qué me es inseguro usar gets? Hay alguna forma de usar otro tipo de funcion para introducir una cadena de texto la cual no sea insegura?
gracias!
|
|
|
En línea
|
|
|
|
Dark Invader
Desconectado
Mensajes: 111
Lucha hasta el final para conseguir tu objetivo.
|
Gets es seguro,por lo menos siempre que lo he usado pero hay uno más seguro todavía que es el fgets, te dejo información: http://c.conclase.net/librerias/?ansifun=fgetsEn cuanto al código que puse me funciona bien,pero claro no había caído en tu compilador. Salu2
|
|
|
En línea
|
|
|
|
marcelitaaa
Desconectado
Mensajes: 6
|
Sos muy amable Dark Invader , me encantó, ya me estoy leyendo toda esa página, recien he visto que tiene un curso de c que esta genial entonces la definicion de variables bool funciona en algunos compiladores y en otros no? no comprendí esa parte....
|
|
|
En línea
|
|
|
|
Dark Invader
Desconectado
Mensajes: 111
Lucha hasta el final para conseguir tu objetivo.
|
Pues eso parece,las variables booleanas están definidas en el estandarte C++,por lo que un compilador que sea solo de C no la leerá,por eso hay que hacer una conversión de datos como te dijo el compañero vertex@Symphony. Una última cosa,si quieres que tu código se lea bien,pon esto antes del return 0: Esta linea espera a que se pulse intro para finalizar,y podrás leer el programa entero. Salu2
|
|
|
En línea
|
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
Sos muy amable Dark Invader , me encantó, ya me estoy leyendo toda esa página, recien he visto que tiene un curso de c que esta genial entonces la definicion de variables bool funciona en algunos compiladores y en otros no? no comprendí esa parte.... Puedes compilar con el estándar c99 y usar stdbool.h: #include <stdio.h> #include <stdbool.h> int main(void) { _Bool x = true; x = false; return 0; }
gcc code.c -o code -std=c99
|
|
|
En línea
|
|
|
|
Foxy Rider
Desconectado
Mensajes: 2.407
Deprecated
|
Guarda con c99 que no se si todos los compiladores lo tienen debidamente implementado (por lo menos en *nix), gcc se que no ... es preferible evitarlo (stdbool está igualmente, pero dejo el warning). Además, solo se necesita el include y no cambiar el "bool" Saludos. PS: Curiosamente en FreeBSD ese header lo hicieron como la primer version que puse.
|
|
« Última modificación: 4 Julio 2011, 23:03 pm por vertex@Symphony »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Error 91: Variable de tipo object o la variable de bloque with no esta estableci
Programación Visual Basic
|
brus_k10
|
2
|
6,638
|
16 Junio 2009, 16:20 pm
por cassiani
|
|
|
Duda sobre el tipo de datos que pude almacenar una variable
Programación C/C++
|
Aikanáro Anário
|
6
|
3,418
|
27 Mayo 2010, 18:26 pm
por Aikanáro Anário
|
|
|
duda sobre formateo y cosa sobre todos los pcs de una casa
Dudas Generales
|
Senior++
|
5
|
5,120
|
27 Agosto 2011, 09:21 am
por Senior++
|
|
|
Duda sobre crear servidores de juegos tipo WOW
Foro Libre
|
crazykenny
|
5
|
3,760
|
29 Octubre 2012, 14:40 pm
por crazykenny
|
|
|
Tipo de dato bool
Programación C/C++
|
AlbertoBSD
|
4
|
3,183
|
18 Junio 2016, 16:58 pm
por AlbertoBSD
|
|