
no me lee los cursos por su nombre y no guarda el archivo
Publicado por manuel (4 intervenciones) el 07/02/2015 21:27:37
buenas tardes me han mandado hacer una modificacion de un registro de tal forma que el programa cree el archivo curso.dat imcorporandole las siguientes opciones
1 insertar registros de cursos
2. buscar un curso por su nombre
3. buscar y mostrar cuantos cursos coordina un profesor
aqui esta el registro q tenia antes y lo que hice de archivos
program procesacurso;
uses crt;
const
M=5;
type
tipdatper=record
nombre,ci,tlf,dir:string;
end;
tipdatac=record
prof:string;
aexp:integer;
end;
tipmod=record
nombre:string;
horas:integer;
profe:record
datper:tipdatper;
datac:tipdatac;
end;
end;
tipcurso=record
nomb:string;
costo:real;
coord:record
datper: tipdatper;
datac: tipdatac;
end;
modulo:array [1..M] of tipmod
end;
arcurso=file of tipcurso;
var
c:arcurso;
curso:tipcurso;
i:integer;
opc:char;
procedure limpiar(var curso:tipcurso);
begin
curso.costo:=0;
curso.nomb:='';
curso.coord.datper.nombre:='';
curso.coord.datper.ci:='';
curso.coord.datper.tlf:='';
curso.coord.datper.dir:='';
curso.coord.datac.prof:='';
curso.coord.datac.aexp:=0;
for i:=1 to M do
begin
curso.modulo[i].nombre:='';
curso.modulo[i].horas:=0;
curso.modulo[i].profe.datper.nombre:='';
curso.modulo[i].profe.datper.ci:='';
curso.modulo[i].profe.datper.tlf:='';
curso.modulo[i].profe.datper.dir:='';
curso.modulo[i].profe.datac.prof:='';
curso.modulo[i].profe.datac.aexp:=0;
end;
end;
procedure llenar(var curso:tipcurso);
var
contador:string;
begin
assign (c,'C:\Users\Argenis Fuentes\Documents\curso.dat');
{$I-}
rewrite(c);
{$I+}
if IOResult=0 then
seek(c,i);
writeln('Ingrese Nombre del curso');
readln(curso.nomb);
contador:=curso.nomb;
writeln('ingrese el valor del curso');
readln(curso.costo);
writeln('Datos personales del Coordinador');
writeln('Ingrese nombre ');
readln(curso.coord.datper.nombre);
writeln('ingrese Cedula');
readln(curso.coord.datper.ci);
writeln('ingrese numero de telefono');
readln(curso.coord.datper.tlf);
writeln('ingrese direccion');
readln(curso.coord.datper.dir);
writeln('datos academicos del coordinador');
writeln('ingrese profesion');
readln(curso.coord.datac.prof);
writeln('ingrese anos de experiencia');
readln(curso.coord.datac.aexp);
assign (c,'C:\Users\Argenis Fuentes\Documents\curso.dat');
for i:=1 to M do
begin
writeln('ingrese nombre del modulo #',i);
readln(curso.modulo[i].nombre);
writeln('ingrese la cantidad de horas del mudolo',i);
readln(curso.modulo[i].horas);
writeln('Datos del profesor del curso');
writeln('ingrese nombre del profesor del modulo',i);
readln(curso.modulo[i].profe.datper.nombre);
writeln('ingrese cedula del profesor del modulo',i);
readln(curso.modulo[i].profe.datper.ci);
writeln('ingrese numero de telefono del profe del modulo',i);
readln(curso.modulo[i].profe.datper.tlf);
writeln('ingrese direccion del profesor del modulo',i);
readln(curso.modulo[i].profe.datper.dir);
writeln('datos academicos de cada profesor');
writeln('ingrese profesion de profesor de modulo',i);
readln(curso.modulo[i].profe.datac.prof);
writeln('ingrese anos de experiencia');
readln(curso.modulo[i].profe.datac.aexp);
{$I-}
rewrite(c);
{$I+}
if IOResult=0 then
seek(c,i);
close(c);
end;
end;
procedure mostrar(var curso:tipcurso);
begin
assign (c,'C:\Users\Argenis Fuentes\Documents\curso.dat');
{$I-}
rewrite(c);
{$I+}
if IOResult=0 then
seek(c,i);
writeln('Nombre del Curso');
writeln(curso.nomb);
writeln('Costo del Curso');
writeln(curso.costo);
writeln('Datos del coordinador');
writeln('Nombre: ',curso.coord.datper.nombre);
writeln('Cedula: ',curso.coord.datper.ci);
writeln('Telefono: ',curso.coord.datper.tlf);
writeln('Direccion: ',curso.coord.datper.dir);
writeln('Datos academicos del coordinador');
writeln('Profesion: ',curso.coord.datac.prof);
writeln('Anos de experiencia: ',curso.coord.datac.aexp);
assign (c,'C:\Users\Argenis Fuentes\Documents\curso.dat');
for i:=1 to M do
begin
writeln('Nombre de modulo ',i);
writeln(curso.modulo[i].nombre);
writeln('Horas del curso ',i);
writeln( curso.modulo[i].horas);
writeln('Datos personales del profesor',i);
writeln('Nombre del profesor: ',curso.modulo[i].profe.datper.nombre);
writeln('Cedula: ',curso.modulo[i].profe.datper.ci);
writeln('Telefono: ',curso.modulo[i].profe.datper.tlf);
writeln('Direccion: ',curso.modulo[i].profe.datper.dir);
writeln('Datos academicos del profesor ',i);
writeln('Profesion: ',curso.modulo[i].profe.datac.prof);
writeln('Anos de experiencia: ',curso.modulo[i].profe.datac.aexp);
{$I-}
rewrite(c);
{$I+}
if IOResult=0 then
seek(c,i);
close(c);
end;
end;
procedure modificar(var curso:tipcurso);
var
modifi:char;
nuevo:string;
begin
writeln('Numero del coordinador es: ', curso.coord.datper.tlf);
curso.coord.datper.tlf:=nuevo;
readln(nuevo);
writeln('ingrese nuevo telefono');
writeln('nuevo telefono del coordinador: ', nuevo);
end;
Procedure insertar;
var i : longint;
begin
assign (c,'C:\Users\Argenis Fuentes\Documents\curso.dat');
{$I-}
reset (c);
{$I+}
clrscr;
for i := 0 to filesize(c) - 1 do
begin
end;
writeln('llenado de curso');
llenar(curso);
writeln('<<< Pulse [Enter] >>>');
readln;
end;
Procedure mcursos;
var i : longint;
begin
assign (c,'C:\Users\Argenis Fuentes\Documents\curso.dat');
{$I-}
rewrite (c);
{$I+}
clrscr; for i := 0 to filesize(c) - 1 do
begin
end;
writeln('llenado de curso');
mostrar(curso);
writeln('<<< Pulse [Enter] >>>');
readln;
end;
Procedure Menu;
Begin
limpiar(curso);
Repeat
clrscr;
writeln ('Programa que almacena registros de cursos');
Writeln ('1.ingrese registro');
Writeln ('2.Buscar un curo por su nombre');
Writeln ('3.buscar y mostrar cuantos cursos coordina un profesor');
Writeln ('4.Salir');
opc:=readkey;
IF (opc)='1' THEN insertar;
IF (opc)='2' THEN mcursos;
IF (opc)='3' THEN until(opc)='4';
end;
Begin
Clrscr;
Menu;
end.
ayudenme porfavor
1 insertar registros de cursos
2. buscar un curso por su nombre
3. buscar y mostrar cuantos cursos coordina un profesor
aqui esta el registro q tenia antes y lo que hice de archivos
program procesacurso;
uses crt;
const
M=5;
type
tipdatper=record
nombre,ci,tlf,dir:string;
end;
tipdatac=record
prof:string;
aexp:integer;
end;
tipmod=record
nombre:string;
horas:integer;
profe:record
datper:tipdatper;
datac:tipdatac;
end;
end;
tipcurso=record
nomb:string;
costo:real;
coord:record
datper: tipdatper;
datac: tipdatac;
end;
modulo:array [1..M] of tipmod
end;
arcurso=file of tipcurso;
var
c:arcurso;
curso:tipcurso;
i:integer;
opc:char;
procedure limpiar(var curso:tipcurso);
begin
curso.costo:=0;
curso.nomb:='';
curso.coord.datper.nombre:='';
curso.coord.datper.ci:='';
curso.coord.datper.tlf:='';
curso.coord.datper.dir:='';
curso.coord.datac.prof:='';
curso.coord.datac.aexp:=0;
for i:=1 to M do
begin
curso.modulo[i].nombre:='';
curso.modulo[i].horas:=0;
curso.modulo[i].profe.datper.nombre:='';
curso.modulo[i].profe.datper.ci:='';
curso.modulo[i].profe.datper.tlf:='';
curso.modulo[i].profe.datper.dir:='';
curso.modulo[i].profe.datac.prof:='';
curso.modulo[i].profe.datac.aexp:=0;
end;
end;
procedure llenar(var curso:tipcurso);
var
contador:string;
begin
assign (c,'C:\Users\Argenis Fuentes\Documents\curso.dat');
{$I-}
rewrite(c);
{$I+}
if IOResult=0 then
seek(c,i);
writeln('Ingrese Nombre del curso');
readln(curso.nomb);
contador:=curso.nomb;
writeln('ingrese el valor del curso');
readln(curso.costo);
writeln('Datos personales del Coordinador');
writeln('Ingrese nombre ');
readln(curso.coord.datper.nombre);
writeln('ingrese Cedula');
readln(curso.coord.datper.ci);
writeln('ingrese numero de telefono');
readln(curso.coord.datper.tlf);
writeln('ingrese direccion');
readln(curso.coord.datper.dir);
writeln('datos academicos del coordinador');
writeln('ingrese profesion');
readln(curso.coord.datac.prof);
writeln('ingrese anos de experiencia');
readln(curso.coord.datac.aexp);
assign (c,'C:\Users\Argenis Fuentes\Documents\curso.dat');
for i:=1 to M do
begin
writeln('ingrese nombre del modulo #',i);
readln(curso.modulo[i].nombre);
writeln('ingrese la cantidad de horas del mudolo',i);
readln(curso.modulo[i].horas);
writeln('Datos del profesor del curso');
writeln('ingrese nombre del profesor del modulo',i);
readln(curso.modulo[i].profe.datper.nombre);
writeln('ingrese cedula del profesor del modulo',i);
readln(curso.modulo[i].profe.datper.ci);
writeln('ingrese numero de telefono del profe del modulo',i);
readln(curso.modulo[i].profe.datper.tlf);
writeln('ingrese direccion del profesor del modulo',i);
readln(curso.modulo[i].profe.datper.dir);
writeln('datos academicos de cada profesor');
writeln('ingrese profesion de profesor de modulo',i);
readln(curso.modulo[i].profe.datac.prof);
writeln('ingrese anos de experiencia');
readln(curso.modulo[i].profe.datac.aexp);
{$I-}
rewrite(c);
{$I+}
if IOResult=0 then
seek(c,i);
close(c);
end;
end;
procedure mostrar(var curso:tipcurso);
begin
assign (c,'C:\Users\Argenis Fuentes\Documents\curso.dat');
{$I-}
rewrite(c);
{$I+}
if IOResult=0 then
seek(c,i);
writeln('Nombre del Curso');
writeln(curso.nomb);
writeln('Costo del Curso');
writeln(curso.costo);
writeln('Datos del coordinador');
writeln('Nombre: ',curso.coord.datper.nombre);
writeln('Cedula: ',curso.coord.datper.ci);
writeln('Telefono: ',curso.coord.datper.tlf);
writeln('Direccion: ',curso.coord.datper.dir);
writeln('Datos academicos del coordinador');
writeln('Profesion: ',curso.coord.datac.prof);
writeln('Anos de experiencia: ',curso.coord.datac.aexp);
assign (c,'C:\Users\Argenis Fuentes\Documents\curso.dat');
for i:=1 to M do
begin
writeln('Nombre de modulo ',i);
writeln(curso.modulo[i].nombre);
writeln('Horas del curso ',i);
writeln( curso.modulo[i].horas);
writeln('Datos personales del profesor',i);
writeln('Nombre del profesor: ',curso.modulo[i].profe.datper.nombre);
writeln('Cedula: ',curso.modulo[i].profe.datper.ci);
writeln('Telefono: ',curso.modulo[i].profe.datper.tlf);
writeln('Direccion: ',curso.modulo[i].profe.datper.dir);
writeln('Datos academicos del profesor ',i);
writeln('Profesion: ',curso.modulo[i].profe.datac.prof);
writeln('Anos de experiencia: ',curso.modulo[i].profe.datac.aexp);
{$I-}
rewrite(c);
{$I+}
if IOResult=0 then
seek(c,i);
close(c);
end;
end;
procedure modificar(var curso:tipcurso);
var
modifi:char;
nuevo:string;
begin
writeln('Numero del coordinador es: ', curso.coord.datper.tlf);
curso.coord.datper.tlf:=nuevo;
readln(nuevo);
writeln('ingrese nuevo telefono');
writeln('nuevo telefono del coordinador: ', nuevo);
end;
Procedure insertar;
var i : longint;
begin
assign (c,'C:\Users\Argenis Fuentes\Documents\curso.dat');
{$I-}
reset (c);
{$I+}
clrscr;
for i := 0 to filesize(c) - 1 do
begin
end;
writeln('llenado de curso');
llenar(curso);
writeln('<<< Pulse [Enter] >>>');
readln;
end;
Procedure mcursos;
var i : longint;
begin
assign (c,'C:\Users\Argenis Fuentes\Documents\curso.dat');
{$I-}
rewrite (c);
{$I+}
clrscr; for i := 0 to filesize(c) - 1 do
begin
end;
writeln('llenado de curso');
mostrar(curso);
writeln('<<< Pulse [Enter] >>>');
readln;
end;
Procedure Menu;
Begin
limpiar(curso);
Repeat
clrscr;
writeln ('Programa que almacena registros de cursos');
Writeln ('1.ingrese registro');
Writeln ('2.Buscar un curo por su nombre');
Writeln ('3.buscar y mostrar cuantos cursos coordina un profesor');
Writeln ('4.Salir');
opc:=readkey;
IF (opc)='1' THEN insertar;
IF (opc)='2' THEN mcursos;
IF (opc)='3' THEN until(opc)='4';
end;
Begin
Clrscr;
Menu;
end.
ayudenme porfavor
Valora esta pregunta


0