Subversion Repositories svn1-original

Rev

Rev 95 | Blame | Last modification | View Log | RSS feed

/*************************************************************************
*           Copyright (C) 1995 Embedded Solutions
*                       All rights reserved
*
* file:     src\dcheck.c
*
* purpose:  This module contains routines used to test the consitency
*           of the time data.
*
*           It will test data for one or more legs generating displays of
*           inconsitent data. The system will then allow the operator to
*           correct the data or to disqualify the team.
*
* functions
*       data_check              - Start the data consistency testing
*       correct_times           - Allow the operator to modify data
*
* programmer: David Purdie
*
* revision  date        by      reason
*   00.0    27/01/95    DDP     Tidies up the program and formatted the file
*
**************************************************************************/

#include    "consts.h"
#include    "structs.h"
#include    "proto.h"


/* Internal definition */

//int         leg_end = 0;                         /* Legs to test */
//const char       *ck_err_mess[] = {
//    "No error",
//    "Invalid start time",
//    "Invalid end time",
//    "End before start",
//    "Team data not entered"
//};

/*========================================================================
 *
 *  Start the data consistency testing
 *
 *  Purpose:
 *      This function is called to start the data consistency testing
 *
 *  Parameters:
 *      None
 *
 *  Returns:
 *      Nothing
 *
 *========================================================================*/

//void data_check(void)
//{
//    int         tm;
//    int         list;                       /* Option to use */
//    int         i;                          /* List counter */
//    int         count_bad;                  /* Counter of bad teams */

//    cur( 0, 5 );
//    printf( "Leg times data consistency testing" );
//    while( TRUE )
//    {
//        if ( last_loaded_leg > 0 && last_loaded_leg <= config.num_legs )
//            leg_end = last_loaded_leg;
//        else
//            leg_end = config.num_legs;

//        d_field( 0, 6, "Enter leg to test :", D_NUMBER, 1,
//                 ( char * ) &leg_end, TRUE, M_UPDATE );
//        if( abort_flag )
//            return;
//        if( leg_end > 0 && leg_end <= config.num_legs )
//            break;                               /* Got what I need */
//        beep();
//    }

//    last_loaded_leg = leg_end;
//    for ( ; ; )
//    {
//        printf( "\n(L)ist, (E)xamine or (Q)uit teams with bad times :" );
//        list = 0;
//        count_bad = 0;
//        i = 0;
//        switch ( getfnc( "LEQ" ) )
//        {
//        case 'Q' :
//        case 0:
//            return;                                  /* Abort exit */

//        case 'L':
//            list++;
//            printf( "List" );
//            break;

//        case 'E':
//            printf( "Examine" );
//        }

//        /*
//         * Start the testing
//         * Read each team into memory and start the testing
//         */
//        printf( "\nScanning all team records\n" );

//        for( tm = config.min_team; tm <= config.max_team; tm++ )
//        {
//            abort_flag = FALSE;
//            if( valid_field( tm ) )
//            {
//                ( void ) g_record( tm, &team_buf );
//                if( team_buf.flags.disqualified == FALSE
//                    && test_times( &team_buf, leg_end ) )
//                {
//                    count_bad++;
//                    if( !list )
//                    {
//                        if( correct_times( tm, list ) )
//                        {
//                            tm--;
//                            count_bad--;
//                        }
//                        else if( abort_flag )
//                            break;;
//                    }
//                    else
//                    {
//                        printf( "%4d ", tm );
//                        if( ++i > 10 )
//                        {
//                            printf( "\n" );
//                            i = 0;
//                        }
//                        flush_out();
//                    }
//                }
//            }
//        }
//        if( count_bad )
//            printf( "\n%d teams with inconsistent data", count_bad );
//        else
//            printf( "\nAll team data correct" );
//        beep();
//    }
//}

/*========================================================================
 *
 *  Allow the operator to modify data
 *
 *  Purpose:
 *      This function is called to Allow the operator to modify data
 *
 *  Parameters:
 *      tm      Team to process
 *      list    Mode: TRUE : Just list data
 *                    FALSE: Modify data
 *
 *  Returns:
 *      This routine will return TRUE if the data was modified 
 *
 *========================================================================*/

//bool correct_times( int tm, int list )
//{
//    int         mods_done = FALSE;

//    list = list;                                 /* Keep lint quiet for now */
//    printf( "Team %4d,Leg %d: %s ", tm, check_error.leg,
//            ck_err_mess[check_error.type] );
//    printf( " Ign/Disq/NoEquest/Exam :" );
//    switch ( getfnc( "IDNE" ) )
//    {
//    case 0:
//    case 'I':
//        mods_done = FALSE;
//        break;
//    case 'D':
//        team_buf.flags.disqualified = TRUE;
//        printf( "Disqualified" );
//        mods_done = TRUE;
//        break;
//    case 'N':
//        team_buf.flags.disqualified = TRUE;
//        team_buf.flags.non_equestrian = TRUE;
//        printf( "No Equestrian" );
//        mods_done = TRUE;
//        break;

//    case 'E':
//        clearscreen();
//        if( check_error.type == 4 )
//            d_display( M_TEAM );
//        else
//            d_display( M_LEGS );
//        mods_done = TRUE;
//        break;
//    }
//    put_team_record( tm, &team_buf );
//    printf( "\n" );
//    return ( mods_done );
//}

/********************************* EOF ***********************************/