/* tabellina.c
 * Linguaggi e Traduttori
 * Prof. Ing. Stefano Salvi
 * Lezione 2a
 *
 * Esercizio 2;
 * Scrivere un programma che stampi la tabellina dell'uno in 'modo testo', vale a dire: 
 *
 *      uno per uno uguale uno
 *      uno per due uguale due
 *      ....
 *
 *      usando una procedura per scivere i numeri in modo alfabetico.
 */

#include <stdio.h>

/* Funzione che stampa in modo testo un numero,
 * data la cifra.
 * Utilizza una selezione multipla
 */
void numero (int quale)
{
  switch (quale)
  {
    case 0:		/* Se quale vale 0 */
      printf ("zero");	/* Stampo 'zero' */
      break;		/* E vado alla fine */
    case 1:		/* E cosi' via...*/
      printf ("uno");
      break;
    case 2:
      printf ("due");
      break;
    case 3:
      printf ("tre");
      break;
    case 4:
      printf ("quattro");
      break;
    case 5:
      printf ("cinque");
      break;
    case 6:
      printf ("sei");
      break;
    case 7:
      printf ("sette");
      break;
    case 8:
      printf ("otto");
      break;
    case 9:
      printf ("nove");
      break;
  }
}

/* Funzione principale che stampa le singole righe della tabellina */
int main ()
{
int i;

  /* Per ogni valore da 0 a 10-1 (9) */
  for (i = 0; i < 10; i++)
  {
    printf ("uno per ");	/* prima parte */
    numero (i);			/* stampo il numero */
    printf (" uguale a ");	/* seconda parte */
    numero (i);			/* ristampo il numero */
    printf ("\n");		/* alla fine, a capo */
  }

  return 0;
}