Pascal/Turbo Pascal - Runtime error 100

 
Vista:

Runtime error 100

Publicado por Juliana (1 intervención) el 24/07/2019 00:17:06
hola!estoy teniendo un problema al trabajar con un programa en pascal, al ejecutarlo me salta el runtime error 100, no se como solucionarlo. puede que sea un error del código? mi archivo en txt tiene esto:

Amariana,gonzalezmartinez 2009H|
XEmmanuel,AgustinMartinez 199aM|
EEmmilianoRogelio,Cordero 2019A|
XMariano,DeLaVega 201eH|
FNicolas,delarosaMartinez 2019A|

y este es el algoritmo
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
program bienal;
uses crt;
var
entrada,salida:file of char;
v,continente,especialidad,digito:char;
i,error:integer;
tart,mad,hie,marm,cont,PH,PA,PM:real;
begin
clrscr;
assign(salida, 'archivo2.txt'); //creo la secuencia de salida
rewrite(salida);
assign(entrada, 'C:\PASCAL1\archivo1.txt'); //arranco la secuencia de entrada
 {$I-}
reset(entrada);
error:=IOResult;
   {$I+}
if error<>0 then
begin
writeln('error:el archivo1.txt existe?');
halt(2);
end;
read(entrada,v);
writeln('ingrese l especialidad');
read(especialidad);
writeln('ingrese el continente');
read(continente);
tart:=0;
mad:=0;
hie:=0;
marm:=0;
cont:=0;
i:=0;
while ((v<>'|') and (not eof (entrada))) do //ciclo principal
begin
tart:=tart+1;
if (v= (continente))then
begin
for i:=1 to 34 do
begin
write(salida,v);
end;
read(entrada,v);
case (v) of
//begin
'a': digito:='0';
'e': digito:='2';
'i': digito:='4';
'o': digito:='6';
'u': digito:='8';
end;
write(salida,digito);
read(entrada,v);
if (v=(especialidad))then
begin
cont:=cont+1;
end;
case (v)of
//begin
'A':mad:=mad+1;
'H':hie:=hie+1;
'M':marm:=marm+1;
end;
end;
if (v<> (continente)) then
begin
for i:=1to 34 do
begin
write(salida,v);
read(entrada,v);
end;
case (v) of
//begin
'a': digito:='0';
'e':digito:='2';
'i':digito:='4';
'o':digito:='6';
'u':digito:='8';
end;
write(salida,digito);
read(entrada,v);
case (v)of
//begin
'A':mad:=mad+1;
'H':hie:=hie+1;
'M':marm:=marm+1;
end;
end;
read(entrada,v);
write(salida,v);
read(entrada,v);
end;
   PA := ((mad*100)/Tart);
   PH := ((hie*100)/Tart);
   PM := ((marm*100)/Tart);
   writeln('El porcentaje de cada especialidad es:');
   writeln ('para los especializados en madera:',PA);
   writeln (' para los de hierro',PH);
   writeln('para los especializados en marmol' ,PM);
   writeln('la especialidad y el continente que usted ingreso aparece' ,cont, 'veces en la lista de artistas');
   close(salida);
   close(entrada);
   end.
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

Runtime error 100

Publicado por ranon (2158 intervenciones) el 16/08/2019 22:56:59
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
{Mira Donde Tenias El Error 100}
 
program bienal;
uses crt;
var
entrada,salida:file of char;
v,continente,especialidad,digito:char;
i,error:integer;
tart,mad,hie,marm,cont,PH,PA,PM:real;
begin
clrscr;
assign(salida, 'archivo2.txt'); {//creo la secuencia de salida}
rewrite(salida);
assign(entrada, 'C:\tp\bin\archivo1.txt');{ //arranco la secuencia de entrada}
 {$I-}
reset(entrada);
error:=IOResult;
   {$I+}
if error<>0 then
begin
writeln('error:el archivo1.txt existe?');
halt(2);
end;
read(entrada,v);
writeln('ingrese l especialidad');
read(entrada,especialidad);
writeln('ingrese el continente');
read(entrada,continente);
tart:=0;
mad:=0;
hie:=0;
marm:=0;
cont:=0;
i:=0;
while ((v<>'|') and (not eof (entrada))) do {//ciclo principal}
begin
tart:=tart+1;
if (v= (continente))then
begin
for i:=1 to 34 do
begin
write(salida,v);
end;
read(entrada,v);
case (v) of
'a': digito:='0';
'e': digito:='2';
'i': digito:='4';
'o': digito:='6';
'u': digito:='8';
end;
write(salida,digito);
read(entrada,v);
if (v=(especialidad))then
begin
cont:=cont+1;
end;
case (v)of
'A':mad:=mad+1;
'H':hie:=hie+1;
'M':marm:=marm+1;
end;
end;
if (v<> (continente)) then
begin
for i:=1to 4 do   {Tu ERROR 100 Tenias 34 Te Dava Error De Lectura Escritura}
begin
write(salida,v);
read(entrada,v);
end;
case (v) of
'a': digito:='0';
'e':digito:='2';
'i':digito:='4';
'o':digito:='6';
'u':digito:='8';
end;
write(salida,digito);
read(entrada,v);
case (v)of
'A':mad:=mad+1;
'H':hie:=hie+1;
'M':marm:=marm+1;
end;
end;
read(entrada,v);
write(salida,v);
read(entrada,v);
end;
   PA := ((mad*100)/Tart);
   PH := ((hie*100)/Tart);
   PM := ((marm*100)/Tart);
   writeln('El porcentaje de cada especialidad es:');
   writeln ('para los especializados en madera:',PA:0:2);
   writeln (' para los de hierro',PH:0:2);
   writeln('para los especializados en marmol' ,PM:0:2);
   writeln('la especialidad y el continente que usted ingreso aparece' ,cont:0:2, 'veces en la lista de artistas');
   close(salida);
   close(entrada);
   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