Qt & UML

Per coloro che sono all'inizio con Qt e la programmazione in generale.

Qt & UML

Messaggioda QtChancellor » 23 giu , 2012 10:01 am

Ciao a tutti,
sto facendo pratica con uml
partendo da un esercizio parzialmente fatto ho dovuto aggiungere le seguenti funzioni

fraction
---------------------------
- m_Numer
- m_Denom
----------------------------
+ set( numertator : int , denominator : int )
+ toString() : Qstring
+ toDouble() : double
+ add( other : const fraction & ) : fraction
+ subtract ( other : const fraction & ) : fraction
+ multiply ( other : const fraction & ) : fraction
+ divide ( other : const fraction & ) : fraction
---------------------------------------------------
Potreste dirmi se ho fatto giusto l'esercizio?
grazie


esercizio 2

Codice: Seleziona tutto
// fraction.h
    #ifndef FRACTION_H
    #define FRACTION_H
    #include <QString>
    #include <QTextStream>

    class Fraction {
    public:
        Fraction(int number, int demon ); // inizializza oggetto
        void set(int number, int demon);     // Setta valori
        QString toString() const; // converti in stringa
        double toDouble() const;     // converti in double
        void add ( const Fraction &other); // somma i due oggetti
        void multiply( const Fraction &other); // moltiplica i due oggetti
        void subtrack( const Fraction &other); // sottrae i due oggetti
        void divide( const Fraction &other); // divede i due oggetti
        void diplay(); // mostra valori
    private:
        int m_Numer, m_Denom;
    };

    #endif // FRACTION_H


Codice: Seleziona tutto
// fraction.cpp
    #include "fraction.h"
    QTextStream cout(stdout);

    // inizializza oggetto
    Fraction::Fraction(int number, int demon)
        : m_Numer(number), m_Denom(demon)
    {
    }

    // Setta valori
    void Fraction::set (int number, int demon){
        m_Numer = number;
        m_Denom = demon;
    }

    // converti in stringa
    QString Fraction::toString () const{
        return QString ("%1 / %2 ").arg (m_Numer).arg (m_Denom);
    }
    // converti in double
    double Fraction::toDouble () const{
        return 1.0 * m_Numer / m_Denom;
    }

    // somma i due oggetti
    void Fraction::add (const Fraction &other){
        m_Numer += other.m_Numer;
        m_Denom += other.m_Denom;
    }

    // moltiplica i due oggetti
    void Fraction::multiply( const Fraction &other){
        m_Numer *= other.m_Numer;
        m_Denom *= other.m_Denom;
    }

    // divide i due oggetti
    void Fraction::divide (const Fraction &other){
        if ( m_Numer > other.m_Numer and m_Denom > other.m_Denom ){
            m_Numer /= other.m_Numer;
            m_Denom /= other.m_Denom;
        }else{
            cout << "\nNumeri non divisibili\n";
        }
    }

    // sottrae i due oggetti
    void Fraction::subtrack ( const Fraction &other){
        m_Numer -= other.m_Numer;
        m_Denom -= other.m_Numer;
    }

    // visualizza il valore degli oggetti
    void Fraction::diplay (){
        cout << "\nm_Numer " << m_Numer;
        cout << "\nm_Denom " << m_Denom;
    }


Codice: Seleziona tutto
// main cpp
    #include "fraction.h"
    int main() {

        Fraction val1(1,2);
        Fraction val2(3,4);


        val1.add (val2); // somma i due oggetti
        val1.diplay (); // mostra valori

        val1.set (1,2); // setta i valori

        val1.subtrack(val2); // sottrae valori
        val1.diplay (); // mostra valori

        val1.set (1,2); // setta i valori
        val1.multiply (val2); // moltiplica i valori
        val1.diplay (); // mostra valori

        val1.set (1,2); // setta i valori
        val1.divide (val2); // divide i valori
        val1.diplay (); // mostra valori
        return 0;
    }
QtChancellor
Trollino in fasce
 
Messaggi: 38
Iscritto il: 19 giu , 2011 10:14 am
Programmo in: c, c++

Re: Qt & UML

Messaggioda fefelix » 24 giu , 2012 12:00 am

Non capisco cosa c'entra questa richiesta d'esercizio con un forum su Qt... implementazione della classe uml? beh credo che vada bene anche se non ho visto l'implementazione del .cpp: basta che controlli se funziona...
Francesco
la stupidità è un'epidemia sempre più diffusa, e sembra che non ci sia una cura...
fefelix
Troll svezzato
 
Messaggi: 98
Iscritto il: 04 gen , 2010 1:41 pm
Località: Roma
Programmo in: c#, c++

Re: Qt & UML

Messaggioda QtChancellor » 24 giu , 2012 10:31 am

Non capisco cosa c'entra questa richiesta d'esercizio con un forum su Qt


Hai ragione, solo ora mi accorgo che non puoi accedere al sito se non sei registrato comunque centra perché il libro si chiama

"Intro to Design Patterns in C++ with Qt, 2nd Edition"
e ti propone l'esercizio che messo, dato che sono da solo volevo essere sicuro di aver capito bene.
Grazie
Lele
QtChancellor
Trollino in fasce
 
Messaggi: 38
Iscritto il: 19 giu , 2011 10:14 am
Programmo in: c, c++


Torna a Principianti

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite