• [^] # Re: Les techniques de génie logiciel

    Posté par . En réponse à la dépêche Miguel de Icaza s'explique sur .NET. Évalué à -1.

    Ben euh... ça donne ça:


    typedef struct _complex_t
    {
    double re;
    double im;
    } complex_t;

    complex_t *complex_new(double re, double im)
    {
    complex_t *res = g_malloc(sizeof(*res));
    res->re = re;
    res->im = im;
    return res;
    }

    complex_t *complex_mul(complex_t *cplx, double lambda)
    {
    g_return_val_if_fail(cplx != NULL, NULL);
    return complex_new(cplx->re * lambda, cplx->im * lambda);
    }

    void complex_print(FILE *out, complex_t *cplx)
    {
    g_return_if_fail(cplx != NULL, NULL);
    fprintf(out, "%f,%f", cplx->re, cplx->im);
    }

    int main()
    {
    complex_t *a = NULL, *b = NULL;
    a = complex_new(12, 12);
    b = complex_mul(a, 2);
    printf("%s", "b = ");
    complex_print(stdout, b);
    printf("\n");
    }


    Je vois pas ce que a de plus compliqué, tu peux même changer le format du %f pour changer l'affichage de tes floats.

    Je n'ai pas essayé de compiler non plus, et les g_ qqe proviennent de la glib pour faire du contrôle d'erreurs.

    -1 car on s'enlise dans une conversion à deux sui n'intéresse probablement pas les autres