Cómo utilizar #include

Cada biblioteca estándar tiene su archivo de cabecera correspondiente, que contiene los prototipos de función de todas las funciones de dicha biblioteca y las definiciones de varios tipos de datos y contantes requeridas por dichas funciones.

La directiva de preprocesador #include hace que en lugar de la directiva se incluya una copia del archivo especificado.

El programador puede crear archivos de cabecera personalizados. Estos archivos de cabecera deben terminar también en .h

Crearemos una función que introduce una cadena (string) desde teclado e imprime en pantalla.

El nombre del siguiente código es: inout.h, hace referencia a funciones de entrada y salida.



/* funciones de entrada y salida para Casio 9860G series */

#include "fxlib.h"
#include "stdio.h"

void Scan (char string[]){
unsigned int i ,key;
char aux[1];

i = 0;
while( GetKey (&key)) {
string[i++] = key;
aux[0] = key;
Print((unsigned char*) aux);
if (key == KEY_CTRL_EXE) 
break;
    }
string[i] = '\0';
}

Ahora nuestro programa principal será:


/*****************************************************************/
/*                                                               */
/*   CASIO fx-9860G SDK Library                                  */
/*                                                               */
/*   File name : cabecera.c                                 */
/*                                                               */
/*   Copyright (c) 2006 CASIO COMPUTER CO., LTD.                 */
/*                                                               */
/*****************************************************************/
#include "fxlib.h"
#include "inout.h"


//****************************************************************************
//  AddIn_main (Sample program main function)
//
//  param   :   isAppli   : 1 = This application is launched by MAIN MENU.
//                        : 0 = This application is launched by a strip in eACT application.
//
//              OptionNum : Strip number (0~3)
//                         (This parameter is only used when isAppli parameter is 0.)
//
//  retval  :   1 = No error / 0 = Error
//
//****************************************************************************
int AddIn_main(int isAppli, unsigned short OptionNum)
{
    unsigned int key;
    char string1[17]; //cadena string1 contendra el elemento introducido por teclado

    Bdisp_AllClr_DDVRAM();

    locate(1,4);
    Print((unsigned char*) "Digite: ");
    
    Scan((unsigned char*) string1);

    while(1){
        GetKey(&key);
    }

    return 1;
}






//****************************************************************************
//**************                                              ****************
//**************                 Notice!                      ****************
//**************                                              ****************
//**************  Please do not change the following source.  ****************
//**************                                              ****************
//****************************************************************************


#pragma section _BR_Size
unsigned long BR_Size;
#pragma section


#pragma section _TOP

//****************************************************************************
//  InitializeSystem
//
//  param   :   isAppli   : 1 = Application / 0 = eActivity
//              OptionNum : Option Number (only eActivity)
//
//  retval  :   1 = No error / 0 = Error
//
//****************************************************************************
int InitializeSystem(int isAppli, unsigned short OptionNum)
{
    return INIT_ADDIN_APPLICATION(isAppli, OptionNum);
}

#pragma section

Mas adelante mejoraremos esta función, creando una función que acepte formato de presentación. 




No hay comentarios:

Publicar un comentario