Pascal/Turbo Pascal - duda ejercicio

 
Vista:

duda ejercicio

Publicado por cris (6 intervenciones) el 14/10/2014 22:34:53
Hola necesito hacer un programa que haga lo siguiente:
que solicite al usuario los datos de un paciente y los meta en una registro del tipo PACIENTE que contenga Nombre, Apellidos, altura (en centímetros) peso (en kilos) y fecha de nacimiento (dd/mm/aa) y presente por pantalla esta información,
ademas especifica que aunque la altura se imprima en pantalla en cm ha de aparecer de la siguiente a m y b cm( 1 m y 70 cm 9
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

duda ejercicio

Publicado por ramon (2158 intervenciones) el 15/10/2014 19:42:16
{A ver si esto te hayuda}

program istorial_paciente;
uses
crt;
const
total = 5;
type
paciente = record
nombre : string[100];
apellidos : string;
altura : real;
peso : real;
fecha_nac : string[10];
end;

var
paci : array[1..total] of paciente;
cont : integer;

procedure entradas(var p : paciente);
begin
clrscr;
writeln(' Entradas Pacientes');
writeln;
with p do
begin
write(' Nombre : ');
readln(nombre);
write(' Apellidos : ');
readln(apellidos);
write(' Altura : ');
readln(altura);
write(' Peso : ');
readln(peso);
write(' Fecha Nacimiento : ');
readln(fecha_nac);
end;
end;

procedure presenta_datos(cual : integer; d : paciente);
var
ver : integer;
alto, bajo : real;
deci : string[5];
begin
ver := cual;
if ver > cont then
ver := cont;
clrscr;
writeln(' ***** Datos Paciente *****');
writeln;
with d do
begin
writeln(' Nombre = ',nombre);
writeln(' Apellidos = ',apellidos);
alto := int(altura);
bajo := frac(altura);
str(altura,deci);
if bajo > 0 then
writeln(' Altura = ',trunc(alto),' m ',deci[4],deci[5],' cm')
else
writeln(' Altura = ',trunc(alto),'m');
writeln(' Peso = ',peso:0:2,' Kl');
writeln(' Fecha Nacimiento = ',fecha_nac);
end;
writeln;
writeln(' Pulse Una Tecla');
readkey;
end;

begin
cont := 1;

entradas(paci[cont]);
cont := cont + 1;
if cont > total then
cont := total;
presenta_datos(cont - 1,paci[cont - 1]);

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

duda ejercicio

Publicado por cris (6 intervenciones) el 15/10/2014 22:40:48
Gracias al final la hice así.
Pero tengo ahora que un procedimiento que reciba una lista de PACIENTES y los presente por pantalla. Considere que la lista no tendrá nunca más de 5 pacientes. Inclúyalo en un programa que pregunte el número de pacientes, lea los datos de los pacientes y los presente por pantalla.
No me da salido, ¿cómo podría hacer?


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
program pacientes;
uses
crt;
var
nombre : string[80];
apellidos: string[80];
altura : integer;
peso : real;
m:integer;
cm:integer;
 
 
procedure entrada_datos;
begin
clrscr;
write('Nombre del paciente: ');
readln(nombre);
write('Apellidos:');
readln(apellidos);
write(' Altura (cm) : ');
readln(altura);
write(' Peso(kg) : ');
readln(peso);
end;
 
procedure presentacion;
begin
clrscr;
writeln(' ',nombre, ' ' ,apellidos);
writeln('altura (cm)  : ',altura);
m:=altura div 100;
cm:=altura mod 100;
writeln('Altura:', m, 'm y ', cm, 'cm');
end;
 
begin
entrada_datos;
presentacion;
readln;
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

duda ejercicio

Publicado por ramon (2158 intervenciones) el 16/10/2014 00:50:12
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
{Mira acoplado a tu programa}
 
program pacientes;
uses
crt;
  type
   paciente = record
        nombre : string[80];
        apellidos: string[80];
        altura : integer;
        peso : real;
      end;
 
var
paci : array[1..5] of paciente;
mt, m:integer;
cm:integer;
 
 
procedure entrada_datos;
begin
m := 1;
while m < 5 do
begin
clrscr;
write('Nombre del paciente: ');
readln(paci[m].nombre);
write('Apellidos:');
readln(paci[m].apellidos);
write(' Altura (cm) : ');
readln(paci[m].altura);
write(' Peso(kg) : ');
readln(paci[m].peso);
m := m + 1;
end;
end;
 
procedure presentacion;
begin
clrscr;
mt := 1;
while mt < 5 do
begin
writeln(' ',paci[mt].nombre, ' ' ,paci[mt].apellidos);
writeln('altura (cm) : ',paci[mt].altura);
m:=paci[mt].altura div 100;
cm:=paci[mt].altura mod 100;
writeln('Altura:', m, 'm y ', cm, 'cm');
end;
end;
 
begin
entrada_datos;
presentacion;
readln;
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

duda ejercicio

Publicado por cris (6 intervenciones) el 16/10/2014 11:06:24
Muchas gracias, al final con tu ayuda lo conseguí hacer.
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