Mattiatn
04-05-2009, 10:21
ciao a tutti, come potrete ben capire dalla tipologia di linguaggi che scrivo, sono alle prime armi....
Dovendo scrivere un programma abbastanza complesso che richiama vari funzioni, volevo passare da semplici array bidimensionali alle strutture (altrimenti ad ogni modifica mi devo ricordare cosa c'è in una data colonna...).
un primo programma che riesco ad eseguire è il seguente:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
//Dichiarazione della struttura generale
struct struttura{
string nome;
double valore;
};
void raddoppia(struttura* StrutturaModificata)
{
StrutturaModificata->nome="due";
StrutturaModificata->valore=2;
}
int main()
{
//Dichiarazioone della struttura
struttura numero1;
//Inizializzazione
numero1.nome = "uno";
numero1.valore = 1;
cout<<"nome del numero : "<<numero1.nome<<endl;
cout<<"valore del numero : "<<numero1.valore<<endl;
//Puntatore sulla struttura
struttura *PuntatoreNumero1 = &numero1;
//Richiamo della funzione
raddoppia(PuntatoreNumero1);
cout<<"scritte dopo funzioni"<<endl;
cout<<"nome del numero : "<<PuntatoreNumero1->nome<<endl;
cout<<"valore del numero : "<<PuntatoreNumero1->valore<<endl;
}
Il problema è che la funzione "raddoppia" volevo metterla in un file separato, ma in questo modo non mi riconosce il puntatore sulla struttura, o meglio la strutttura.
C'è modo di risolvere questo in qualche maniera?
Vi ringrazio anticipatamente!! :help: :help:
Dovendo scrivere un programma abbastanza complesso che richiama vari funzioni, volevo passare da semplici array bidimensionali alle strutture (altrimenti ad ogni modifica mi devo ricordare cosa c'è in una data colonna...).
un primo programma che riesco ad eseguire è il seguente:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
//Dichiarazione della struttura generale
struct struttura{
string nome;
double valore;
};
void raddoppia(struttura* StrutturaModificata)
{
StrutturaModificata->nome="due";
StrutturaModificata->valore=2;
}
int main()
{
//Dichiarazioone della struttura
struttura numero1;
//Inizializzazione
numero1.nome = "uno";
numero1.valore = 1;
cout<<"nome del numero : "<<numero1.nome<<endl;
cout<<"valore del numero : "<<numero1.valore<<endl;
//Puntatore sulla struttura
struttura *PuntatoreNumero1 = &numero1;
//Richiamo della funzione
raddoppia(PuntatoreNumero1);
cout<<"scritte dopo funzioni"<<endl;
cout<<"nome del numero : "<<PuntatoreNumero1->nome<<endl;
cout<<"valore del numero : "<<PuntatoreNumero1->valore<<endl;
}
Il problema è che la funzione "raddoppia" volevo metterla in un file separato, ma in questo modo non mi riconosce il puntatore sulla struttura, o meglio la strutttura.
C'è modo di risolvere questo in qualche maniera?
Vi ringrazio anticipatamente!! :help: :help: