Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Buongiorno a tutti ed auguri di buon anno Vi giro questa traccia d'esame con relativo mio abbozzo, sperando in un vostro suggerimento.
-Scrivere il codice per una classe "coordinate" che gestisce latitudine(-90.0;+90.0) e longitudine (-180.0;+180.0) di un punto. L'oggetto può essere inizializzato in fase di dichiarazione o con specifica funzione membro; ha una funzione per ottenere i valori settati; è possibile settare un oggetto a partire da somme e sottrazioni di oggetti dello stesso tipo (A=B+C; A=B-C); valori fuori dal range vengono riportati nel range tramite modulo (es: (+70.0;+100.0)+(+30.0;+120.0)=(-80.0;-140.0)). Valutare l'oppurtunità/necessità di scrivere un costruttore di copie.
Codice sorgente - presumibilmente C#
class Coordinate
{
double latitudine, longitudine;
public:
Coordinate(double lat, double lon): latitudine(lat), longitudine(lon){
1-come faccio a stabilire un preciso range di coordinate per la
latitudine e longitudine?
2-L'oggetto può essere inizializzato in fase di dichiarazione o con
specifica funzione
membro;
3-ha una funzione per ottenere i valori settati;
4-valori fuori dal range vengono riportati
nel range tramite modulo (es: (+70.0;+100.0)+(+30.0;+120.0)=
(-80.0;-140.0)).
Ultima modifica effettuata da il-david il 04/01/2010 alle 19:12
()
Newbie
Messaggi: Iscritto:
Postato alle 22:37
Lunedì, 04/01/2010
Ciao.
Ho letto il tuo programma, e posso rispondere che:
1° Per stabilire un reng per le coordinate si può usare la seguente funzione:
void Coordinate::overload()
{
latitudine=fmod((90+latitudine), 180)-90;
longitudine=fmod((180+longitudine), 360)-180;
}
- (fmod(x, y) calcola il resto, "con la virgola", della divisione tra x e y, e fa parte della libreria math.h)
2° E' possibile dichiarare un secondo costruttore, per inizializzare l' oggetto.
3° Non ho capito questo quesito. Intendevi una funzione che restituisca la latitudine e longitudine?
4° Si! Grazie alla funzione overload.
Ecco la classe Coordinate al completo:
Codice sorgente - presumibilmente C/C++
class Coordinate
{
double latitudine, longitudine;
public:
Coordinate(double lat, double lon) : latitudine(lat), longitudine(lon) {