procura usar las etiquetas GeSHi al publicar codigo...
recuerda algo cuando tengas un problema compilando normalmente es error de tu codigo, solo un 0.0001% de las veces va a ser error del compilador
aprende a leer los errores...
tu 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, 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 error
main.cpp:15:38: error: cannot convert 'char (*)[80]' to 'const char*' for argument '1' to 'char* strstr(const char*, const char*)'
estás tratando de leer un char[][] como si fuera un char[]
solo tienes que corregir en el for, porque tienes que usar
por otro lado se te da un segundo error...
cuando usas fgets te captura el "enter" como un salto de linea (\n)
agregando
strtok(search_for, "\n");
luego del salto de linea resuelves ese segundo error...
por ultimo un consejo... si tu tracks tuviera 1.000.000 de canciones y tu resultado es solo la primera, el igual recorreria 1.000.000 de posibles soluciones, para evitarlo usa despues del printf
eso forzará a salir del for o puedes usar
eso forazará a salir de la funcion