Pascal/Turbo Pascal - programa de pascal para un sistema automatizado

 
Vista:
sin imagen de perfil

programa de pascal para un sistema automatizado

Publicado por lisbeth (22 intervenciones) el 16/05/2014 03:45:48
buenas noches si alguien me puede ayudar en este programa se lo agrecederia:
La Clínica “La Mejor”, requiere un sistema automatizado para registrar a los
pacientes que son atendidos, de tal modo, que se puedan obtener datos
específicos tales como: las estadísticas en atención a menores de edad,
adultos mayores, tanto femenino como masculino, los ingresos recaudados
mensualmente según los tipos de patologías atendidas, entre otros. Es
importante destacar, que se han clasificado estas patologías en tres categorías:
las tipo A, las B y las tipo C; y se deberán tomar en cuenta las siguientes
especificaciones, al momento de ser atendidas en la Clínica:
• Los pacientes deberán cancelar Bs. 500 por ingreso a la clínica.
• Deberán pagar diariamente Bs. 550 si son atendidos por patologías
tipo A.
• Bs. 430 si se trata de las tipo B.
• Bs. 620 si es por las tipo C.

Dicho Sistema Automatizado, debe cumplir con las siguientes pautas:
• Presentar un menú de mantenimiento con las opciones siguientes:
 Incluir
 Consultar
 Modificar
 Eliminar
 Reporte
 Salida
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

programa de pascal para un sistema automatizado

Publicado por ramon (2158 intervenciones) el 17/05/2014 01:12:40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
{Mira si esto sirve como va o es otra forma en vez de archivos}
 
