Chi mi aiuta please?!!

di il
2 risposte

Chi mi aiuta please?!!

Salve,sono nuova di questo forum e premetto che sarei veramente super grata a chi di voi mi aiuterà...Fra qualche giorno ho l'esame di informatica in cui è richiesto di programmare in C ecco,io ho veramente delle difficoltà in questo esercizio:

Definire una struct (record per Pascal) di nome AT con un campo A di tipo double (real) ed un campo B di tipo int (integer). Quindi scrivere una funzione (procedura pascal) con ingresso un parametro V di tipo AT che restituisce 1 se il campo B di V è il più grande intero minore o uguale del valore contenuto nel campo A di V, 0 altrimenti. Attenzione è vietato assegnare ad una variabile di tipo int un valore di tipo double. Ad esempio, se il campo A contiene il valore 7.3 ed il campo B contiene il valore 7 la funzione (procedura) restituisce 1; se il campo A contiene il valore 5.6 ed il campo B contiene il valore 4 la funzione (procedura) restituisce 0.

So che è sbagliato cio' che ho scritto io proprio perchè non posso confrontare una variabile double con una int ma non so proprio come fare!!!

#include <stdio.h>

typedef struct { double A; int B;} AT;

void f( AT V)

{

if (V.A>=V.B)

return 1;

return 0;

}

Grazie mille a chi di voi,anima pia,mi risponderà!!!
Elena

2 Risposte

  • Re: Chi mi aiuta please?!!

    Credo che la risposta al tuo problema sia un semplice casting esplicito in poche parole ti basta scrivere una cosa del genere:

    if (V.A >= (double) V.B)
    return 1;
    else
    return 0;

    Spero di esserti stato utile ciao ciao
  • Re: Chi mi aiuta please?!!

    Chiudo questa discussione xchè ce ne sta un altra uguale :)

    Ale

    ICQ@Home # 47938486
    ICQ@Work # 246829394 [ NOT AVAIABLE NOW ]
Devi accedere o registrarti per scrivere nel forum
2 risposte