RISOLTO [C] Esercizio gestione biblioteca

Stato
Discussione chiusa ad ulteriori risposte.

fabio93

Utente Attivo
609
173
CPU
AMD Ryzen 5 2400G
Dissipatore
Arctic Alpine64 Plus
Scheda Madre
Gigabyte GA-AX370-Gaming 3
HDD
Crucial MX500 250 GB, Crucial BX500 240 GB
RAM
G.Skill F4-3200C14D-16GFX FlareX 16 GB
Monitor
HP 2010i
PSU
Corsair TX550M
Case
Sharkoon M25-W
Periferiche
Magicforce 68, Logitech G203
OS
Windows 10 Pro, Fedora 31
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.
 

fabio93

Utente Attivo
609
173
CPU
AMD Ryzen 5 2400G
Dissipatore
Arctic Alpine64 Plus
Scheda Madre
Gigabyte GA-AX370-Gaming 3
HDD
Crucial MX500 250 GB, Crucial BX500 240 GB
RAM
G.Skill F4-3200C14D-16GFX FlareX 16 GB
Monitor
HP 2010i
PSU
Corsair TX550M
Case
Sharkoon M25-W
Periferiche
Magicforce 68, Logitech G203
OS
Windows 10 Pro, Fedora 31
non mi fa compilare il secondo codice
Hai corretto tutti gli errori che ti avevo segnalato all'inizio? Una volta apportate tutte le correzioni, posta il codice completo ma, per favore, indentato e spaziato correttamente.
 

fabio93

Utente Attivo
609
173
CPU
AMD Ryzen 5 2400G
Dissipatore
Arctic Alpine64 Plus
Scheda Madre
Gigabyte GA-AX370-Gaming 3
HDD
Crucial MX500 250 GB, Crucial BX500 240 GB
RAM
G.Skill F4-3200C14D-16GFX FlareX 16 GB
Monitor
HP 2010i
PSU
Corsair TX550M
Case
Sharkoon M25-W
Periferiche
Magicforce 68, Logitech G203
OS
Windows 10 Pro, Fedora 31
Posta la funzione completa.
 

sare1234

Utente Attivo
262
3
no intendo per utilizzarla dovrò scrivere:
printf("inserisci titolo");
scanf(""%s", &titolo);
ricerca(l,titolo)
giusto?
ma questa funzione non va
Post unito automaticamente:

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;
 

fabio93

Utente Attivo
609
173
CPU
AMD Ryzen 5 2400G
Dissipatore
Arctic Alpine64 Plus
Scheda Madre
Gigabyte GA-AX370-Gaming 3
HDD
Crucial MX500 250 GB, Crucial BX500 240 GB
RAM
G.Skill F4-3200C14D-16GFX FlareX 16 GB
Monitor
HP 2010i
PSU
Corsair TX550M
Case
Sharkoon M25-W
Periferiche
Magicforce 68, Logitech G203
OS
Windows 10 Pro, Fedora 31
Ma per forza, le stai passando una stringa invece della lista.
 

fabio93

Utente Attivo
609
173
CPU
AMD Ryzen 5 2400G
Dissipatore
Arctic Alpine64 Plus
Scheda Madre
Gigabyte GA-AX370-Gaming 3
HDD
Crucial MX500 250 GB, Crucial BX500 240 GB
RAM
G.Skill F4-3200C14D-16GFX FlareX 16 GB
Monitor
HP 2010i
PSU
Corsair TX550M
Case
Sharkoon M25-W
Periferiche
Magicforce 68, Logitech G203
OS
Windows 10 Pro, Fedora 31

fabio93

Utente Attivo
609
173
CPU
AMD Ryzen 5 2400G
Dissipatore
Arctic Alpine64 Plus
Scheda Madre
Gigabyte GA-AX370-Gaming 3
HDD
Crucial MX500 250 GB, Crucial BX500 240 GB
RAM
G.Skill F4-3200C14D-16GFX FlareX 16 GB
Monitor
HP 2010i
PSU
Corsair TX550M
Case
Sharkoon M25-W
Periferiche
Magicforce 68, Logitech G203
OS
Windows 10 Pro, Fedora 31
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.
 

sare1234

Utente Attivo
262
3
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
 

Andretti60

Utente Èlite
6,440
5,091
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.
 

sare1234

Utente Attivo
262
3
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.

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili