0% encontró este documento útil (0 votos)
12 vistas4 páginas

IA Solucion EF

Descargar como pdf o txt
Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1/ 4

INSTITUTO DE EDUCACIÓN SUPERIOR CIBERTEC

DIRECCIÓN ACADÉMICA
CARRERA PROFESIONALES

CURSO : Introducción a la Algoritmia


SEMESTRE : 2023 – 02
NOTA
CICLO : Primero
DURACIÓN : 90 minutos
TURNO : Diurno 1
ALUMNO : Diego Eduardo Rivera Paz

EVALUACIÓN FINAL DE TEORÍA

Solución del código :

public class TiendaAzulejos extends JFrame {


/**
*
*/
private static final long serialVersionUID = 1L;
private int totalCajasFioranno;
private int totalCajasSienna;
private int totalCajasCecafi;

private double totalPagadoFioranno;


private double totalPagadoSienna;
private double totalPagadoCecafi;

private JTextArea txtReporte;

public TiendaAzulejos() {
setTitle("Venta de Azulejos");
setSize(800, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);

JLabel labelMarca = new JLabel("Marca:");


JLabel labelCantidad = new JLabel("Cantidad de cajas:");
JComboBox<String> comboMarca = new JComboBox<>(new String[]{"Fioranno",
"Sienna", "Cecafi"});
JTextField txtCantidad = new JTextField();
JButton btnProcesar = new JButton("Procesar");
txtReporte = new JTextArea();
JScrollPane scrollPane = new JScrollPane(txtReporte);

Color colorFondo = new Color(230, 230, 230);


Color colorBoton = new Color(120, 180, 220);

Font fuente = new Font("Arial", Font.PLAIN, 14);


getContentPane().setBackground(colorFondo);
labelMarca.setForeground(Color.DARK_GRAY);
labelCantidad.setForeground(Color.DARK_GRAY);
btnProcesar.setBackground(colorBoton);
btnProcesar.setForeground(Color.WHITE);
btnProcesar.setFont(fuente);

setLayout(new BorderLayout());

JPanel inputPanel = new JPanel(new GridLayout(2, 2, 10, 10));


inputPanel.setBackground(colorFondo);
inputPanel.add(labelMarca);
inputPanel.add(comboMarca);
inputPanel.add(labelCantidad);
inputPanel.add(txtCantidad);

JPanel buttonPanel = new JPanel();


buttonPanel.setBackground(colorFondo);
buttonPanel.add(btnProcesar);

JPanel resultPanel = new JPanel(new BorderLayout());


resultPanel.setBackground(colorFondo);
resultPanel.add(scrollPane, BorderLayout.CENTER);

JPanel mainPanel = new JPanel(new BorderLayout());


mainPanel.add(inputPanel, BorderLayout.WEST);
mainPanel.add(buttonPanel, BorderLayout.CENTER);
mainPanel.add(resultPanel, BorderLayout.EAST);

add(mainPanel);

btnProcesar.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String marca = comboMarca.getSelectedItem().toString();
int cantidad = leerCantidad(txtCantidad);
double importePagar = calcularImportePagar(marca, cantidad);
efectuarIncrementos(marca, cantidad, importePagar);
mostrarReporte(txtReporte, marca, cantidad, importePagar);
// Agregado para forzar la actualización de la GUI
revalidate();
repaint();
}
});
}

private int leerCantidad(JTextField txtCantidad) {


try {
return Integer.parseInt(txtCantidad.getText());
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(this, "Ingrese una cantidad válida.",
"Error", JOptionPane.ERROR_MESSAGE);
return 0;
}
}

private double calcularImportePagar(String marca, int cantidad) {


double precioCaja = 0.0;
switch (marca) {
case "Fioranno":
precioCaja = 59.9;
break;
case "Sienna":
precioCaja = 75.5;
break;
case "Cecafi":
precioCaja = 67.8;
break;
default:
JOptionPane.showMessageDialog(this, "Marca desconocida.", "Error",
JOptionPane.ERROR_MESSAGE);
break;
}
return cantidad * precioCaja;
}

private void efectuarIncrementos(String marca, int cantidad, double


importePagar) {
switch (marca) {
case "Fioranno":
totalCajasFioranno += cantidad;
totalPagadoFioranno += importePagar;
break;
case "Sienna":
totalCajasSienna += cantidad;
totalPagadoSienna += importePagar;
break;
case "Cecafi":
totalCajasCecafi += cantidad;
totalPagadoCecafi += importePagar;
break;
default:
break;
}
}

private void mostrarReporte(JTextArea txtReporte, String marca, int cantidad,


double importePagar) {
String boleta = "************** Boleta de Pago **************\n\n";
boleta += "Marca: " + marca + "\n";
boleta += "Cantidad de cajas: " + cantidad + "\n";
boleta += "Precio por caja: " + obtenerPrecioCaja(marca) + "\n";
boleta += "Importe a pagar: S/. " + importePagar + "\n\n";
boleta += "Totales acumulados por marca:\n";
boleta += "Fioranno - Cajas: " + totalCajasFioranno + ", Total pagado: S/.
" + totalPagadoFioranno + "\n";
boleta += "Sienna - Cajas: " + totalCajasSienna + ", Total pagado: S/. " +
totalPagadoSienna + "\n";
boleta += "Cecafi - Cajas: " + totalCajasCecafi + ", Total pagado: S/. " +
totalPagadoCecafi + "\n";
boleta += "\n********************************************";

txtReporte.setText(boleta);
}

private double obtenerPrecioCaja(String marca) {


switch (marca) {
case "Fioranno":
return 59.9;
case "Sienna":
return 75.5;
case "Cecafi":
return 67.8;
default:
return 0.0;
}
}

public static void main(String[] args) {


SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new TiendaAzulejos().setVisible(true);
}
});
}
}

También podría gustarte