Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Aiuto con la gestione della biblioteca in C??

    Si vuole simulare la gestione automatizzata di una biblioteca. Si suppone di avere un
    archivio di massimo 20 libri identificati da un titolo, nome dell’autore o autori (massimo
    5), da un codice identificativo e da un prezzo di prestito. Un libro può essere presente
    nell’archivio o in prestito.
    Permettere all’utente di:

    - Richiedere un libro tramite il titolo (verificare se esso è presente e non è in
    prestito).
    - Cercare nell’archivio il libro più costoso (usare un approccio ricorsivo)

    Questi sono i due punti che non sono riuscito a svolgere...questo è il programma con la struct con le varie printf. Chi mi da un aiuto a fare questi due punti?? grazie a tutti x l'attenzione.


    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    #include <conio.h>
    int main()
    {
    int i=0;
    struct Libro{
    char titolo[20];
    char nome_autore[20];
    int codice_identificativo;
    int prezzo_di_prestito;
    };
    typedef struct Libro libro;

    int var=0;
    libro biblioteca[10];
    strcpy(biblioteca[0].titolo, "Twilight\n");
    printf("%s",biblioteca[0].titolo); /*for(i=0;i<20;i++){} */

    printf (" ============================================\n");
    printf("Benvenuto nel programma di gestione biblioteca\n");
    printf(" ============================================\n");
    printf("Premere 1 per inserire un nuovo libro\n");
    printf("Premere 2 per richiedere un libro tramite il titolo\n");
    printf("Premere 4 per restituire un libro tramite codice\n");
    printf("Premere 5 per cercare nell'archivio il libro piu' costoso\n");
    printf("Premere 0 per uscire\n");
    scanf("%d",&var);
    return 0;
    }

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Moderazione

    Cosa vuol dire "chi mi dà un aiuto a fare questi due punti"? Hai postato il codice che hai sviluppato (una minima parte, a quanto pare, ma potrebbe non essere il codice completo), ma non la parte che hai tentato di svolgere... se l'hai tentata.

    Considerando che qui nessuno svolge gli esercizi per casa (vedi regolamento interno), posta la parte di codice incriminata, posta gli eventuali errori che ottieni, gli eventuali risultati errati che ti dà il programma o il punto in cui ti sei arenato (spiegando cosa non riesci a fare).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    ciao

    ciao io sono un principiante ,ma come ti è stato detto ,le persone esperte ,presenti
    in questo forum , danno aiuto su un codice già esistente dove si trovano difficolta.
    -----------------
    Se possibile ti vorrei dare qualche consiglio .

    nella struttura ,manca un campo che indichi se il libro è presente o in prestito,

    il campo nomi autori non può essere un semplice array , perche è previsto che ci possano
    essere un massimo di cinque autori , quindi usare una matrice autori[5][20]

    per l'approccio ricorsivo , basta che ricerchi su gogle "ordinamento ricorsivo array in c" e lo
    applichi all'array di struct sul campo prezzo.

    questa funzione ricorsiva ,trovata rapidamente con google restituisce il valore maggiore,
    ma studiandola si può modificare in modo che ristituisca l'indice con valore maggiore


    codice:
    int max(int vet[],int n)
    {    
     int max_c;  
       n--;   
      if(n==0)   
          return vet[0];   
      max_c = max(vet,n);  
       if(max_c>vet[n])   
           return max_c;  
       return vet[n]; 
    }
    Tecnologia

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    74
    Prima di tutto è importante sapere se il controllo delle presenze dei libri nell'archivio deve essere fatto da file presente o come confronto tra variabili già predefinite.

    Ti faccio un esempio per il punto 1 e poi provi a farlo:
    codice:
    digitare titolo libro;
    assegnare il titolo a una variabile string;
    /*usare la funzione strcmp che fa un confronto tra due stringhe*/
    
    if(strcmp(string1, string2)==0)
    // uguale a zero vuol dire che if è vero solo se le due stringhe sono uguali 
    // ==1 vuol dire che if è vero solo se le due stringhe sono diverse
    //!=0 vuol dire che if è vero solo se le due stringhe sono diverse 
    {
    libro presente ;
    }
      else 
    {
       if(strcmp(string1, string3)==0)
          {
           libro in prestito;
          }
          else
         {
         libro non presente;
          }
     }

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Nella funzione strcmp (come le altre), i parametri non sono separati da ; o da :

    Originariamente inviato da wjzard
    if(strcmp(strng1; string2)==0)

    if(strcmp(string1: string3)==0)
    ma con la ,

    Quindi

    if(strcmp(string1, string3)==0)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    74
    Si non mi sono accorto dell'errore correggo subito grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.