Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.44 KB | None | 0 0
  1. #ifndef MEDICO_H
  2. #define MEDICO_H
  3.  
  4. #include <iostream>
  5. #include <string>
  6. #include "mLista.h"
  7. #include "aLista.h"
  8.  
  9. using namespace std;
  10.  
  11. class medico
  12. {
  13.     private:
  14.         string nombre;
  15.         string apellido;
  16.         int nColeg;
  17.         int nTfno;
  18.         aLista aseg;
  19.     public:
  20. //  generador libre
  21. //      medico:                 -> [medico]
  22.             medico();
  23.  
  24. //  generador
  25. //      medico: string, nat     -> [medico]
  26. //  ecuaciones
  27. //      medico(s,n) = ponNCol(ponApellido(medico(),s),n)
  28.         medico(string nom, int nColeg);
  29.  
  30. //  generador libre
  31. //      ponApellido:    [medico], string    -> [medico]
  32.         void    ponApellido (string n);
  33.  
  34. //  generador libre
  35. //      ponNCol:    [medico], nat   -> [medico]
  36.         void    ponNCol (nat nCol);
  37.  
  38. //  generador libre
  39. //      ponNombre:  [medico], string    -> [medico]
  40.         void ponNombre (string n);
  41.  
  42. //  generador libre
  43. //      ponTfno:    [medico], int   -> [medico]
  44.         void ponTfno (int n);
  45.  
  46. //  generador libre
  47. //      ponLAseg:   [medico], olista    -> [medico]
  48.         void ponLAseg (mLista o);
  49.  
  50. //  generador libre
  51. //      ponAseg:    [medico], asegurado -> [medico]
  52. //      ponAseg (ponAseg(m,b),a) = ponAseg(m,b) <= a == b
  53. //      ponAseg (ponAseg(m,b),a) = ponAseg(ponAseg(m,a),b)
  54.         void ponAseg (asegurado a);
  55.  
  56. //  generador
  57. //      borrarAseg: [medico], asegurado -> [medico]
  58. //  ecuaciones
  59. //      borrarAseg (medico(),a) = cero() (excepción)
  60. //      borrarAseg (ponApellido(m,s),a) = borrarAseg (m,a)
  61. //      borrarAseg (ponNombre(m,s),a) = borrarAseg (m,a)
  62. //      borrarAseg (ponNCol(m,n),a) = borrarAseg (m,a)
  63. //      borrarAseg (ponTfno(m,n),a) = borrarAseg (m,a)
  64. //      borrarAseg (ponLAseg(m,o),a) = borrarAseg (m,a)
  65. //      borrarAseg (ponAseg(m,b),a) = m <= a == b
  66.         int borrarAseg (asegurado a);
  67.  
  68. //  generador
  69. //      “=”:    [medico]        ->  medico
  70. //  ecuaciones
  71. //      “=”(m,k) = ponNCol(ponApellido(
  72. //              ponNombre(ponTfono(
  73. //              ponLAseg(m,darLAseg(k)),
  74. //              darTfono(k)),darNombre(k)),
  75. //              darApellido(k)),darNCol(k))
  76.         medico& operator= (const medico &);
  77.  
  78. //  observadora
  79. //      darApellido:    [medico]        -> string
  80. //  ecuaciones
  81. //      darApellido (medico()) = string() (excepción)
  82. //      darApellido (ponApellido(m,s)) = s
  83. //      darApellido (ponNombre(m,s)) = darApellido (m)
  84. //      darApellido (ponNCol(m,n)) = darApellido (m)
  85. //      darApellido (ponTfno(m,n)) = darApellido (m)
  86. //      darApellido (ponLAseg(m,o)) = darApellido (m)
  87. //      darApellido (ponAseg(m,a)) = darApellido (m)
  88.         string  darApellido ();
  89.  
  90. //  observadora
  91. //      darNombre:  [medico]        -> string
  92. //  ecuaciones
  93. //      darNombre (medico()) = string() (excepción)
  94. //      darNombre (ponApellido(m,s)) = darNombre (m)
  95. //      darNombre (ponNombre(m,s)) = s
  96. //      darNombre (ponNCol(m,n)) = darNombre (m)
  97. //      darNombre (ponTfno(m,n)) = darNombre (m)
  98. //      darNombre (ponLAseg(m,o)) = darNombre (m)
  99. //      darNombre (ponAseg(m,a)) = darNombre (m)
  100.         string  darNombre ();
  101.  
  102. //  observadora
  103. //      darNCol:    [medico]        -> int
  104. //  ecuaciones
  105. //      darNCol (medico()) = string() (excepción)
  106. //      darNCol (ponApellido(m,s)) = darNCol (m)
  107. //      darNCol (ponNombre(m,s)) = darNCol (m)
  108. //      darNCol (ponNCol(m,n)) = n
  109. //      darNCol (ponTfno(m,n)) = darNCol (m)
  110. //      darNCol (ponLAseg(m,o)) = darNCol (m)
  111. //      darNCol (ponAseg(m,a)) = darNCol (m)
  112.         int darNCol ();
  113.  
  114. //  observadora
  115. //      darTfno:    [medico]        -> int
  116. //  ecuaciones
  117. //      darTfno (medico()) = string() (excepción)
  118. //      darTfno (ponApellido(m,s)) = darTfno (m)
  119. //      darTfno (ponNombre(m,s)) = darTfno (m)
  120. //      darTfno (ponNCol(m,n)) = darTfno (m)
  121. //      darTfno (ponTfno(m,n)) = n
  122. //      darTfno (ponLAseg(m,o)) = darTfno (m)
  123. //      darTfno (ponAseg(m,a)) = darTfno (m)
  124.         int darTfno ();
  125.  
  126. //  observadora
  127. //      darLAseg:   [medico]        -> olista
  128. //  ecuaciones
  129. //      darLAseg (medico()) = olista() (excepción)
  130. //      darLAseg (ponApellido(m,s)) = darLAseg (m)
  131. //      darLAseg (ponNombre(m,s)) = darLAseg (m)
  132. //      darLAseg (ponNCol(m,n)) = darLAseg (m)
  133. //      darLAseg (ponTfno(m,n)) = darLAseg (m)
  134. //      darLAseg (ponLAseg(m,o)) = o
  135. //      darLAseg (ponAseg(m,a)) = anadir(darLAseg(m),a)
  136.         aLista  darLAseg ();
  137.  
  138. //  generador
  139. //      tieneAseg:  [medico], asegurado -> bool
  140. //  ecuaciones
  141. //      ecuaciones
  142. //      tieneAseg (medico(),a) = false() (excepción)
  143. //      tieneAseg (ponApellido(m,s),a) = tieneAseg (m,a)
  144. //      tieneAseg (ponNombre(m,s),a) = tieneAseg (m,a)
  145. //      tieneAseg (ponNCol(m,n),a) = tieneAseg (m,a)
  146. //      tieneAseg (ponTfno(m,n),a) = tieneAseg (m,a)
  147. //      tieneAseg (ponLAseg(m,o),a) = esta (o,a)
  148. //      tieneAseg (ponAseg(m,b),a) = true() <= a == b
  149. //      tieneAseg (ponAseg(m,b),a) =
  150. //                  tieneAseg (m,a) <= no a == b
  151.         bool    tieneAseg (asegurado a);
  152.  
  153. //  observadora
  154. //      asegurados: [medico]        -> int
  155. //  ecuaciones
  156. //      asegurados (medico()) = cero() (excepción)
  157. //      asegurados (ponApellido(m,s)) = asegurados (m)
  158. //      asegurados (ponNombre(m,s)) = asegurados (m)
  159. //      asegurados (ponNCol(m,n)) = asegurados (m)
  160. //      asegurados (ponTfno(m,n)) = asegurados (m)
  161. //      asegurados (ponLAseg(m,o)) = nelems (o)
  162. //      asegurados (ponAseg(m,n)) = suc(asegurados(m))
  163.         int asegurados ();
  164.  
  165. //  observadora
  166. //      “==”:   [medico], medico    -> bool
  167. //  ecuaciones
  168. //      “==”(a,b) = “==”(darNCol(a),darNCol(b))
  169.         bool operator== (const medico &);
  170.  
  171. //  observadora
  172. //      “>”:    [medico], medico    -> bool
  173. //  ecuaciones
  174. //      “>”(a,b) = “>”(darNCol(a),darNCol(b))
  175.         bool operator> (const medico &);
  176.  
  177. //  observadora
  178. //      “<”:    [medico], medico    -> bool
  179. //  ecuaciones
  180. //      “<”(a,b) = “<”(darNCol(a),darNCol(b))
  181.         bool operator< (const medico &);
  182.  
  183.         string  toString ();
  184. };
  185.  
  186. #endif /*MEDICO_H*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement