problemas con exitcode=2 ayuda....!
Publicado por luis felipe (6 intervenciones) el 26/11/2012 20:26:17
Estoy haciendo un programa en pascal para la universidad que consiste en crear una especie de base de datos de estudiantes, pero cuando lo pongo a correr me aparece el mensaje exitcode=2 error, si alguien me pudiera ayudar se lo agradeceria con el alma aqui les dejo lo que tengo para que lo revisen y me dijan donde pudiese estar el error,
program trabajo_universidad;
uses crt;
type
tipoPersona=record
nombrecompleto: string[80];
edad:byte;
direccion:string[100];
ci:real;
carnet:real;
tlf:real;
sexo:string[40];
centroestudio:string[60];
end;
const
capacidad=10000;
var
gente: array[1..capacidad] of tipoPersona;
cantidad:integer;
terminado: boolean;
procedure mostrarmenu;
begin
gotoxy(20,1);
writeln('Universidad Nacional Experimental Asuncion');
gotoxy(20,2);
writeln('facultad de ingenieria');
gotoxy(20,5);
writeln('programa para el registro y control de estudiantes');
gotoxy(1,8);
writeln('1-A¤adir un nuevo estudiante');
writeln('2-Modificar datos de un estudiante');
writeln('3-Eliminar un estudiante');
writeln('4-ver nombres de todos los estudiantes');
writeln('5-Buscar un estudiante');
writeln('6-Informe general');
writeln('0-Salir');
end;
function leeropcion : integer;
var
opcion:integer;
begin
write('escoja una opcion: ');
readln(opcion);
writeln;
if (opcion=0) then terminado := true;
leeropcion:=opcion;
end;
procedure cargardatos;
var
fichero: file of tipopersona;
i:integer;
begin
assign(fichero,'UNA.dat');
reset(fichero);
if ioresult<>0 then
writeln('no habia fichero de datos. se creara uno.')
else
begin
cantidad:=filesize(fichero);
for i:=1 to cantidad do
read(fichero, gente[i]);
close (fichero);
end;
end;
procedure grabardatos;
var
fichero:file of tipopersona;
i:integer;
begin
assign(fichero, 'UNA.dat');
rewrite(fichero);
if ioresult<>0 then
writeln('no se ha podido grabar')
else
begin
for i:=1 to cantidad do
write(fichero, gente[i]);
close (fichero);
end;
end;
procedure nuevodato;
begin
if(cantidad < capacidad) then
begin
inc(cantidad);
writeln('introduciendo el estudiante ', cantidad);
write('intoduzca el nombre del estudiante: ');
readln(gente [cantidad].nombrecompleto);
write('introduzca la edad del estudiante: ');
readln(gente [cantidad].edad);
write('introduzca la direccion del estudiante: ');
readln(gente [cantidad].direccion);
write('introduzca la cedula de identidad del estudiante: ');
readln(gente [cantidad].ci);
write('introduzca el numero de carnet del estudiante: ');
readln(gente [cantidad].carnet);
write('introduzca el telefono del estudiante: ');
readln(gente [cantidad].tlf);
write('introduzca el sexo del estudiante: ');
readln(gente [cantidad].sexo);
write('introduzca el centro de estudio del estudiante:Caracas,Barquisimeto,Merida,Zulia,Nueva Esparta,Falcon');
readln(gente [cantidad].centroestudio);
writeln;
grabardatos;
end
else
writeln('base de datos llena');
end;
procedure modificardatos;
var
textobuscar:real;
encontrado:boolean;
i: integer;
begin
write('ingrese el numero de cedula del estudiante, para modificar los datos');
readln(textobuscar);
encontrado:= false;
for i :=1 to cantidad do
if pos (textobuscar, gente[i].ci) >0 then
begin
encontrado:=true;
write('intoduzca el nombre del estudiante: ');
readln(gente [cantidad].nombrecompleto);
write('introduzca la edad del estudiante: ');
readln(gente [cantidad].edad);
write('introduzca la direccion del estudiante: ');
readln(gente [cantidad].direccion);
write('introduzca la cedula de identidad del estudiante: ');
readln(gente [cantidad].ci);
write('introduzca el numero de carnet del estudiante: ');
readln(gente [cantidad].carnet);
write('introduzca el telefono del estudiante: ');
readln(gente [cantidad].tlf);
write('introduzca el sexo del estudiante: ');
readln(gente [cantidad].sexo);
write('introduzca el centro de estudio del estudiante:Caracas,Barquisimeto,Merida,Zulia,Nueva Esparta,Falcon');
readln(gente [cantidad].centroestudio);
writeln;
grabardatos;
end;
end;
procedure eliminar;
var
textobuscar:real;
encontrado:boolean;
i:integer;
tec: char;
p:longint;
borra:longint;
cont:longint;
fichero:file of tipopersona;
info: tipoPersona;
ten:file of tipoPersona;
begin
write('ingerese la cedula del estudiante a buscar');
readln(textobuscar);
encontrado:=false;
for i:=1 to cantidad do
if pos (textobuscar, gente[i].ci) > 0 then
begin
encontrado:= true;
writeln(i, '-Nombre: ', gente[i].nombrecompleto,
', Edad: ', gente[i].edad,
', Direccion: ', gente[i].direccion,
', Cedula de Identidad: ', gente[i].ci,
', Carnet: ', gente[i].carnet,
', Telefono: ', gente[i].tlf,
', Sexo: ', gente[i].sexo,
', Centro de Estudio: ', gente[i].centroestudio);
writeln;
writeln('desea eliminar estos datos [S/N]');
repeat
tec:=readkey;
until tec in['s','S','n','N'];
if tec in['s','S'] then
begin
assign(ten,'temporal.dat');
rewrite(ten);
cont:=0;
p:=0;
repeat
seek(fichero,p);
read(fichero,info);
if p<>borra then
begin
seek(ten,cont);
write(ten,info);
cont:=cont+1;
end;
p:=p+1;
until p> filesize(fichero)-1;
close(fichero);
erase(fichero);
close(ten);
rename(ten,'UNA.dat')
end;
end;
if not encontrado then
writeln('No Se Ha Encontrado Al Estudiante');
end;
procedure mostrardatos;
var
i:integer;
begin
if cantidad=0 then
writeln('No Hay Datos')
else
for i:=1 to cantidad do
writeln(i, '', gente[i].nombrecompleto);
writeln;
end;
procedure buscardatos;
var
textobuscar:real;
encontrado:boolean;
i:integer;
begin
write('ingerese la cedula del estudiante a buscar');
readln(textobuscar);
encontrado:=false;
for i:=1 to cantidad do
if pos (textobuscar, gente[i].ci) > 0 then
begin
encontrado:= true;
writeln(i, '-Nombre: ', gente[i].nombrecompleto,
', Edad: ', gente[i].edad,
', Direccion: ', gente[i].direccion,
', Cedula de Identidad: ', gente[i].ci,
', Carnet: ', gente[i].carnet,
', Telefono: ', gente[i].tlf,
', Sexo: ', gente[i].sexo,
', Centro de Estudio: ', gente[i].centroestudio);
end;
if not encontrado then
writeln('No Se Ha Encontrado Al Estudiante');
writeln;
end;
procedure avisarfin;
begin
writeln;
writeln('saliendo...');
writeln('hasta luego');
writeln;
end;
procedure avisarerror;
begin
writeln;
writeln('Opci•n incorrecta');
writeln;
end;
{cuerpo del programa}
begin
terminado:=false;
cantidad:=0;
cargardatos;
repeat
mostrarmenu;
case leeropcion of
1:nuevodato;
2:modificardatos;
3:eliminar;
4:mostrardatos;
5:buscardatos;
6:writeln('no definido'); {no tengo lista esta parte del programa aun}
0:avisarfin
else avisarerror
end;
until terminado;
end.
program trabajo_universidad;
uses crt;
type
tipoPersona=record
nombrecompleto: string[80];
edad:byte;
direccion:string[100];
ci:real;
carnet:real;
tlf:real;
sexo:string[40];
centroestudio:string[60];
end;
const
capacidad=10000;
var
gente: array[1..capacidad] of tipoPersona;
cantidad:integer;
terminado: boolean;
procedure mostrarmenu;
begin
gotoxy(20,1);
writeln('Universidad Nacional Experimental Asuncion');
gotoxy(20,2);
writeln('facultad de ingenieria');
gotoxy(20,5);
writeln('programa para el registro y control de estudiantes');
gotoxy(1,8);
writeln('1-A¤adir un nuevo estudiante');
writeln('2-Modificar datos de un estudiante');
writeln('3-Eliminar un estudiante');
writeln('4-ver nombres de todos los estudiantes');
writeln('5-Buscar un estudiante');
writeln('6-Informe general');
writeln('0-Salir');
end;
function leeropcion : integer;
var
opcion:integer;
begin
write('escoja una opcion: ');
readln(opcion);
writeln;
if (opcion=0) then terminado := true;
leeropcion:=opcion;
end;
procedure cargardatos;
var
fichero: file of tipopersona;
i:integer;
begin
assign(fichero,'UNA.dat');
reset(fichero);
if ioresult<>0 then
writeln('no habia fichero de datos. se creara uno.')
else
begin
cantidad:=filesize(fichero);
for i:=1 to cantidad do
read(fichero, gente[i]);
close (fichero);
end;
end;
procedure grabardatos;
var
fichero:file of tipopersona;
i:integer;
begin
assign(fichero, 'UNA.dat');
rewrite(fichero);
if ioresult<>0 then
writeln('no se ha podido grabar')
else
begin
for i:=1 to cantidad do
write(fichero, gente[i]);
close (fichero);
end;
end;
procedure nuevodato;
begin
if(cantidad < capacidad) then
begin
inc(cantidad);
writeln('introduciendo el estudiante ', cantidad);
write('intoduzca el nombre del estudiante: ');
readln(gente [cantidad].nombrecompleto);
write('introduzca la edad del estudiante: ');
readln(gente [cantidad].edad);
write('introduzca la direccion del estudiante: ');
readln(gente [cantidad].direccion);
write('introduzca la cedula de identidad del estudiante: ');
readln(gente [cantidad].ci);
write('introduzca el numero de carnet del estudiante: ');
readln(gente [cantidad].carnet);
write('introduzca el telefono del estudiante: ');
readln(gente [cantidad].tlf);
write('introduzca el sexo del estudiante: ');
readln(gente [cantidad].sexo);
write('introduzca el centro de estudio del estudiante:Caracas,Barquisimeto,Merida,Zulia,Nueva Esparta,Falcon');
readln(gente [cantidad].centroestudio);
writeln;
grabardatos;
end
else
writeln('base de datos llena');
end;
procedure modificardatos;
var
textobuscar:real;
encontrado:boolean;
i: integer;
begin
write('ingrese el numero de cedula del estudiante, para modificar los datos');
readln(textobuscar);
encontrado:= false;
for i :=1 to cantidad do
if pos (textobuscar, gente[i].ci) >0 then
begin
encontrado:=true;
write('intoduzca el nombre del estudiante: ');
readln(gente [cantidad].nombrecompleto);
write('introduzca la edad del estudiante: ');
readln(gente [cantidad].edad);
write('introduzca la direccion del estudiante: ');
readln(gente [cantidad].direccion);
write('introduzca la cedula de identidad del estudiante: ');
readln(gente [cantidad].ci);
write('introduzca el numero de carnet del estudiante: ');
readln(gente [cantidad].carnet);
write('introduzca el telefono del estudiante: ');
readln(gente [cantidad].tlf);
write('introduzca el sexo del estudiante: ');
readln(gente [cantidad].sexo);
write('introduzca el centro de estudio del estudiante:Caracas,Barquisimeto,Merida,Zulia,Nueva Esparta,Falcon');
readln(gente [cantidad].centroestudio);
writeln;
grabardatos;
end;
end;
procedure eliminar;
var
textobuscar:real;
encontrado:boolean;
i:integer;
tec: char;
p:longint;
borra:longint;
cont:longint;
fichero:file of tipopersona;
info: tipoPersona;
ten:file of tipoPersona;
begin
write('ingerese la cedula del estudiante a buscar');
readln(textobuscar);
encontrado:=false;
for i:=1 to cantidad do
if pos (textobuscar, gente[i].ci) > 0 then
begin
encontrado:= true;
writeln(i, '-Nombre: ', gente[i].nombrecompleto,
', Edad: ', gente[i].edad,
', Direccion: ', gente[i].direccion,
', Cedula de Identidad: ', gente[i].ci,
', Carnet: ', gente[i].carnet,
', Telefono: ', gente[i].tlf,
', Sexo: ', gente[i].sexo,
', Centro de Estudio: ', gente[i].centroestudio);
writeln;
writeln('desea eliminar estos datos [S/N]');
repeat
tec:=readkey;
until tec in['s','S','n','N'];
if tec in['s','S'] then
begin
assign(ten,'temporal.dat');
rewrite(ten);
cont:=0;
p:=0;
repeat
seek(fichero,p);
read(fichero,info);
if p<>borra then
begin
seek(ten,cont);
write(ten,info);
cont:=cont+1;
end;
p:=p+1;
until p> filesize(fichero)-1;
close(fichero);
erase(fichero);
close(ten);
rename(ten,'UNA.dat')
end;
end;
if not encontrado then
writeln('No Se Ha Encontrado Al Estudiante');
end;
procedure mostrardatos;
var
i:integer;
begin
if cantidad=0 then
writeln('No Hay Datos')
else
for i:=1 to cantidad do
writeln(i, '', gente[i].nombrecompleto);
writeln;
end;
procedure buscardatos;
var
textobuscar:real;
encontrado:boolean;
i:integer;
begin
write('ingerese la cedula del estudiante a buscar');
readln(textobuscar);
encontrado:=false;
for i:=1 to cantidad do
if pos (textobuscar, gente[i].ci) > 0 then
begin
encontrado:= true;
writeln(i, '-Nombre: ', gente[i].nombrecompleto,
', Edad: ', gente[i].edad,
', Direccion: ', gente[i].direccion,
', Cedula de Identidad: ', gente[i].ci,
', Carnet: ', gente[i].carnet,
', Telefono: ', gente[i].tlf,
', Sexo: ', gente[i].sexo,
', Centro de Estudio: ', gente[i].centroestudio);
end;
if not encontrado then
writeln('No Se Ha Encontrado Al Estudiante');
writeln;
end;
procedure avisarfin;
begin
writeln;
writeln('saliendo...');
writeln('hasta luego');
writeln;
end;
procedure avisarerror;
begin
writeln;
writeln('Opci•n incorrecta');
writeln;
end;
{cuerpo del programa}
begin
terminado:=false;
cantidad:=0;
cargardatos;
repeat
mostrarmenu;
case leeropcion of
1:nuevodato;
2:modificardatos;
3:eliminar;
4:mostrardatos;
5:buscardatos;
6:writeln('no definido'); {no tengo lista esta parte del programa aun}
0:avisarfin
else avisarerror
end;
until terminado;
end.
Valora esta pregunta


0