Ho fatto qualche modifica al volo senza provare ... se funziona dipende da cosa intendi con il parametro End ..,

In ogni caso, mancano i break nella switch ...

codice:
void PrintAll
( 
  AGENDA *Agenda, /* Agenda da stampare */
  int Fine        /* Dimensione dell'array da stampare */
)
{
      int Start, End;     /* Inizio dell'Array da stampare */
      
      /* 
     
      Invece di avere la stampa sequenziale così:
      for(Start=0; Start<Fine; Start++)
        Print( Agenda , Start );
      
     */
     
      char key;
      
      Start=0;
      End=Fine;
            
      do
      {

        fflush(stdin);
        key = getch();
        
        switch( key )
        {
          case 75: 
                   if(Start-- == 0) Start=End-1;
                   break;
          case 77:
                   if(Start++ == End) Start = 0;
                   break;
        }

        Print( Agenda, Start );
      }
      while( key != 27 );
      
      system("CLS");
      
}
[/QUOTE]