Pascal/Turbo Pascal - Record en una tabla

 
Vista:

Record en una tabla

Publicado por Enric (4 intervenciones) el 16/12/2011 08:37:08
Necesito hacer un programa que contenga un record en una tabla contenida en otro record dentro de otra tabla.
El programa seria para saber el numero de resistencias que pasan cada dia de la semana en una fabrica, sus valores para saber el maximo, minimo de cada dia i otro record para saber el maximo i el minimo de la semana ( 5 dias)
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

Record en una tabla

Publicado por ramon (2158 intervenciones) el 17/12/2011 20:54:32
{A ver si esto te ayuda sino aclara lo mas no lo e coji muy bien}

program fraresi;
uses
crt;
type
diaresis = record
cantidad : integer;
valores : real;
end;
semanares = record
dias : array[1..5] of diaresis;
max, min : integer;
end;
var
fabrica : array[1..4] of semanares;
ii, cont : integer;
entradas : integer;

procedure entradasdia;
var
i : integer;
tecla : char;
salir : boolean;
begin
cont := 1;
salir := false;
repeat
i := 1;
clrscr;
gotoxy(2,2);write('***** Entrada Datos *****');
repeat
gotoxy(2,4);write('Entrada N§ ',i,' Cantidad : ');
readln(fabrica[cont].dias[i].cantidad);
gotoxy(2,5);write('Entrada N§ ',i,' Valor : ');
readln(fabrica[cont].dias[i].valores);
gotoxy(26,4);clreol;
gotoxy(26,5);clreol;
i := i + 1;
until i > 5;
gotoxy(2,7);write('Desea Entrar Mas Datos [S/N]');
repeat
tecla := readkey;
until tecla in ['s','S','n','N'];
if tecla in['n','N'] then
salir := true
else
cont := cont + 1;
until (cont > 4) or (salir = true);
entradas := cont;
end;

begin
clrscr;
entradasdia;
clrscr;
for cont := 1 to entradas do
for ii := 1 to 5 do
begin
writeln('Cantidad = ',fabrica[cont].dias[ii].cantidad);
writeln('Valor = ',fabrica[cont].dias[ii].valores:8:2);
writeln;
end;
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

Record en una tabla

Publicado por Enric (4 intervenciones) el 26/12/2011 16:04:23
Oh muchisimas gracias!
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

Record en una tabla

Publicado por Enric (4 intervenciones) el 27/12/2011 14:48:31
Part I. Introducció
Una fàbrica de components passius (resistències) vol verificar la tolerància de les seves
resistències. Per això decideix engegar una prova pilot per analitzar cada dia les resistències
que fabriquen de 1 KOhm durant una setmana. Per això, cada dia s’extrauran de la producció
un número variable de resistències de 1 kOhm i es mesurarà el seu valor real
1. Dissenyar i escriure un algorisme per calcular el valor màxim, el valor mínim i la mitjana
d’una sèrie de valors que s’entren com a dada.
A priori no se sap quants valors s’entraran cada dia, cal pensar en una forma de detectar el
final de l’entrada de dades (per exemple, un valor delimitador como -1 ó 0).
2. Calcular la “tolerància” real de la mostra (10% correspondria a valors entre 900 i 1100
ohms).
Part II. Modular
3. Escriure l’anterior punt 1 en forma de PROCEDURE i el 2 en forma de FUNCIÓ
Part III. Variables estructurades
4. Cada sots-programa de la Part I requereix entrada de dades per que el sistema no té
memòria. Per resoldre això decidim fer la lectura sobre un vector. Com sabem que les
mostres d’un dia mai seran més de un N (per exemple=100), decidim fixar aquest “tope”
per la talla del vector. Dissenyar la seva estructura. Penseu que podeu mantenir el criteri
de delimitador emprat al principi però ara podreu optar per:
a. mantenir la dada al vector (estructura homogènia), o bé
b. emmagatzemar un comptador en l’estructura de dades (haureu de fer una estructura
heterogènia)
5. Escriure algorisme i acció (en forma de PROCEDURE) per llegir el vector (opcions 4a i 4b)
6. Escollir una de les estructures i reescriure l’algorisme 1 que rep les dades (llegides
préviament)
7. Reescriure 2 però ebent les dades en l’estructura llegida préviament
8. Per tal de tenir més informació, decidim emmagatzemar valors cada dia de la setmana i
emmagatzemar-los en una matriu bidimensional (taula: una columna per dia laborable –
dilluns a divendres).
Es tracta de repetir l’algorismes anteriors (lectura, valors estadístics i tolerància),
considerant sempre que el nombre de valors que s’entren cada dia pot ser opcionalment
diferent però mai superior a N=100.9. Per tal de no haver de refer els càlculs cada cop que es fa una consulta es decideix que a la
mateixa estructura de dades es vol emmagatzemar els valors max, min i tolerància quan es
calculen ( noteu que ja estem parlan d’estructures més complexes on cada dia ja es
magatzema una estructura heterogènia)
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

