]> git.llucax.com Git - z.facultad/75.42/calculadora.git/blob - equation.h
Versión preliminar del programa del TP. Falta evaluar ecuaciones.
[z.facultad/75.42/calculadora.git] / equation.h
1 /* vim: set et sts=4 sw=4 fdm=indent fdl=1 fdn=1 fo+=t tw=80:
2  *
3  * Taller de Programación (75.42).
4  *
5  * Ejercicio Número 2:
6  * Programa calculadora.
7  *
8  * Copyleft 2003 - Leandro Lucarella <llucare@fi.uba.ar>
9  * Puede copiar, modificar y distribuir este programa bajo los términos de
10  * la licencia GPL (http://www.gnu.org/).
11  *
12  * Creado: lun sep 15 01:15:27 ART 2003
13  *
14  * $Id$
15  */
16
17 #ifndef EQUATION_H
18 #define EQUATION_H
19
20 #include <stdlib.h>
21 #include <stdio.h>
22
23 /**
24  * Ecuación.
25  */
26 typedef struct {
27     /** Nombre de la variable. */
28     char* variable;
29     /** Expresión. */
30     char* expression;
31 } Equation;
32
33 /**
34  * Crea una nueva Equation.
35  *
36  * \param line Cadena de caracteres de donde extraer la Equation.
37  * \param var_start Comienzo del nombre de la variable.
38  * \param var_len Longitud de la variable.
39  * \param exp_start Comienzo de la expresión.
40  * \param exp_len Longitud de la expresión.
41  *
42  * \return Nueva Equation.
43  */
44 Equation* Equation_new(const char* line, size_t var_start, size_t var_len,
45         size_t exp_start, size_t exp_len);
46
47 /**
48  * Elimina una Equation.
49  *
50  * \param eq Equation a eliminar.
51  */
52 void Equation_delete(Equation* eq);
53
54 /**
55  * Imprime una Equation.
56  *
57  * \param eq Equation a imprimir.
58  * \param fp Archivo donde imprimirla.
59  *
60  * \return Cantidad de caracteres impresos.
61  */
62 size_t Equation_print(Equation* eq, FILE* fp);
63
64 #endif /* EQUATION_H */