Hai ragione, avevo dimenticato che canzone era un vettore di caratteri e quindi nella funzione andava passato come puntatore o vettore... Ho risolto così:Originariamente inviato da Nitro_Insane
forse il 3° parametro della funzione ricerca deve essere un char *, così quando la richiami puoi passare il puntatore canzone!
Graziecodice:#include <stdio.h> #include <string.h> struct song{ char titolo[20]; char autore[20]; char genere[10]; }; typedef struct song Brano; //prototipi void lettura(Brano *vettore, int elem); void stampa(Brano *vettore, int elem); void ricerca(Brano *vettore, int elem, char *canzone); int main () { int elem; char canzone[20]; int i; printf("Inserisci il numero di canzoni da includere nella Playlist: "); scanf("%d",&elem); Brano vettore[elem]; fflush(stdin); lettura(vettore,elem); stampa(vettore,elem); //STAMPA IL MENU printf("\n1. Ricerca brano per titolo;\n"); printf("2. Visualizzazione numero canzoni per genere;\n"); printf("3. Salva la playlist nel file compilation;\n"); printf("4. Esci.\n"); int scelta; scanf("%d",&scelta); switch(scelta){ case 1: printf("Inserisci il nome del brano da cercare:\n"); fflush(stdin); gets(canzone); ricerca(vettore,elem,canzone); break; case 2: break; case 3: break; case 4: break; default: printf("\nScelta non consentita!\n"); } system("pause"); return 0; } void lettura(Brano *vettore, int elem){ int i; for(i=0;i<elem;i++){ printf("\nBrano numero %d\n",i+1); printf("Titolo: "); gets(vettore[i].titolo); printf("Autore: "); gets(vettore[i].autore); printf("Genere: "); gets(vettore[i].genere); } } void stampa(Brano *vettore, int elem){ int i; printf("\nHai inserito questi brani\n"); for(i=0;i<elem;i++){ printf("Titolo: %s\n",vettore[i].titolo); printf("Autore: %s\n",vettore[i].autore); printf("Genere: %s\n",vettore[i].genere); } } void ricerca(Brano *vettore, int elem, char *canzone){ int i; int trovato=1; for(i=0;i<elem && trovato!=0;i++){ trovato=strcmp(vettore[i].titolo,canzone); } i--; if(trovato==0){ printf("Brano trovato!\n"); printf("Titolo: %s\n",vettore[i].titolo); printf("Autore: %s\n",vettore[i].autore); printf("Genere: %s\n",vettore[i].genere); } else printf("Brano non trovato!\n"); }![]()

Rispondi quotando