RISOLTO [C] Esercizio gestione biblioteca

Pubblicità
Stato
Discussione chiusa ad ulteriori risposte.
sisi tranquillo ma se uso il secondo metodo poi nella scelta basta che scrivo ricerca(titolo) giusto?
Dipende da come implementi la funzione, puoi passare in input solo la lista e delegare alla funzione la richiesta del titolo all'utente, o passare anche quest'ultimo alla funzione, facendo sì che sia il chiamante (nel tuo caso il main) a doverselo procurare.
 
no intendo per utilizzarla dovrò scrivere:
printf("inserisci titolo");
scanf(""%s", &titolo);
ricerca(l,titolo)
giusto?
ma questa funzione non va
--- i due messaggi sono stati uniti ---
ma questa funzione non va
Codice:
void ricerca (struct libri *l){


    int trovato = 0 ;


    char titolo;


while (l != NULL && trovato != 1) {


    if(strcmp(l->titolo, titolo)==0) {


             printf("\n Libro trovato");


             trovato=1;


         }


    l = l->next;


     }





     if(trovato != 1)


         printf("\n Libro non trovato");


}

e poi nella scelta:
printf("Inserisci il titolo del libro da cercare: ");
scanf("%s", &titolo);
ricerca(titolo);

break;
 
E ti pare una lista? Libro è una variabile di tipo struct libro mentre una linked list è individuata da un puntatore a struct libri. Nel main avevi definito la lista come struct libri *lista=NULL;, è questa che devi passare.
 
E ti pare una lista? Libro è una variabile di tipo struct libro mentre una linked list è individuata da un puntatore a struct libri. Nel main avevi definito la lista come struct libri *lista=NULL;, è questa che devi passare.
ah già comunque ho inserito un libro della lista ed mi dice che non lo trova
 
Mi sembra che tu non abbia capito ancora una cosa fondamentale delle funzioni: devono passare parametri dello stesso tipo che la funzione si aspetta, lo stesso numero, nello stesso ordine. Questo è vero per tutti i linguaggi di programmazione. Te lo dico perché continui a fare questo stesso errore in tutti i codici da te pubblicati.
Seconda cosa: dire “questo codice non me lo compila” non vuole dire nulla. Se c’è un errore di compilazione, il compilatore ti dice che tipo di errore sia. Se non capisci il messaggio, pubblicalo qui, altrimenti è difficile per noi aiutarti.
 
Mi sembra che tu non abbia capito ancora una cosa fondamentale delle funzioni: devono passare parametri dello stesso tipo che la funzione si aspetta, lo stesso numero, nello stesso ordine. Questo è vero per tutti i linguaggi di programmazione. Te lo dico perché continui a fare questo stesso errore in tutti i codici da te pubblicati.
Seconda cosa: dire “questo codice non me lo compila” non vuole dire nulla. Se c’è un errore di compilazione, il compilatore ti dice che tipo di errore sia. Se non capisci il messaggio, pubblicalo qui, altrimenti è difficile per noi aiutarti.
eh lo so ma purtroppo a me non li da questi errori ed suoi Xcode
 
Stato
Discussione chiusa ad ulteriori risposte.
Pubblicità
Pubblicità
Indietro
Top