Record en una tabla

Publicado por ramon (2158 intervenciones) el 28/12/2011 22:20:27
{Algo como esto te ayuda a seguir}

program resisten;
uses
crt;
type
regresisten = record
homios : real;
end;
arrayresis = array[0..2000] of regresisten;

var
resis : arrayresis;
tecla : char;
cont : integer;
valor : string[12];
max, min, medi : real;
tolerancia : real;
x, y, i : integer;


function readlndato(x1,y1 : integer) : real;
var
valo : string[12];
error : integer;
re : real;
begin
i := 1;
readlndato := 0.0;
fillchar(valo,13,' ');
valo[0] := chr(12);
repeat
tecla := readkey;
if tecla in[#48..#57,#46,#44] then
begin
if tecla = #44 then
tecla := #46;
valor[i] := tecla;
valor[0] := chr(i);
gotoxy((x1 - 1) + i,y1);write(valor[i]);
i := i + 1;
if i > 12 then
i := 12;
end;
if tecla = #8 then
begin
i := i - 1;
if i < 1 then
i := 1;
valor[i] := ' ';
valor[0] := chr(i);
gotoxy((x1 - 1) + i,y1);write(valor[i]);
end;
until tecla = #13;
val(valor,re,error);
if error > 0 then
begin
delete(valor,error,1);
val(valor,re,error);
end;
readlndato := re;
end;

procedure entrada;
var
hom : real;
salir : boolean;
begin
cont := 0;
salir := false;
repeat
gotoxy(12,2);write('<<< Entre Valores en Omios ** Final=[0] ** >>>');
gotoxy(4,4);write('Valor Resistencia N§ ',cont + 1,' Es : ');
hom := readlndato(33,4);
if hom <> 0.0 then
begin
resis[cont].homios := hom;
cont := cont + 1;
if cont > 2000 then
cont := 2000;
gotoxy(33,4);clreol;
end
else
salir := true;
until salir = true;
end;

procedure maxminmedio;
var
aux : real;
o1, o2 : integer;
begin
for o1 := 0 to cont - 1 do
for o2 := cont - 1 downto o1 do
begin
if resis[o1].homios > resis[o2].homios then
begin
aux := resis[o1].homios;
resis[o1].homios := resis[o2].homios;
resis[o2].homios := aux;
end;
end;
clrscr;
writeln;
writeln('<<<<< Los Resultados Son >>>>>');
writeln(' Minimo Es = ',resis[0].homios:0:2,
' El Maximo Es = ',resis[cont - 1].homios:0:2,
' El Medio Es = ',resis[round((cont - 1) / 2)].homios:0:2);
writeln;
writeln('**** Pulse Enter ****');
readln;
end;

function toleranciareal : real;
var
res, q : integer;
tole : real;
begin
for q := 0 to cont - 1 do
if (resis[q].homios > round(1000 - ((1000 * 10) / 100))) and
(resis[q].homios < round(1000 + ((1000 * 10) / 100))) then
res := res + 1;
if res > cont / 2 then
toleranciareal := 10
else
toleranciareal := 20;
end;


procedure menu;
var
pul : char;
fin : boolean;
begin
fin := false;
repeat
clrscr;
gotoxy(10,2);write('*** Menu General ***');
gotoxy(6,4);write('1 = Entrada Valores');
gotoxy(6,5);write('2 = Ver Max/Min/Media');
gotoxy(6,6);write('3 = Ver Tolerancia');
gotoxy(6,7);write('4 = Salir');
gotoxy(10,10);write('** Elija Opcion **');
pul := readkey;
clrscr;
case pul of
#49 : entrada;
#50 : maxminmedio;
#51 : begin
clrscr;
writeln;
writeln(' La Tolerancia Real Es = ',toleranciareal:0:0,'%');
writeln;
writeln('<< Pulse Enter >>');
readln;
end;
#52 : fin := true;
end;
until fin = 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

Record en una tabla

Publicado por Robert (11 intervenciones) el 06/01/2012 13:39:11
Hola Ramon! Me podrias hechar un mano con el el mismo programa, lo tengo hecho hasta aquí:
3. Escriure l’anterior punt 1 en forma de PROCEDURE i el 2 en forma de FUNCIÓ
PUNT 1 &#61664; PROCEDURE
procedure calcMaxMinMitjana(valor:REAL; OUT maxim,minim,mitjana:REAL);

var
max,min,suma,mitja:REAL;
comptador:INTEGER;

begin
max:=valor;
min:=valor;
comptador:=0;
suma:=0;
while valor<>0 do
begin
if valor<min then
min:=valor
else
if valor>max then
max:=valor;
suma:=suma+valor;
comptador:=comptador+1;
readln(valor);
end;
if comptador=0 then
mitja:=0
else
mitja:=suma/comptador;
maxim:=max;
minim:=min;
mitjana:=mitja;
end;
{PROGRAMA PRINCIPAL}
var
valor,maxim,minim,mitjana:REAL;
begin
writeln('Introdueix els valors de les resistencies. Retornara el maxim, el minim i la mitjana.');
readln(valor);
calcMaxMinMitjana(valor,maxim,minim,mitjana);
writeln('El maxim es: ',maxim:4:4,' El minim es: ',minim:4:4,' La mitjana es: ',mitjana:4:4);
readln;
end.

PUNT 2 &#61664; FUNCTION
function fcalcTolerancia(comptador,nopassen,ddp,I:REAL):REAL;
var
R,percent:real;
begin
while (ddp<>0) or (I<>0) do
begin
R:=ddp/I;
if (R>900) and (R<1100)then
begin
writeln(R:4:0,' Ohms');
comptador:=comptador+1;
end
else
begin
writeln(R:4:0,' Ohms');
writeln('La resistencia no passa la tolerancia');
nopassen:=nopassen+1;
end;
readln(ddp);
readln(I);
end;
;
percent:=(comptador/(comptador+nopassen))*100;
result:=percent;
end;

var
{Introduim ddp (diferència de potencial en Volts), I (intensitat en Amperes)
i ens dóna la resistència, R, en Ohms}
ddp,I,tolermostra:REAL;
comptador,nopassen:INTEGER;

{$IFDEF WINDOWS}{$R pregunta_3_2.rc}{$ENDIF}

begin
writeln('Introdueix la diferencia de potencial (ddp) en Volts i la intensitat');
writeln('en Amperes per a calcular la tolerancia de les resistencies');
writeln('Un valor valid sera aquell que estigui entre 900 i 1100 Ohms');
writeln('Escriu el valor 0 per parar la introduccio de dades');
comptador:=0;
nopassen:=0;
readln(ddp);
readln(I);
tolermostra:=100-fcalcTolerancia(comptador,nopassen,ddp,I);
writeln('Unitats de resistencies ben fabricades: ',comptador);
writeln('Unitats de resistencies mal fabricades: ',nopassen);
writeln('Percentatge de resistencies defectuoses: ',tolermostra:4:2,' %');
readln;
end.

Lo que pasa es que me lío a partir del punto 4:
4. Cada sots-programa de la Part I requereix entrada de dades per que el sistema no té
memòria. Per resoldre això decidim fer la lectura sobre un vector. Com sabem que les
mostres d’un dia mai seran més de un N (per exemple=100), decidim fixar aquest “tope”
per la talla del vector. Dissenyar la seva estructura. Penseu que podeu mantenir el criteri
de delimitador emprat al principi però ara podreu optar per:
a. mantenir la dada al vector (estructura homogènia), o bé
b. emmagatzemar un comptador en l’estructura de dades (haureu de fer una estructura
heterogènia)
5. Escriure algorisme i acció (en forma de PROCEDURE) per llegir el vector (opcions 4a i 4b)
6. Escollir una de les estructures i reescriure l’algorisme 1 que rep les dades (llegides
préviament)
Gracias
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

Record en una tabla

Publicado por Robert (11 intervenciones) el 06/01/2012 19:57:10
Te dejo lo que he hecho, hasta ahora, no me sale el punto 8 con la matriz.

const
N=100;

type
t_vector=ARRAY[1..N] OF REAL;

procedure leerVector(var v:t_vector);
var
i,n:integer;
begin
repeat
write('Di el numero de variables para introducir');
read(n);
until n<=N;
write('Introduce los valores');
for i:=1 to n do
readln (v[i]);
end;
procedure calcMaxMinMitjana(valor:REAL; OUT maxim,minim,mitjana:REAL);

var
max,min,suma,mitja:REAL;
comptador:INTEGER;

begin
max:=valor;
min:=valor;
comptador:=0;
suma:=0;
while valor<>0 do
begin
if valor<min then
min:=valor
else
if valor>max then
max:=valor;
suma:=suma+valor;
comptador:=comptador+1;
readln(valor);
end;
if comptador=0 then
mitja:=0
else
mitja:=suma/comptador;
maxim:=max;
minim:=min;
mitjana:=mitja;
end;

function fcalcTolerancia(comptador,nopassen,ddp,I:REAL):REAL;
var
R,percent:real;
begin
while (ddp<>0) or (I<>0) do
begin
R:=ddp/I;
if (R>900) and (R<1100)then
begin
writeln(R:4:0,' Ohms');
comptador:=comptador+1;
end
else
begin
writeln(R:4:0,' Ohms');
writeln('La resistencia no passa la tolerancia');
nopassen:=nopassen+1;
end;
readln(ddp);
readln(I);
end;
;
percent:=(comptador/(comptador+nopassen))*100;
result:=percent;
end;

var
{Introduim ddp (diferència de potencial en Volts), I (intensitat en Amperes)
i ens dóna la resistència, R, en Ohms}
ddp,I,tolermostra:REAL;
comptador,nopassen:INTEGER;





{PROGRAMA PRINCIPAL}
var
a,b,c,d,tolerancia,valor,maxim,minim,mitjana:REAL;
v:t_vector;
begin
leerVector(v);
calcMaxMinMitjana(valor,maxim,minim,mitjana);
writeln('El maxim es: ',maxim:4:4,' El minim es: ',minim:4:4,' La mitjana es: ',mitjana:4:4);
readln;
writeln('Introdueix la diferencia de potencial (ddp) en Volts i la intensitat');
writeln('en Amperes per a calcular la tolerancia de les resistencies');
writeln('Un valor valid sera aquell que estigui entre 900 i 1100 Ohms');
writeln('Escriu el valor 0 per parar la introduccio de dades');
comptador:=0;
nopassen:=0;
readln(ddp);
readln(I);
tolermostra:=100-fcalcTolerancia(comptador,nopassen,ddp,I);
writeln('Unitats de resistencies ben fabricades: ',comptador);
writeln('Unitats de resistencies mal fabricades: ',nopassen);
writeln('Percentatge de resistencies defectuoses: ',tolermostra:4:2,' %');
readln;
tolerancia:= fcalcTolerancia(a,b,c,d);
end.



const
MAX_VALORES=100;
MAX_DIAS=5;
TYPE t_matriu = RECORD
valors : ARRAY [1..MAX_VALORES,1..MAX_DIAS] OF REAL;
fil : 1..MAX_VALORES;
col : 1..MAX_DIAS;
END;
PROCEDURE LlegirMatriu(VAR M : t_matriu);
VAR i, j : INTEGER;
BEGIN
REPEAT
WRITE('Introdueixi el nombre de files i columnes de la matriu : ');
READLN( M.fil , M.col );
UNTIL (M.fil >= 1) AND (M.fiL <= MAX_VALORES) AND
(M.col >= 1) AND (M.col <= MAX_DIAS);
FOR i := 1 TO M.fil DO
FOR j := 1 TO M.col DO
BEGIN
WRITE('Introdueixi l''element [', i, ',', j, '] de la matriu : '
);
READLN(M.valors[i,j]);
END;
END;

procedure calcMaxMinMitjana(m:t_matriu; OUT maxim,minim,mitjana:real);

var
max,min,suma,mitja:real;
comptador:INTEGER;
i,j:integer;
begin
comptador:=0;
suma:=0;

while m.fil<>0 do
begin
if m.fil<min then
min:=m.fil
else
if m.fil>max then
max:=m.fil;
suma:=suma+m.fil;
comptador:=comptador+1;
readln(m.fil);
end;
if comptador=0 then
mitja:=0
else
mitja:=suma/comptador;
maxim:=max;
minim:=min;
mitjana:=mitja;
end;
(* Programa principal *)
VAR
valor,maxim,minim,mitjana:REAL;
M1:t_matriu;
BEGIN

LlegirMatriu(M1);
calcMaxMinMitjana(valor,maxim,minim,mitjana);

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

Record en una tabla

Publicado por ramon (2158 intervenciones) el 06/01/2012 23:29:06
{Mira aquest petit programa en el tens les entrades al array de resistències la presa del
màxim el mínim i la mitjana dels valors entrats a sense com la tolerància de les resistències entrades prenent com a base el màxim valor i el mínim valor entrats.
Tens com guardar les dades de les proves que serien 5 dies a sense com la càrrega i presentació de les mateixes.
Espero això et serveixi d'ajuda tingues en compte que sempre hauràs de treballar amb els arrays i en
el registre guardem totes les dades per a poder manejar els després al nostre gust també seria bo un menú per activar els procediments.
Sort si necessites més digues-ho t'ajudarè el que aquest a les mans.}

program resisten;
uses
crt, dos;
type
matriztype = array[1..100] of real;
guarda = record
fecha : array[1..5] of string[12];
daton : array[1..5] of matriztype;
maximo : array[1..5] of real;
minimo : array[1..5] of real;
media : array[1..5] of real;
tolera : array[1..5] of real;
contador : integer;
end;
string12 = string[12];

const
archi : string = 'C:\TP\RESISTEN.DAT';

var
datos : matriztype;
maxim, minim, mitjana : real;
tole, entr : integer;
f : file of guarda;
dagua : guarda;
opcion : char;


function fech : string12;
var
dia, mes, ayo, disem : word;
di, me : string[2];
ay : string[4];
begin
getdate(ayo,mes,dia,disem);
str(dia,di);
str(mes,me);
str(ayo,ay);
fech := di + '/' + me + '/' + ay;
end;

procedure entradavaloresresist;
var
contad : integer;
dato : real;
begin
writeln('Entre Valores De Las Resistencias En Prueva De 1000 Hom.');
writeln('Entrada [0] Termina Fecha Entrada = ',fech);
writeln;
contad := 1;
while dato <> 0 do
begin
read(dato);
if dato <> 0 then
begin
datos[contad] := dato;
contad := contad + 1;
if contad > 100 then
contad := 100;
end;
end;
entr := contad - 1;
end;

procedure calcMaxMinMitjana(valor : matriztype; var maxim, minim, mitjana : REAL);
var
entra : REAL;
paso, contador : INTEGER;
begin
contador := 1;
while contador < entr + 1 do
begin
for paso := entr downto contador do
begin
if valor[contador] > valor[paso] then
begin
entra := valor[contador];
valor[contador] := valor[paso];
valor[paso] := entra;
end;
end;
contador := contador + 1;
end;
maxim := valor[entr];
minim := valor[1];
mitjana := valor[(entr div 2)];
writeln('El Maximo Es : ',maxim:0:0);
writeln('El Minimo Es : ',minim:0:0);
writeln('El Medio Es : ',mitjana:0:0);
end;

function fcalcTolerancia(ma, mi : real) : integer;
var
tolemax, tolemin : real;
cx, cy : integer;
begin
cx := 0;
cy := 0;
tolemax := ma + (1000 * 10 / 100);
tolemin := mi - (1000 * 10 / 100);
if tolemax > 1100 then
begin
cx := 1;
end;
if tolemin < 900 then
begin
cy := 1;
end;
if (cx + cy) = 2 then
fcalcTolerancia := 10
else
fcalcTolerancia := 20;
end;

procedure guardadatos;
begin
assign(f,archi);
{$I-} reset(f); {$I+}
if ioresult <> 0 then
begin
dagua.contador := 1;
dagua.fecha[dagua.contador] := fech;
dagua.daton[dagua.contador] := datos;
dagua.maximo[dagua.contador] := maxim;
dagua.minimo[dagua.contador] := minim;
dagua.media[dagua.contador] := mitjana;
dagua.tolera[dagua.contador] := tole;
dagua.contador := dagua.contador + 1;
rewrite(f);
seek(f,0);
write(f,dagua);
close(f);
end
else
begin
seek(f,filesize(f) - 1);
read(f,dagua);
if dagua.contador <= 5 then
begin
dagua.fecha[dagua.contador] := fech;
dagua.daton[dagua.contador] := datos;
dagua.maximo[dagua.contador] := maxim;
dagua.minimo[dagua.contador] := minim;
dagua.media[dagua.contador] := mitjana;
dagua.tolera[dagua.contador] := tole;
dagua.contador := dagua.contador + 1;
seek(f,filesize(f) - 1);
write(f,dagua);
end
else
begin
dagua.contador := 1;
dagua.fecha[dagua.contador] := fech;
dagua.daton[dagua.contador] := datos;
dagua.maximo[dagua.contador] := maxim;
dagua.minimo[dagua.contador] := minim;
dagua.media[dagua.contador] := mitjana;
dagua.tolera[dagua.contador] := tole;
dagua.contador := dagua.contador + 1;
seek(f,filesize(f));
write(f,dagua);
end;
close(f);
end;
end;

procedure presenta_datos;
var
fechapre : string12;
revis, carga : longint;
pasos : integer;
salir : boolean;
begin
clrscr;
writeln(' Entre Fecha A Presentar Ejemplo : 1/1/2012');
writeln;
readln(fechapre);
assign(f,archi);
{$I-} reset(f); {$I+}
if ioresult <> 0 then
exit
else
begin
carga := filesize(f) - 1;
pasos := 1;
salir := false;
revis := 0;
repeat
seek(f,revis);
read(f,dagua);
pasos := 1;
repeat
if dagua.fecha[pasos] = fechapre then
salir := true;
pasos := pasos + 1;
until (pasos > dagua.contador - 1) or (salir = true);
if salir = false then
revis := revis + 1;
until (revis > carga) or (salir = true);
close(f);
if salir = true then
begin
clrscr;
writeln('Los Datos Tomados En Esa Fecha',fechapre,' Son');
writeln;
pasos := 1;
repeat
writeln(' CONTROL N§ : ',pasos);
writeln(' La Fecha Fue : ',dagua.fecha[pasos]);
writeln(' El Maximo Fue : ',dagua.maximo[pasos]);
writeln(' El Minimo Fue : ',dagua.minimo[pasos]);
writeln(' La Media Fue : ',dagua.media[pasos]);
writeln(' La Tolerancia Fue : ',dagua.tolera[pasos]);
writeln;
writeln('Pulse Enter');
readln;
clrscr;
pasos := pasos + 1;
until pasos > dagua.contador - 1;
end;
end;
end;



begin
clrscr;
entradavaloresresist;
calcMaxMinMitjana(datos,maxim, minim, mitjana);
tole := fcalcTolerancia(maxim, minim);
writeln('La Tolerancia Es : ',tole);
clrscr;
writeln;
writeln(' DESEA GUARDAR LOS DATOS [S/N]');
repeat
opcion := readkey;
until opcion in['s','S','n','N'];
if opcion in['s','S'] then
begin
guardadatos;
end;
clrscr;
writeln;
writeln(' Desea Revisas Algun Dato [S/N]');
repeat
opcion := readkey;
until opcion in['s','S','n','N'];
if opcion in['s','S'] then
begin
presenta_datos;
end;
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

Record en una tabla

Publicado por Enric (4 intervenciones) el 12/01/2012 00:05:58
Hay un problema al ejecutarlo, cuando escribo los valores de las resistencias hasta poner un 0 que es cuando para, luego me pregunta si deseo guardar datos (S/N); escribo S i se para el programa i pone: El proyecto menu.exe ha lanzado una excepcion de clase 'runError(3)' y nose como solucionarlo
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

Record en una tabla

Publicado por ramon (2158 intervenciones) el 12/01/2012 20:47:43
Por favor dime conque pascal estas trabajando pus ami no meda ningún error.

Si se conque trabajas te ayudare mejor.
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