Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Jrlens

#1
Perdona me acabo de dar cuenta que el codigo de mi mensaje se ha copiado mal. Este es mi codigo: #include <stdio.h>
#include <string.h>


char tracks[][80] = {
"I left my heart in Harvard Med School",
"Newark, Newark - a wonderful town",
"Dancing with a Dork",
"From here to maternity",
"The girl from Iwo Jima",
};
void find_track(char search_for[])
{
int i;
for (i = 0; i < 5; i++) {
if (strstr(tracks[i], search_for))
printf("Track %i: '%s'\n", i, tracks[i]);
}
}
int main()
{
char search_for[80];
printf("Search for: ");
fflush(stdout);
fgets(search_for, 80, stdin);
find_track(search_for);
return 0;
}


Compila perfectamente sin errores y no funciona.

EDITO: el problema era del salto de línea, efectivamente tenías razón. ¿Por qué los compiladores harán eso y en los libros no lo comentan? Que jodienda...

Gracias de nuevo.
#2
Hola a todxs, el caso es que me vi sumergido en un programa complejo que al ejecutarlo no funcionaba bien pero estaba bien escrito (porque era de un libro). Así que pensé que algo iba mal con el IDE y probe con un programa sencillo en el que usara alguna función de entrada tipo fgets(). Por ejemplo este:

#include <stdio.h>
#include <string.h>

char tracks[][80] = {
"I left my heart in Harvard Med School",
"Newark, Newark - a wonderful town",
"Dancing with a Dork",
"From here to maternity",
"The girl from Iwo Jima",
};
void find_track(char search_for[])
{
int i;
for (i = 0; i < 5; i++) {
if (strstr(tracks, search_for))
printf("Track %i: '%s'\n", i, tracks);
}
}
int main()
{
char search_for[80];
printf("Search for: ");
fflush(stdout);
fgets(search_for, 80, stdin);
find_track(search_for);
return 0;
}

El programa busca texto en el array de string e imprime el titulo de la canción si coincide algún término, lo ejecuto, me pide que inserte una palabra y cuando le doy a intro se termina de ejecutar pero no imprime nada. He probado con un compilador Online y se ejecuta perfectamente. ¿Tenéis alguna idea de qué pueda pasar?

P.D:He probado tanto en windows como en linux, varios IDEs y nada de nada.
Gracias por vuestro tiempo.