Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Strutture c

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    760

    Strutture c

    All' inizio di prog II ho un problema,data 1 strutture punto e una struttura rettangolo come si fa a fargli calcolare l'area,posto il codice ovviamente non completo

    #include <stdio.h>

    main(){

    struct point {
    int x;
    int y;
    };
    struct point p;

    printf("\nInserire x: ");
    scanf("%d", &p.x);
    printf("\nInserire y: ");
    scanf("%d", &p.y);

    printf("x e' %d\ny e' %d",p.x,p.y);

    struct rect {
    struct point pt1;
    struct point pt2;
    };
    struct rect r;

    }


    Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di NaTEn
    Registrato dal
    Jan 2009
    Messaggi
    18
    Se puoi postare il codice completo credo sia meglio, comunque la struct rettangolo non deve contenere 4 struct point?? (il rettangolo ha 4 vertici, non 2)...
    Poi le struct è consigliabile definirle prima del main, o comunque all'inizio, normalmente le variabili si implementano all'inizio del programma o del sottoprogramma, cosìcché non si deve continuare a fare su e giù per vedere a cosa si riferiscono e cose varie...
    Per il calcolo dell'area devi fare la distanza tra 2 punti e calcoli la base, la distanza tra altri 2 punti e calcoli l'altezza. Questi 2 risultati li immagazzini in due variabili b e h (consigliabile implementarle float).
    Ovviamente devi fare anche i controlli che i punti che immetti siano effettivamente di un rettangolo e non siano messi a caso.
    Posta il codice completo che posso esserti più chiaro...

    Fabio

  3. #3
    Originariamente inviato da NaTEn
    Se puoi postare il codice completo credo sia meglio, comunque la struct rettangolo non deve contenere 4 struct point?? (il rettangolo ha 4 vertici, non 2)...
    Sì, ma per definire un rettangolo allineato rispetto agli assi cartesiani (come credo che voglia fare) basta definire il punto in alto a sinistra e quello in basso a destra (oppure in alto a destra e in basso a sinistra).
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Utente di HTML.it L'avatar di NaTEn
    Registrato dal
    Jan 2009
    Messaggi
    18
    Originariamente inviato da MItaly
    Sì, ma per definire un rettangolo allineato rispetto agli assi cartesiani (come credo che voglia fare) basta definire il punto in alto a sinistra e quello in basso a destra (oppure in alto a destra e in basso a sinistra).
    Già... Non avevo pensato a quella soluzione. Beh comunque postare il codice completo non credo faccia male, perché io non ho capito cosa non riesce in questo modo. Non sa come calcolare la distanza?? Non sa la formula?? Boh..

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    760
    Ho risolto 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 © 2025 vBulletin Solutions, Inc. All rights reserved.