|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#41 |
|
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Lì devi più che altro capire con il tuo professore qual'è la consegna precisa dell'esercitazione.
Perchè ha senso sia, dato il numero della figurina, verificare se essa è presente nell'album, sia data l'istanza di figurina verificare se essa è tra quelle inserite nell'album. Solo che, come detto, devi capire precisamente con il prof cosa vuole effettivamente che tu faccia. |
|
|
|
|
|
#42 |
|
Senior Member
Iscritto dal: Jan 2010
Messaggi: 328
|
ma nel caso in ingresso alla funzione acquisici ho solo il numero della figurina, come faccio a scorrere il vettore di figurine senza un oggetto? cosi
void figurina::acquisisci(int x){ int i; for(i=0;i<num;i++){ if(valbum[i].numero==x) valbum[i].doppione=true; else if(valbum[i].numero!=x) valbum[i].presente=true; } } |
|
|
|
|
|
#43 |
|
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Allora, facciamo un passetto indietro micro, e spiegami precisamente cosa deve fare il metodo acquisisci(int)
|
|
|
|
|
|
#44 |
|
Senior Member
Iscritto dal: Jan 2010
Messaggi: 328
|
da quanto ho capito è una funzione della classe figurina, che dato in input il numero della figurina deve controllare che sia presente nella collezione, quindi suppongo che deve essere presente nel vettore figurine
|
|
|
|
|
|
#45 |
|
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Se è una funzione della classe figurina allora però avrà bisogno almeno di avere il riferimento alla collezione nella quale fare il check. A meno che tra i campi della figurina non inserisci un puntatore alla classe Album, che andrà, ogni qualvolta inserisci una figurina nell'album, a puntare all'album stesso (proprio come avviene nelle interfacce grafiche, dove ad ogni widget creato viene passato il riferimento al widget o form che lo contiene.
|
|
|
|
|
|
#46 |
|
Senior Member
Iscritto dal: Jan 2010
Messaggi: 328
|
cioè il riferimento ad album?
void figurina::acquisisci(int x,album a){ int i; for(i=0;i<a.num;i++){ if(a.valbum[i].numero==x) a.valbum[i].doppione=true; else if(a.valbum[i].numero!=x) a.valbum[i].presente=true; } } |
|
|
|
|
|
#47 |
|
Senior Member
Iscritto dal: Jan 2010
Messaggi: 328
|
devo procedere cosi?
|
|
|
|
|
|
#48 |
|
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
L'album prima di tutto dovresti passarglielo per riferimento o tramite puntatore.
E' cattiva pratica passare istanze di classi per valore (oltre al fatto che metti in gioco il costruttore per copia che quindi dovrebbe essere definito per evitare pasticci), in primis perchè comporta il creare una copia interna di una istanza (e quindi utilizzo di risorse evitabile) e per secondo perchè ogni modifica su di essa andrebbe persa, essendo una copia. A parte questo, io una cosa non ho capito. Ma il numero della figurina corrisponde alla posizione nell' array dell' album o le figurine vengono inserite sequenzialmente a prescindere dal loro numero? |
|
|
|
|
|
#49 |
|
Senior Member
Iscritto dal: Jan 2010
Messaggi: 328
|
si assegni all’indice i la figurina di numero i
ah ti ho inviato un programma in pm puoi dirmi perchè non funziona la funzione inserisci ordinato? grazie |
|
|
|
|
|
#50 |
|
Senior Member
Iscritto dal: Jan 2010
Messaggi: 328
|
up
|
|
|
|
|
|
#51 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Quote:
Rimango comunque dell'idea che tenere all'interno di figurina un puntatore al relativo album (che sarà NULL nel caso in cui la figurina non è inserita in alcun album) sia la via migliore |
|
|
|
|
|
|
#52 |
|
Senior Member
Iscritto dal: Jan 2010
Messaggi: 328
|
per quanto rigurarda la lista che ti ho inviato per pm. ?
|
|
|
|
|
|
#53 |
|
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
|
|
|
|
|
|
#54 |
|
Senior Member
Iscritto dal: Jan 2010
Messaggi: 328
|
novità?
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:34.




















