#include <iostream>
using namespace std;
// costanti globali (volendo si potrebbero anche usare dei #define)
const int g_qVett = 2; // quantita' dei vettori da trattare
const int g_qMinVal = 1; // quantita' minima dei valori ammessi in ogni vettore
const int g_qMaxVal = 9; // quantita' massima dei valori ammessi in ogni vettore
// prototipi
bool richiesta_dimensioni_vettore( int idVett, int *qEl );
bool richiesta_dati_vettore( int idVett, int *v, int qEl );
bool visualizzazione_dati_vettore( int idVett, const int *v, int qEl );
int main (){
int v[g_qVett][g_qMaxVal]; // i vettori
int qEl[g_qVett]={0}; // la quantita' degli elementi nei vettori
int i;
for( i=0; i<g_qVett; ++i )
if( !richiesta_dimensioni_vettore(i+1,qEl+i) )
return 0; // errore gia' segnalato dalla funzione
for( i=0; i<g_qVett; ++i )
if( !richiesta_dati_vettore(i+1,v[i],qEl[i]) )
return 0; // errore gia' segnalato dalla funzione
for( i=0; i<g_qVett; ++i )
if( !visualizzazione_dati_vettore(i+1,v[i],qEl[i]) )
return 0; // errore gia' segnalato dalla funzione
return 0;
}
bool richiesta_dimensioni_vettore( int idVett, int *qEl ) {
if( idVett<1 || NULL==qEl ) { // verifica parametri
cout<<"Errore in richiesta_dimensioni_vettore():"<<endl;
// verifica i parametri, segnalando gli errori se qualcosa non va
return false; // parametri non validi
}
// chiede le dimensioni del vettori, insistendo
// finche' non viene fornita una risposta adeguata
return true;
}
bool richiesta_dati_vettore( int idVett, int *v, int qEl ) {
if( idVett<1 || NULL==v || qEl<1 ) { // verifica parametri
cout<<"Errore in richiesta_dati_vettore():"<<endl;
// verifica i parametri, segnalando gli errori se qualcosa non va
return false; // parametri non validi
}
// in un ciclo che si ripete qEl volte, riceve i valori
// da inserire nell'array, ripetendo le richieste ogni
// volta che viene inserito un valore non accettabile
return true;
}
bool visualizzazione_dati_vettore( int idVett, const int *v, int qEl ) {
if( idVett<1 || NULL==v || qEl<1 ) { // verifica parametri
cout<<"Errore in visualizzazione_dati_vettore():"<<endl;
// verifica i parametri, segnalando gli errori se qualcosa non va
return false; // parametri non validi
}
cout<<"Valori immessi nel vettore n. "<<idVett<<":"<<endl;
// in un ciclo che si ripete qEl volte, mostra il
// valore contenuto in ogni elemento dell'array v
return true;
}