program clinica;
  uses
    crt, dos;
 
  const
     patoA = 550;
     patoB = 430;
     patoC = 620;
     ingres = 500;
     archi = 'Datospac.dat';
 
  type
     menores = 0..18;
     adultos = 19..64;
     mayores = 65..107;
     string12 = string[12];
     paciente = record
           nombre : string[80];
           apells : string;
           numpac : longint;
           edad   : integer;
           sexo   : char;
           patolg : char;
          ingreso : real;
          tiempo  : integer;
          fechent : string[12];
          fechalt : string[12];
          total   : real;
        end;
 
   var
     f : file of paciente;
     datos : paciente;
     ayo, mes, dia, sem : word;
 
    function guardardatos(dd : paciente) : boolean;
    var
      tt : longint;
      dt : paciente;
      err : boolean;
    begin
       guardardatos := false;
       assign(f,archi);
   {$I-} reset(f); {$I+}
      if ioresult <> 0 then
      begin
         rewrite(f);
         seek(f,0);
         write(f,dd);
         close(f);
         guardardatos := true;
      end
  else
      begin
         err := false;
         for tt := 0 to filesize(f) - 1 do
         begin
            seek(f,tt);
            read(f,dt);
            if dt.numpac = dd.numpac then
            begin
               err := true;
               break;
            end;
         end;
          if err = false then
          begin
          seek(f,filesize(f));
          write(f,dd);
          close(f);
          guardardatos := true;
      end;
    end;
  end;
 
    function diaingreso : string12;
    var
      comm, comd : string[2];
      coma : string[4];
    begin
        getdate(ayo,mes,dia,sem);
        str(ayo,coma);
        str(mes,comm);
        str(dia,comd);
        diaingreso := comd + '/' + comm + '/' + coma;
    end;
 
    procedure entradapaciente;
    var
      tec : char;
    begin
       clrscr;
          writeln('***** Ingreso Paciente *****');
          writeln;
          with datos do
          begin
             write('   Entre Nombre         : ');
             readln(nombre);
             write('   Entre Apellidos      : ');
             readln(apells);
             write('   Entre Num. Pacit.    : ');
             readln(numpac);
             write('   Entre Edad           : ');
             readln(edad);
             write('   Entre Sexo [F/M]     : ');
             readln(sexo);
             write('   Entre Patol. [A/B/C] : ');
             readln(patolg);
             ingreso := ingres;
             fechent := diaingreso;
             writeln;
             writeln('>>> Acectar Datos [S/N] <<<');
             repeat
                 tec := upcase(readkey);
             until tec in['S','N'];
            if tec = 'S' then
            begin
              if guardardatos(datos) = true then
              writeln(' Datos De Paciente Guardados ')
           else
              writeln(' Error El Numero Paciente Existe No Guardado ');
              writeln(' Pulse Una Tecla ');
            end;
        end;
    end;
 
    procedure consultar(num : longint);
    var
      tt : longint;
      dto : paciente;
      si : boolean;
    begin
        si := false;
        assign(f,archi);
    {$I-} reset(f); {$I+}
      if ioresult <> 0 then
      begin
         writeln('  Error Archivo No Encontrado Pulse Una Tecla');
         readkey;
      end
   else
       begin
          for tt := 0 to filesize(f) - 1 do
          begin
             seek(f,tt);
             read(f,dto);
             if dto.numpac = num then
             begin
                 si := true;
                 break;
             end;
          end;
            if si = true then
            begin
               with datos do
               begin
                writeln('  Nombre          = ',nombre);
                writeln('  Apellidos       = ',apells);
                writeln('  Numero Paciente = ',numpac);
                writeln('  Edad            = ',edad);
                writeln('  Patolojia       = ',patolg);
                writeln('  Importe Ingreso = ',ingreso:0:2);
                writeln('  Fecha Ingreso   = ',fechent);
                writeln('  Fecha Actual    = ',diaingreso);
                writeln;
              end;
            end
         else
            writeln('  Numero Paciente No Encontrado ');
            writeln('  Pulse Una Tecla');
            readkey;
       end;
 
    end;
 
 
 
 
    procedure menu;
    var
      tecla : char;
      sal : boolean;
      nnm : longint;
    begin
       sal := false;
    repeat
        clrscr;
        writeln('   ***** Menu Jeneral *****');
        writeln;
        writeln('   I = Incluir');
        writeln('   C = Consultar');
        writeln('   M = Modificar');
        writeln('   E = Eliminar');
        writeln('   R = Reporte');
        writeln('   S = Salir');
        writeln;
        writeln('   <<< Elija Opcion >>>');
      repeat
          tecla := upcase(readkey);
      until tecla in['I','C','M','E','R','S'];
      clrscr;
    case tecla of
  'I' : entradapaciente;
  'C' : begin
          write('   Entre Num. Paciente : ');
          readln(nnm);
          consultar(nnm);
        end;
  'M' :;
  'E' :;
  'R' :;
  'S' : sal := true;
    end;
    until sal = true;
  end;
 
    begin
        clrscr;
        menu;
    end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

programa de pascal para un sistema automatizado

Publicado por lisbeth (22 intervenciones) el 29/05/2014 03:04:36
hola gracias por la ayuda pero sabe que me falto otra parte q no lo coloque si me puede ayudar..
esta es la otra parte

Debe registrar, con la opción Incluir, los siguientes datos:
 Cédula de Identidad.
 Apellidos y Nombres.
 Edad.
 Sexo.
 Días de hospitalización.
 Tipo de patologías (A/B/C).
• Debe ordenar el registro de pacientes por el número de la cédula de
identidad.

• Mostrar por pantalla, cuando se consulte a un paciente por su número de
cédula de identidad, toda la información referente al mismo.

• Mostrar por pantalla, en la opción Modificar y en la opción Eliminar, un
mensaje de confirmación, donde el usuario ratifica la acción de modificar
o eliminar datos en el sistema.

• Las opciones Consultar, Modificar y Eliminar, harán uso de los mismos
datos registrados en la opción Incluir.

• La opción Reporte, debe generar un listado impreso que presente la
siguiente información:
Ingresos recaudados por patologías tipo A.
Ingresos recaudados por patologías tipo B.
Ingresos recaudados por patologías tipo C.
Número de pacientes atendidos menores de 18 años.
Número de pacientes atendidos mayores de 65 años sexo femenino.
Número de pacientes atendidos mayores de 65 años sexo masculino.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar