/*************************************************************
  esStampaQuadrato.cpp

  Scrivere un programma che crea una funzione che prende
  come argomento formale un intero n e stampa a video
  un quadrato di asterischi di lato n.

  L'output deve essere del tipo:
  Base quadrato? 3
  Stampo quadrato di base 3

  * * *
  * * *
  * * *

*******************************************************/

#include <iostream>
using namespace std;

void stampaQuadrato(int k){
   // k è l'argomento formale della funzione. Questa funzione non ritorna nulla
   for (int r = 0; r < k; r++) {
       for (int c = 0; c < k; c++){
           cout << "* ";
	   }
       cout << endl;
	}
	return; // nel caso di funzione con ritorno void, questo return puo' essere omesso
}

int main(){
  
  cout << endl << "Stampo un quadrato di lato 3" << endl;
  stampaQuadrato(3);

  cout << endl << "Stampo un quadrato di lato 6" << endl;
  stampaQuadrato(6);

  int n;
  cout << endl << "Inserisci il lato del prossimo quadrato da stapare: ";
  cin>>n;

  cout << endl << "Stampo un quadrato di lato " << n << endl;
  stampaQuadrato(n); // n è l'argomento attuale passato alla funzione
  
  return 0;

}
