Pascal/Turbo Pascal - pascal ejercicio

 
Vista:

pascal ejercicio

Publicado por Davo (26 intervenciones) el 12/11/2012 18:59:44
Tambien tengo este ejercicio y con ello acabo a ver si puedes ayudarme. Si se puede hay que usar procedimientos del ejercicio anterior.
Te lo agradezco de antemano.

1.PRIMERA CUESTIÓN:

Defina un fichero binario en el que cada elemento del fichero sea de tipo Producto.

Codifique un procedimiento (guarda_cesta) que guarda todos los productos de una cesta de la compra, que se pasa como parámetro, en un fichero cuyo nombre también se pasa como parámetro.

2.SEGUNDA CUESTIÓN:
Codifique un procedimiento (recupera_cesta) que lea de un fichero de elementos de tipo producto, cuyo nombre se pasa como parámetro JUNTO CON OTROS QUE CONSIDERE NECESARIO, todos los productos que tenga almacenados y los guarde en una variable del tipo cesta que también se pasa como parámetro. Asegúrese de que no se sobrepasarán los límites de la cesta intentando introducir más de TAMMAXCESTA.

3.TERCERA CUESTIÓN:
Codifique un módulo principal en el que reutilizando los resultados de cuestiones y actividades anteriores (procedimientos de lectura y escritura de ficheros, presentación, modificación de datos de una cesta…), se muestre al usuario el menú propuesto en la actividad 2 de la unidad 6 (Unidad6_2_4.pas) y se ejecuten las acciones pertinentes a cada opción.
Tenga en cuenta que si el usuario elige:
1. Abrir cesta de compra existente: se preguntará al usuario el nombre de la cesta (que será el nombre del fichero que la contiene).
2. Comenzar cesta de compra nueva: se creará una cesta desde cero.
5. Guardar cesta: se pedirá al usuario el nombre del fichero donde guardar la cesta.
6. Pedir cesta: se mostrará la cesta actual.
7. Salir del programa: se terminará la ejecución del programa.
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

pascal ejercicio

Publicado por ramon (2158 intervenciones) el 12/11/2012 21:08:54
Disculpa me puedes pasar la estructuras que as empleado para poder realizar lo que me pides de mejor manera.
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

pascal ejercicio

Publicado por davo (26 intervenciones) el 14/11/2012 10:39:16
te mando como he tratado yo los datos
desde el principio esto seria para el primer
ejercicio que me ayudaste
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
103
104
105
106
program CEScom;
const
TAMMAXCESTA=3;
Type
tproducto=record
nombre:string;
numunidades:integer;
precio_unidad:real;
en_cesta:boolean;
end;
tabcesta=array[1..TAMMAXCESTA] of
tproducto;
Var
ini:tabcesta;
prod:tabcesta;
Procedure Lee_producto(Var
produc:tproducto); (*procedimiento de
lectura*)
Begin
Write('Nombre del producto: ');
Readln(produc.nombre);
Write('Numero de unidades: ');
Readln(produc.numunidades);
Write('Precio de cada unidad: ');
Readln(produc.precio_unidad);
End;
Procedure escribre_producto
(produc:tproducto);(*procedimiento de
lectura*)
Writeln('Nombre: ',produc.nombre);
Writeln('Numero de unidades: ');
Writeln('Precio de cada unidad;:
',produc.precio_unidad);
End;
Procedure inicializa_cesta (Var ini:Tabcesta);
Var
en_cesta:boolean;
i:integer;
begin
en_cesta:=false;
for i:= 1 to TAMMAXCESTA do
writeln (ini[i].en_cesta;
end;
Procedure mostrar_producto( Var
prod:tabcesta);
Var
i:integer;
begin
for i:=1 to TAMMAXCESTA do
write (prod[i]);
end;
Procedure mostrar_cesta
(cesta_compra:tabcesta);
Var
en_cesta:boolean;
i:integer;
begin
en_cesta:=true;
for i:=1 to TAMMAXCESTA do
write (cesta_compra[i].en_cesta;
end;
begin
write(mostra_cesta);
end.
begin
writeln (inicializa_cesta);
writeln( lee_producto);
writeln (mostra_cesta);
writeln;
end.
esto seria para el segundo ejercicio los dos
primeros puntos. Espero que te sirva
muchas gracias por tu ayuda.
Function cuenta_productos
( cuenpro:tabcesta)of integer:
Var
i:integer;
c:integer;
begin
c:=0;
for i:= 1 To TAMMAXCESTA do
if cuenpro[i].en_cesta= true then
c:=c+1;
cuenta_productos:= c;
end;
-------------------------------------------------------------------------------------------------------------------
Function busca_libre (buslib: tabcesta):
integer;
Var
i:integer;
c:integer;
begin
c:=0;
for i:= 1 to TAMMAXCESTA do
if buslib[i]en_cesta= false then
begin
c:= i;
break;
end;
if c> 0 then
end
else
begin
busca_libre:=0;
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

pascal ejercicio

Publicado por davo (26 intervenciones) el 14/11/2012 19:31:44
Ya he conseguido terminar este ejercicio, muchas gracias por tu tiempo y paciencia conmigo.
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