Forum - C/C++
- Struct, extern e header
Jimmy_5 (Normal User)
Newbie
Messaggi: 11
Iscritto: 09/12/2011
Il mio problema è che non capisco come usare gli struct insieme ad extern.
Posto il codice:
main.cc
Codice sorgente - presumibilmente C++
#include <iostream>
#include <stdlib.h>
#include "operazioni.h"
#include "dati.h"
using namespace std;
int a, b, c;
struct insieme uno;
void calcola( ) {
set( ) ;
somma( ) ;
prodotto( ) ;
set( ) ;
}
void stampa( ) {
cout << "a,b,c: " << a<< " " << b<< " " << c<< " " << endl;
cout << "Numeri dell'insieme: " << uno.numeri [ 0 ] << " " << uno.numeri [ 1 ] << "\t " << uno.numeri [ 2] << endl;
cout << "ciao\n " ;
}
int main( )
{
atexit ( stampa) ;
cout << "Benvenuto!\n " ;
calcola( ) ;
return 0 ;
}
operazioni.cc
Codice sorgente - presumibilmente C++
#include <iostream>
#include "dati.h"
using namespace std;
void somma( ) {
cout << "Somma: " << a+ b+ c<< endl;
}
void prodotto( ) {
cout << "Prodotto: " << a* b* c<< endl;
}
void set( ) {
char input;
cout << "Vuoi settare le variabili? s/n\t " ;
cin >> input;
if ( input== 's' ) {
cout << "Inserisci a: " ;
cin >> a;
cout << "Inserisci b: " ;
cin >> b;
cout << "Inserisci c: " ;
cin >> c;
cout << "Inserisci i numeri dell'insieme 1:\t " ;
cin >> uno.numeri [ 0] ; cout << "\t " ;
cin >> uno.numeri [ 1] ; cout << "\t " ;
cin >> uno.numeri [ 2] ; cout << endl;
}
}
operazioni.h
Codice sorgente - presumibilmente C++
#include <iostream>
#include "dati.h"
void somma( ) ;
void prodotto( ) ;
void set( ) ;
dati.h
Codice sorgente - presumibilmente C++
extern int a, b, c;
struct insieme{
int numeri[ 2] ;
} ;
extern struct insieme uno;
nessuno (Normal User)
Guru^2
Messaggi: 6402
Iscritto: 03/01/2010
Deve essere
dati.h
Codice sorgente - presumibilmente C++
struct insieme
{
int numeri[ 2] ;
} ;
extern struct insieme uno;
extern int a, b, c;
operazioni.h
Codice sorgente - presumibilmente C/C++
void somma();
void prodotto();
void set();
operazioni.cc
Codice sorgente - presumibilmente C++
#include <iostream>
#include "dati.h"
using namespace std;
main.cc
Codice sorgente - presumibilmente C++
#include <iostream>
#include <cstdlib>
#include "dati.h"
#include "operazioni.h"
using namespace std;
struct insieme uno;
int a, b, c;
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
Jimmy_5 (Normal User)
Newbie
Messaggi: 11
Iscritto: 09/12/2011
mmh, non vedo la differenza tra il tuo e il mio codice: struct e int sono dichiarati nello stesso modo, negli stessi file
EDIT:: a ok,
Codice sorgente - presumibilmente C/C++
non va messo nell'header operazioni.h
grazie
Ultima modifica effettuata da Jimmy_5 il 22/01/2012 alle 0:55