Clint_Wistwood Postado Janeiro 18, 2015 Denunciar Share Postado Janeiro 18, 2015 #include<stdio.h> #include<string.h> #include<stdlib.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: "); fgets(search_for, 80, stdin); find_track(search_for); return 0; } Este programa deve informar através qual musica que pertence so trecho digitado pelo "usuario". Ou seja, a saida no console deve ser a seguinte: Search for: town Track 1: 'Newark, Newark - a wonderful town' Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fr0stxx Postado Março 15, 2016 Denunciar Share Postado Março 15, 2016 Dois erros simples no seu codigo. 1- Na funcao find_track if (strstr(tracks, search_for)), voce tem que passar em qual elemento voce quer procurar a string, o correto seria if (strstr(tracks, search_for)), assim voce vai procurar pela string informada (search_for) em cada um dos elementos da matriz. 2- Na funcao main: fgets(search_for, 80, stdin) . O unico "problema" de usar fgets, é que, quando voce digita sua string e aperta ENTER, ele adiciona um "\n" no final da sua string. Para resolver isso, basta utilizar a funcao strtok, que delimita a string, ate o caracter informado. strtok(search_for, "\n"); Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Clint_Wistwood
Search for: town
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.