|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Oct 2006
Messaggi: 17
|
c++ array di struct !!HELP!!
Ciao a tutti ,è la prima volta che scrivo in questa sezione, proprio perche sono disperato e nn so come altro fare!!!per molti di voi sara una cavolata ma per me è un grande problema!!!devo svolgere un esercizio in c++ in cui mi viene richiesto
di caricare da tastiera in UN ARRAY DI RECORD (<-ed è qsto il mio problema!) un insieme di dati che rappresentano i risultati di un esame (nome matricola voto).Ho provato ad eseguire l'esercizio in maniera normale (es.scanf ("%s",vetS[i].nome);...) e pare che mi funzioni ora pero vorrei svolgerlo utilizzando una funzione!!!quindi in fine credo che il mio problema sia quello di riuscire a passare un array di struttura ad una funzione!!confido nella vostra enorme SAPIENZA!!se proprio nn volete aiutarmi datemi almeno un sito da visitare che possa aiutarmi (possibilmente in italiano) aiuto aiuto aiuto!!! |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Aug 2004
Messaggi: 693
|
Quote:
in questa maniera: struct record{char Nome[N]; int Matricola; int Voto;};
__________________
Marco |
|
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Oct 2006
Messaggi: 17
|
si questo lo ho gia fatto , poi ho dichiarato un vettore di quel tipo di struttura...(es.record vetS[5])ora nn riesco pero a passare il vettore di quel tipo alla funzione!!cmq grazie per aver risposto!!
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Aug 2004
Messaggi: 693
|
Quote:
http://programmazione.html.it/guide/leggi/34/guida-c/
__________________
Marco |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
Dichiarazione:
per passare un vettore ad una funzione puoi fare in 2 modi (equivalenti): o dichiari la funzione cosi': Codice:
int funzione(voto* array){...}
Codice:
int funzione(voto array[]){...}
alla funzione bisogna passare l'indirizzo del primo elemento, ossia &arr[0] cosi: Codice:
funzione(&arr[0]) Codice:
funzione(arr) |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
Se non devi usare l'allocazione dinamica poi é semplicissimo. provaci e facci sapere ;-)
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
|
#7 |
|
Junior Member
Iscritto dal: Oct 2006
Messaggi: 17
|
Ok angel il mio problema è che devo passare un vettore di struttura....nn so se riesco a spiegarmi...
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
|
#9 |
|
Junior Member
Iscritto dal: Oct 2006
Messaggi: 17
|
Scusa ma nn capisco.....!!!!managgia
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
Codice:
void funzione( struct Allievo *pArray, int NumElem )
{
int i;
for (i = 0; i < NumElem; i++ )
{
fscanf( "%s", pArray[i].Nome );
...
}
}
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
NB: questo é C non C++
col C++ minimo dovresti fare una Codice:
class Matricola
{
...
};
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
|
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
meglio ancora se coronato da qualche ++ quà e là
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
|
#14 |
|
Junior Member
Iscritto dal: Oct 2006
Messaggi: 17
|
Trallalero e la chiamata di funzione invece quale sarebbe?
|
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
Se le hai dichiarate tipo EDIT : correggo Codice:
struct Matricola Mat[10]; Codice:
funzione( &Mat[0], 10 );
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
|
#16 |
|
Junior Member
Iscritto dal: Oct 2006
Messaggi: 17
|
ok ok ci sono , per ora.....solo una cosa quel 10 accanto al nome dell'array cosa indica?perdona la domanda stupida!!
|
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
La cosa migliore sarebbe un numero variabile ma dovresti poi capire l'allocazione dinamica e non mi sembra il caso adesso.
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
|
#18 |
|
Junior Member
Iscritto dal: Oct 2006
Messaggi: 17
|
...infatti........ok grazie ragazzi sopratutto a te TRALLALERO!!!piu tardi provo e vi faccio sapere!!
|
|
|
|
|
|
#19 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:42.



















