Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    3

    [C++]Programma per "catalogare" libri

    Salve, è la prima volta che uso il forum, ho letto il Regolamento e spero di non contravvenire a nessuna regola.
    Comunque bando alle ciancie, sono uno studente delle scuole superiori, precisamente di 4° di un corso informatico, ed il prof ci ha dato un compito inerente le classi.
    Premetto che non voglio assolutamente che qualcuno mi faccia i compiti, in quanto, a modo mio, ho concluso l'esercizio.
    Solo che l'ho concluso con dei metodi che definirei "poco ortodossi".
    Vi posto di seguito il mio main, poi vi spiego qual'è lo scopo dell'esercizio.

    codice:
    #include <iostream>
    #include "include/Libro.h"
    
    using namespace std;
    
    int main()
    {
        float a[4],min=50;
        int x;
        Libro Libro0("Sherlock Holmes","Conan Doyle",2770,2.99);
        Libro Libro1("Harry Potter e la Pietra Filosofale","J.K. Rowling",288,7.65);
        Libro Libro2("Le Cronache del Mondo Emerso","Licia Troisi",386,8.08);
        Libro Libro3("Le Cronache di Narnia","Clive S. Luise",1168,18.70);
        a={Libro0.getPrezzo(),Libro1.getPrezzo(),Libro2.getPrezzo(),Libro3.getPrezzo()};
        for(int c=0; c<5; c++)
        {
            if(a[c]<min)
            {
                min=a[c];
                x=c;
            }
        }
        if(x==0)
        {
            cout<<"Il libro meno costoso e' "<<Sherlock.getTitolo()<<endl;
        }
        else if(x==1)
        {
            cout<<"Il libro meno costoso e' "<<HarryPotter1.getTitolo()<<endl;
        }
        else if(x==2)
        {
            cout<<"Il libro meno costoso e' "<<CronacheDelMondoEmerso.getTitolo()<<endl;
        }
        else if(x==3)
        {
            cout<<"Il libro meno costoso e' "<<CronacheDiNarnia.getTitolo()<<endl;
        }
        //cout<<Libro"x".getTitolo()<<endl;
        return 0;
    }
    Lo scopo è determinare quale dei 4 libri è il meno costoso, vorrei sapere, c'è un modo per evitare tutti quegli if e rilevare direttamente il libro meno costoso, una volta effettuato il controllo? Grazie in anticipo.

  2. #2

    Re: [C++]Programma per "catalogare" libri

    Originariamente inviato da iSadic
    Salve, è la prima volta che uso il forum, ho letto il Regolamento e spero di non contravvenire a nessuna regola.
    Premetto che non voglio assolutamente che qualcuno mi faccia i compiti, in quanto, a modo mio, ho concluso l'esercizio.
    Ottimo modo di presentare una domanda, bravo.

    Allora, è evidente che manca tutta una parte più o meno estesa del codice, ma per il nostro discorso è ininfluente. Ricorda che la programmazione prevede, a vari livelli, capacità di astrazione logico-matematica, anche per la risoluzione di banali problemi ed esercizi scolastici.

    Ci sarebbero molti modi per risolvere questa domanda, considerato però il livello scolastico opterei per l'utilizzo di una array a 2 dimensioni, in cui inserisci il prezzo (con la getPrezzo) e il titolo del libro ()getTitolo. Eventuali altri miglioramenti consisterebbero nel realizzare un ulteriore array avente come elementi le istanze delle classi generate (per sostituire i vari libro0, libro1 ..)

    Se non sono stato chiaro, chiedi pure.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    3

    Re: Re: [C++]Programma per "catalogare" libri

    Originariamente inviato da MdE2005
    Ottimo modo di presentare una domanda, bravo.
    Eri serio o scherzavi? xD
    Allora, è evidente che manca tutta una parte più o meno estesa del codice
    Sisi, è integrato in una classe esterna (la "libro.h" inclusa all'inizio)
    opterei per l'utilizzo di una array a 2 dimensioni, in cui inserisci il prezzo (con la getPrezzo) e il titolo del libro ()getTitolo.
    Ok, ho capito che intendi, ma qui sorge un altro problema, i due getter restituiscono valori di tipo diverso, ovvero getPrezzo mi restituisce un float mentre getTitolo un array di caratteri.
    Detto questo, non posso inserirli nello stesso array, dico bene?

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    3
    Non posso editare, quindi lascio un secondo post.
    Ho risolto il problema utilizzando due array diversi, uno char* per i titoli ed uno float per i prezzi.
    Ho quindi richiamato la giusta variabile dell'array (dei titoli) attribuendoli la x salvata nel ciclo for come indice.
    Grazie per il supporto e per la disponibilità

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 © 2025 vBulletin Solutions, Inc. All rights reserved.