• Lenguaje

    Java usando AWT

  • Descripción

    "El náufrago satisfecho" ofrece hamburguesas sencillas (S), dobles (D) y triples (T), las cuales tienen un costo de $20, $25 y $28 respectivamente. La empresa acepta tarjetas de crédito con un cargo de 5 % sobre la compra. Suponiendo que los clientes adquieren N hamburguesas, las cuales pueden ser de diferente tipo, realice un algoritmo para determinar cuánto deben pagar.

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
import java.awt.*;
import java.awt.event.*;

public class ElNaufragoSatisfecho extends Frame implements ActionListener {

    private static final long serialVersionUID = 1L;
    private Choice choice_tipo_de_hamburguesa, choice_forma_de_pago;
    private Label label_cargo, label_costo;
    private Button button;

    public Algoritmo() {
        label_cargo = new Label();
        label_costo = new Label();
        choice_tipo_de_hamburguesa = new Choice();
        choice_tipo_de_hamburguesa.add("S sencilla");
        choice_tipo_de_hamburguesa.add("D doble");
        choice_tipo_de_hamburguesa.add("T triples");
        choice_forma_de_pago = new Choice();
        choice_forma_de_pago.add("Efectivo");
        choice_forma_de_pago.add("Tarjeta");
        button = new Button("Procesar");
        setLayout(new BorderLayout());
        Panel panel, subpanel;
        panel = new Panel(new BorderLayout());
        subpanel = new Panel(new GridLayout(2, 1));
        subpanel.add(new Label("Selecciona el valor de tipo de hamburguesa:"));
        subpanel.add(new Label("Selecciona el valor de forma de pago:"));
        panel.add(subpanel, BorderLayout.WEST);
        subpanel = new Panel(new GridLayout(2, 1));
        subpanel.add(choice_tipo_de_hamburguesa);
        subpanel.add(choice_forma_de_pago);
        panel.add(subpanel);
        add(panel, BorderLayout.NORTH);
        panel = new Panel(new FlowLayout());
        panel.add(button);
        add(panel);
        panel = new Panel(new BorderLayout());
        subpanel = new Panel(new GridLayout(2, 1));
        subpanel.add(new Label("Valor de cargo:"));
        subpanel.add(new Label("Valor de costo:"));
        panel.add(subpanel, BorderLayout.WEST);
        subpanel = new Panel(new GridLayout(2, 1));
        subpanel.add(label_cargo);
        subpanel.add(label_costo);
        panel.add(subpanel);
        add(panel, BorderLayout.SOUTH);
        button.addActionListener(this);
    }

    @Override
    public void actionPerformed(ActionEvent actionEvent) {
        int forma_de_pago, n, tipo_de_hamburguesa;
        double cargo, costo, pago;
        tipo_de_hamburguesa = choice_tipo_de_hamburguesa.getSelectedIndex() + 1;
        costo=0;
        if(tipo_de_hamburguesa==1)
            costo=10000;
        if(tipo_de_hamburguesa==2)
            costo=15000;
        if(tipo_de_hamburguesa==3)
            costo=28000;
        forma_de_pago = choice_forma_de_pago.getSelectedIndex() + 1;
        if(forma_de_pago==1)
            cargo=0;
        else
            cargo=costo*0.05;
        pago=pago+costo+cargo;
        label_cargo.setText(String.valueOf(cargo));
        label_costo.setText(String.valueOf(costo));
        pack();
    }

    public static void main(String[] args) {
        Algoritmo algoritmo = new Algoritmo();
        algoritmo.pack();
        algoritmo.setLocationRelativeTo(null);
        algoritmo.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
        algoritmo.setVisible(true);
    }

}