mi scuso con tutti i mebri del forum...
mi scuso con tutti i mebri del forum...
L'esercizio non chiede di inizializzare a zero i campi, ma di inizializzarli a dei valori passati al metodo.Originariamente inviato da gournova
1)
void imposta()
{
x1=0;
x2=0;
y1=0;
y2=0;
}
Che senso ha questa roba? Non è di sicuro un metodo e non è nemmeno C++, senza contare che non c'è nessuna logica nelle operazioni che compi (cosa c'entra quel for?). Inoltre le classi difficilmente stampano messaggi sullo schermo, una metodo del genere andrebbe implementato in modo che restituisca un valore bool al chiamante che gli indichi se i due segmenti sono uguali, penserà poi il chiamante a decidere cosa fare.2)
leggi x1, x2, y1, y2 questi sono i dati del mio segmento
leggi xa, xb, ya, yb segmento ipotetico
for(i=0; i<10; i++)
if((x1,y1)=(xa,ya) and(x2,y2)=(xb,yb))do
stampa "il segmento è nella stessa posizione"
else
stampa"il segmento è in un'altra posizione"
end if
end for
end
Una mia proposta:
Una soluzione migliore implicherebbe l'uso di costruttori, l'overloading dell'operatore ==, un maggiore incapsulamento delle coordinate degli estremi e magari l'impiego di una classe Punto per memorizzarli, ma non credo che tu sia già arrivato a questi argomenti.codice:class Segmento { public: int x1, y1; //Primo punto int x2, y2; //Secondo punto inline void imposta(int X1, int Y1, int X2, int Y2) { x1=X1; y1=Y1; x2=X2; y2=Y2; } bool ugualeA(Segmento AltroSegmento); }; bool Segmento::ugualeA(Segmento AltroSegmento) { return ( AltroSegmento.x1==x1 && AltroSegmento.y1==y1 && AltroSegmento.x2==x2 && AltroSegmento.y2==y2) ) || ( AltroSegmento.x2==x1 && AltroSegmento.y2==y1 && AltroSegmento.x1==x2 && AltroSegmento.y1==y2 ); }
Amaro C++, il gusto pieno dell'undefined behavior.
come hai fatto ha imparare cosi bene questo linguaggio?io frequento la 5° scientifiko tecnologico...a m sembra già cmplicato questo ke stiamo facendo...curiosità cosa è un nodo astratto del c++?
Dici che ho imparato bene il C++ perché ti ho scritto una classe con 4 campi e 2 metodi? Ah, beata gioventù...Originariamente inviato da gournova
come hai fatto ha imparare cosi bene questo linguaggio?
Scherzi a parte quello che so l'ho imparato in diversi modi; in primo luogo sui libri: due (uno di base e uno più avanzato) di C++ in generale, un tomo gigante di programmazione win32, uno (meno gigante) di programmazione UNIX (entrambi non finiti completamente di leggere, ma conto di riprenderli quando avrò un po' di tempo). Ho preso confidenza con le questioni di "stile" soprattutto leggendo articoli su internet e programmando su progetti un po' più grandi del solito. Nella mia formazione ha avuto anche un ruolo rilevante la MSDN, sia come guida di riferimento sia per gli ottimi articoli che contiene.
Oltre a questo, comunque, prima di iniziare a studiare il C++ avevo già un background di .NET e VB6.
Inoltre anche l'esperienza sul forum è formativa: rispondere a quesiti di altri ti spinge a ragionare su situazioni sempre nuove, e le risposte di professionisti che programmano per davvero (giusto per fare qualche nome di questo forum per quanto riguarda il C++ ti cito oregon, shodan, pallinopinco, MacApp, ma ce ne sono molti altri) insegnano molte cose.
Stesso anno di liceo classico!io frequento la 5° scientifiko tecnologico...
Non scoraggiarti e soprattutto impara a pensare con la tua testa, evita di scopiazzare codice da internet, è il peggior modo di imparare.a m sembra già cmplicato questo ke stiamo facendo...
Contestualizza un po' di più, così non ti saprei proprio dire.curiosità cosa è un nodo astratto del c++?
Amaro C++, il gusto pieno dell'undefined behavior.