Pascal/Turbo Pascal - Ayuda urgente con programa en Free pascal

 
Vista:
sin imagen de perfil

Ayuda urgente con programa en Free pascal

Publicado por Carlos (6 intervenciones) el 03/05/2014 07:52:02
Hola, necesito ayuda con este programa, no se como resolverlo y tengo tiempo intentando hacerlo. De antemano gracias y espero sus respuestas.
El supermercado “si hay” atiende un total de 10 clientes al día, a fin de evitar el acaparamiento. El súper mercado necesita emitir las facturas a cada uno de sus clientes, el supermercado vende distintos productos. Los clientes realizan compras al mayor y al detal; si el cliente compra 12 productos o mas se aplica un descuento de 10% sobre el precio del producto la factura debe ser emitida bajo el siguiente formato
Numero producto Precio base Cantidad producto IVA 12 % Descuento Total
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
sin imagen de perfil

Ayuda urgente con programa en Free pascal

Publicado por Diego (98 intervenciones) el 03/05/2014 18:44:08
Buenas tardes, supongo que lo que tenés que hacer es una impresión de pantalla con los datos de la factura.

Primero que nada sería mejor que indiques que tipos de estructuras se pueden utilizar así se sabe como trabajar, lo digo porque dependiendo de la estructura que se pueda usar será distinto.
Puede hacerse usando desde registros hasta archivos con o sin tipos.
Pero probablemente tu caso sea un vector o lista que contenga los productos; hasta me arriesgo y digo que estan en un arbol(aunque lo dudo debido a la complejidad del problema).

Independientemente de la estructura que se deba(o se pueda) usar lo que tenés que hacer es:
pedirle que ingrese el producto que compró, luego buscar su precio(con o sin iva) en la estructura que trabajes, e incrementar la cantidad de productos comprados, y seguir así hasta que ya no quiera comprar nada, recien allí verifcar los descuentos en base a la cantidad comprada.
Una vez termiada esta persona imprimir los datos en pantalla.
Luego pasar a la siguiente persona y realizar el mismo proceso hatas que llegue el cliente 10 y realize su compra.
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
sin imagen de perfil

Ayuda urgente con programa en Free pascal

Publicado por Carlos (6 intervenciones) el 03/05/2014 22:03:22
Buenas, si amigo es exactamente como tu dices, una impresión de pantalla con los datos de factura, por la estructura no te se decir muy bien por que es primera vez que lo utilizo, pero pienso que es como tu dices, de vector y que contenga los productos, por que he visto la de "árbol" y son muy complicadas. La otra es que no se por donde empezar nunca he programado en pascal y ando todo confundido, espero que me puedas ayudar.
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
sin imagen de perfil

Ayuda urgente con programa en Free pascal

Publicado por Diego (98 intervenciones) el 04/05/2014 19:50:17
Así como todo problema, este se puede resolver por degrama de flujos y luego ser pasado al lenguaje que se te antoje, pero apra pasarlo tenés que saber como es la sintaxis del lenguaje.

Dices que nunca has programado en pascal, entonces deberías estudiar su sintaxis ya que sino puede prestar a confución muchas de la cosas que veas.

En cuanto al problema que tenés para esto tenés que tener una vector con los precios ya cargados(antes de las facturaciones).

Luego dentro de un bucle de 10 ciclos (for, while, repeat until) procesar a las 10 personas que ya se saben que van a venir.
en el blucle siempre será lo mismo solo que variará el numero de cliente(irá incrementando o decrementando segun lo programes).

Cuando llegue un cliente n° x:
--preguntarle que producto desea comprar.
--buscar el precio del producto en el arreglo de precios
--incrementar la cantidad de productos comprados en 1.
--preguntarle si desea seguir comprado--
-de responder si sería ejhecutar todo lo anterios.
-de responder no sería ver si se le puede aplicar el descuento por cantidad en base a su compra.
--si se puede aplicar el descuento imprimis todo con el descuento incluido.
--de no ser así solo se imprime sin el descuento.
--reiniciar la cantidad de productos comprados(ya que vendrá otra persona)
------incrementar el numero de cliente para pasar a un cliente nuevo
------repetir los pasos anteriores hasta que llegue el cliente 10.



pd: como ya habia dicho en otro mensaje, el iva puede estar o no dentro los precios de los productos; a mi parecer la intencion es que los productos estén sin iva y que luego al imprimir se le agregue el iva.
Aunque luego de leerlo otra vez, me parece que está para que aprendan el manejo de los ciclos de iteracion y de la impresión con formato; lo digo porque por cada persona se imprimer todos los datos cada producto que compró, pero no dice nada de imprimir el total de la compra de la persona.

se me pasó mencionar lo del descuento total, pero eso es simplemento imprimir el descuento que obtuvo(osea que imprima el 10%)
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
sin imagen de perfil

Ayuda urgente con programa en Free pascal

Publicado por Carlos (6 intervenciones) el 04/05/2014 20:23:46
Gracias por la ayuda hermano de verdad me funciono, otra cosa, ya tengo la estructura y todo, pero como diseño el cuadro?
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

Ayuda urgente con programa en Free pascal

Publicado por ramon (2158 intervenciones) el 05/05/2014 00:43:50
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
{Algo como esto te sirve}
 
program super;
 uses
    crt;
 type
    producto = record
           codigo : longint;
           tipo : string[50];
           precio : real;
           unidades : integer;
           iva : real;
           descuento : real;
           total : real;
         end;
 
 
  var
     clientes : array[1..10,1..8] of producto;
     cont : integer;
 
   procedure nuevalinea(xl, yl, k : integer);
   begin
      if k = 1 then
      begin
      gotoxy(xl,yl);write('³         ³             ³          ³          ³           ³            ³');
  gotoxy(xl,yl + 1);write('ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄ´');
      end;
      if k = 2 then
      begin
     gotoxy(xl,yl);write('³         ³             ³          ³          ³           ³            ³');
 gotoxy(xl,yl + 1);write('ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÙ');
      end;
   end;
 
   procedure formato(xl, yl : integer);
   begin
      gotoxy(xl,yl);write('ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄ¿');
      gotoxy(xl,yl + 1);write('³ Numero  ³ Precio Base ³ Cantidad ³ Iva 12%  ³ Descuento ³    Total   ³');
      gotoxy(xl,yl + 2);write('³ producto³             ³ Producto ³          ³           ³            ³');
      gotoxy(xl,yl + 3);write('ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄ´');
      gotoxy(xl,yl + 4);write('³         ³             ³          ³          ³           ³            ³');
      gotoxy(xl,yl + 5);write('ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄ´');
   end;
 
 
 
   begin
      clrscr;
      formato(2,2);
      nuevalinea(2,7,2);
      readkey;
   end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Ayuda urgente con programa en Free pascal

Publicado por Carlos (6 intervenciones) el 05/05/2014 06:06:53
Gracias mi pana, de verdad me funciono muy bien, :D
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