|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jul 2006
Messaggi: 64
|
[C++] strutture e funzioni
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: Codice:
#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;
}
C'è modo di risolvere questo in qualche maniera? Vi ringrazio anticipatamente!!
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Definisci struttura in un file "struttura.h" e lo includi nel file dove definisci raddoppia e nel main, un'alternativa è la forward declaration.
All'inizio dei file header usi la direttiva del preprocessore: Codice:
#pragma once |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jul 2006
Messaggi: 64
|
ok, grazie mille!!!
scusami se approfitto della tua esperienza, ma poi la funzione la lascio uguale? ed inoltre, se al suo interno volessi mettere degli array con numero di componenti che ricavo dal programma, è possibile? Grazie ancora. Ultima modifica di Mattiatn : 04-05-2009 alle 15:24. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:07.



















