// TriangeOfStars.C
// Math 120 solution to Homework 3, problem 3.

#include<iostream.h>

// print baseSize stars, then baseSize-1 stars, ..., until a line
// with a single star. 

// we will reuse this function from BoxOfStars
void printLine( int count ) {
   if ( count==0 ) {
      cout << endl ;
   }
   else {
      cout << "*" ;
      printLine( count - 1 ) ;
   }
}

void printTriangle( int ls, int totalStars ) {
   if ( ls==1 ) {
      // last line
      printLine( ls ) ;
      cout << totalStars+1 ;
      if ( (totalStars+1) == 1 ) {
         cout << " star" ;
      }
      else {
         cout << " stars" ;
      }
      cout << " printed" << endl ;
   }
   else {
      // more lines follow
      printLine( ls ) ;
      printTriangle( ls-1, totalStars+ls ) ;
   }
}

void main() {
   int baseSize ;

   cout << "Enter Base Size:" ;
   cin >> baseSize ;
   if ( baseSize < 1 ) {
      cout << "Base Size must be positive." << endl ;
      return ;
   }
 
   printTriangle( baseSize, 0 ) ;

}
