Código de Cajero (Visual). Líneas de código Visual: 485. public partial class Form1 : Form { private string entrada = string.Empty; private string nip = string.Empty; private string nipReal = "1234"; private bool nipCorrecto = false; private int intentos = 0; private int billetes500 = 2000; private int billetes200 = 3500; private int billetes100 = 7000; private int billetes50 = 700; private int efectivoCajero = 0; private int saldo = 15000; private bool cantidadValida = false; private int cantidad = 0; public Form1() { InitializeComponent(); this.Text = "CAJERO AUTOMÁTICO"; //Asignamos la cantidad de efectivo que el cajero tendrá efectivoCajero = (billetes500 * 500) + (billetes200 * 200) + (billetes100 * 100) + (billetes50 * 50); txtNip.PasswordChar = '*'; txtNip.MaxLength = 4; lblFecha.Text = dateTimePicker7.Value.ToString(); } //Boton de primera pantalla la de bienvenida private void btnIngresaTarjeta_Click(object sender, EventArgs e) { onPanelIngresarTarjeta(); } //Boton de ingresar nip cancelar private void btnCancelar_Click(object sender, EventArgs e) { apagaPaneles(); onPanelPantallaInicial(); txtNip.Text = ""; } //Boton de ingresar nip aceptar private void btnAceptar_Click(object sender, EventArgs e) { ValidaNip(); }
//Funcion para validar nip public bool ValidaNip() { nip = txtNip.Text; //Validamos que el nip sea correcto if (nip == nipReal) { //Decimos que el nip sea correcto. nipCorrecto = true; } //Si el nip no es correcto contamos su errores con un maximo de 3 para que se pueda intentar. if (nipCorrecto == false) { intentos += 1; MessageBox.Show("Nip invรกlido.", "Intentos: " + intentos.ToString()); txtNip.Text = ""; if (intentos >= 3) { MessageBox.Show("Limite exedido", "saliendo..."); apagaPaneles(); onPanelIngresarTarjeta(); intentos = 0; } }//Ni valido sea falso else { onPanelMenuCajero(); } //Si el nip es correcto accedemos al menu. return nipCorrecto; }//Fin funcion valida //Funcion para cambio de nip public void cambioNip() { string cambio1 = string.Empty; string cambio2 = string.Empty; cambio1 = txtCambioNip.Text; cambio2 = txtCambioNip2.Text; if (cambio1 == cambio2) { nipReal = txtCambioNip2.Text; MessageBox.Show("Cambio de NIP exitoso.", "ALERTA"); pCambioNip.Visible = false; }
else MessageBox.Show("Nip Invalido.", "ERROR"); } //Boton de salir del menu principal private void btnSalir_Click(object sender, EventArgs e) { MessageBox.Show("Salir.", "Expulsando tarjeta..."); txtNip.Text = ""; apagaPaneles(); onPanelPantallaInicial(); } //Boton de cancelar de la pantalla de las cantidades a retirar private void btnCancel_Click(object sender, EventArgs e) { txtNip.Text = ""; pRetirarEfectivo.Visible = false; onPanelMenuCajero(); }
//Pantalla de retirar efectivo private void btnRetirarEfectivo_Click(object sender, EventArgs e) { onPanelRetirarEfectivo(); txtOtraCantidad.Visible = true; } //Boton de retirar tarjeta de la pantalla de dar billetes private void btnRetirarTarjeta_Click_1(object sender, EventArgs e) { MessageBox.Show("Expulsando tarjeta..."); apagaPaneles(); onPanelPantallaInicial(); } //Funcion para retirar efectivo ($50) public void retira50() { if (saldo >= 50 && efectivoCajero >= 50) {//Validacion del saldo actual MessageBox.Show("Retirando $50...", "Transacciรณn exitosa."); billetes50 = billetes50 - 50; efectivoCajero = efectivoCajero - 50; saldo -= 50; } } //Funcion para retirar efectivo ($100) public void retira100() { if (saldo >= 100 && efectivoCajero >= 100)
{//Validacion del saldo actual MessageBox.Show("Retirando $100...", "Transacciรณn exitosa."); billetes100 = billetes100 - 100; //darBilletes(); efectivoCajero = efectivoCajero - 100; saldo -= 100; } } //Funcion para retirar efectivo ($200) public void retira200() { if (saldo >= 200 && efectivoCajero >= 200) {//Validacion del saldo actual MessageBox.Show("Retirando $200...", "Transacciรณn exitosa."); billetes200 = billetes200 - 200; //darBilletes(); efectivoCajero = efectivoCajero - 200; saldo -= 200; } } //Funcion para retirar efectivo ($500) public bool retira500() { if (saldo >= 500 && efectivoCajero >= 500) {//Validacion del saldo actual cantidadValida = true; MessageBox.Show("Retirando $500...", "Transacciรณn exitosa."); billetes500 = billetes500 - 500; //Dar billetes pRetirarBilletes.Visible = true; efectivoCajero = efectivoCajero - 500; } else MessageBox.Show("Saldo no suficiente para retirar dicha cantidad", "ALERTA!!!"); return cantidadValida; } //Retirar $50 en la pantalla de seleccionar cantidad a retirar private void btn50_Click(object sender, EventArgs e) { //Dar billetes ocultaTextBoxOC(); pRetirarBilletes.Visible = true; lbl50pesos.Text = "1"; retira50(); }
private void btn100_Click(object sender, EventArgs e) { //Dar billetes ocultaTextBoxOC(); pRetirarBilletes.Visible = true; lbl100pesos.Text = "1"; retira100(); } private void btn200_Click(object sender, EventArgs e) { //Dar billetes ocultaTextBoxOC(); pRetirarBilletes.Visible = true; lbl200pesos.Text = "1"; retira200(); } private void btn500_Click(object sender, EventArgs e) { cantidadValida = retira500(); ocultaTextBoxOC(); if (cantidadValida == true) { saldo -= 500; //Dar billetes pRetirarBilletes.Visible = true; lbl500pesos.Text = "1"; retira500(); } } //Oculta text box de otra cantidad de la pantalla dar billetes public void ocultaTextBoxOC() { txtOtraCantidad.Visible = false; } //Boton para aceptar al cambio de nip private void btn_ACEPTAR_Click(object sender, EventArgs e) { txtCambioNip2.Visible = true; lblIngresaNip.Visible = true; cambioNip(); txtCambioNip.Text = ""; txtCambioNip2.Text = ""; } //Reiniciar a 0 la entrega de billetes en la pantalla de dar billetes public void limpiaCantidadBilletes() { lbl500pesos.Text = "0"; lbl200pesos.Text = "0";
lbl100pesos.Text = "0"; lbl50pesos.Text = "0"; } //Pantalla para cancelar el cambio de nip private void btn_CANCELAR_Click(object sender, EventArgs e) { apagaPaneles(); onPanelMenuCajero(); } //Boton pantalla de menu para cambio de nip private void btnCambioNip_Click(object sender, EventArgs e) { apagaPaneles(); onPanelCambioNip(); } //Boton de ver movimientos de la pantalla de menu principal private void btnVerMov_Click(object sender, EventArgs e) { apagaPaneles(); onPanelCambioNip(); onPanelConsultaSaldo(); onPanelVerMovimientos(); } public void onPanelVerMovimientos() { pVerMovimientos.Visible = true; } public void apagaPaneles() { pPantallaInicial.Visible = false; pIngresarTarjeta.Visible = false; pMenuCajero.Visible = false; pRetirarEfectivo.Visible = false; pRetirarBilletes.Visible = false; pCambioNip.Visible = false; pVerMovimientos.Visible = false; } public void onPanelPantallaInicial() { pPantallaInicial.Visible = true; } public void onPanelIngresarTarjeta() { pIngresarTarjeta.Visible = true; } public void onPanelMenuCajero()
{ pMenuCajero.Visible = true; } public void onPanelRetirarEfectivo() { pRetirarEfectivo.Visible = true; } public void onPanelRetirarBilletes() { pRetirarBilletes.Visible = true; } public void onPanelCambioNip() { pCambioNip.Visible = true; } public void onPanelConsultaSaldo() { pConsultaSaldo.Visible = true; } //Boton cancelar del cambio de nip private void btn_CANCELAR_Click_1(object sender, EventArgs e) { pCambioNip.Visible = false; onPanelIngresarTarjeta(); onPanelMenuCajero(); } //Boton de aceptar cambio de nip en la pantalla cambio de nip private void btn_ACEPTAR_Click_1(object sender, EventArgs e) { lblIngresaNip.Visible = true; txtCambioNip2.Visible = true; btnValidarNip.Visible = true; } //Boton de validar cambio de nip de la pantalla cambio de nip private void btnValidarNip_Click(object sender, EventArgs e) { cambioNip(); txtCambioNip.Text = ""; txtCambioNip2.Text = ""; lblIngresaNip.Visible = false; apagaPaneles(); onPanelIngresarTarjeta(); onPanelMenuCajero(); } //Realizar otra transaccion de la pantalla Dar Billetes private void btnOtraTransaccion_Click(object sender, EventArgs e)
{ pRetirarBilletes.Visible = false; pRetirarEfectivo.Visible = false; onPanelIngresarTarjeta(); onPanelMenuCajero(); limpiaCantidadBilletes(); } //Pantalla de consulta saldo, botรณn para acceder a la consulta saldo private void btnConsultar_Click(object sender, EventArgs e) { apagaPaneles(); onPanelCambioNip(); onPanelConsultaSaldo(); lblSaldoActual.Text = saldo.ToString(); } //Boton de salir en la pantalla de consulta de saldo private void button3_Click(object sender, EventArgs e) { pConsultaSaldo.Visible = false; pCambioNip.Visible = false; onPanelIngresarTarjeta(); onPanelMenuCajero(); } //Funcion dar otra cantidad en retiro de efectivo public void darOtraCantidad(int pOtraCantidad) { cantidad = pOtraCantidad; if (cantidad >= 50 && cantidad <= saldo && cantidad % 50 == 0) { int entero = (int)(cantidad / 500); int residuo = cantidad % 500; billetes500 = billetes500 - entero; lbl500pesos.Text = "$"+entero.ToString(); int entero2 = (int)(residuo / 200); int residuo2 = residuo % 200; billetes200 = billetes200 - entero2; lbl200pesos.Text = "$" + entero2.ToString(); int entero3 = (int)(residuo2 / 100); int residuo3 = residuo2 % 100; billetes100 = billetes100 - entero3; lbl100pesos.Text = "$" + entero3.ToString(); int entero4 = (int)(residuo3 / 50); int residuo4 = residuo3 % 50; billetes50 = billetes50 - entero4; lbl50pesos.Text = "$" + entero4.ToString(); } else
MessageBox.Show("Cantidad no vรกlida / saldo insuficiente.", "ALERTA."); } //Boton de retirar $2000 de la pantalla Retirar Efectivo private void button9_Click(object sender, EventArgs e) { //Dar billetes ocultaTextBoxOC(); pRetirarBilletes.Visible = true; darOtraCantidad(2000); saldo -= 2000; MessageBox.Show("Retirando $2000....", "ALERTA."); } //Boton de retirar 7000 pesos en la pantalla Retiro de Efectivo private void btnRetira7000_Click(object sender, EventArgs e) { ocultaTextBoxOC(); //Dar billetes pRetirarBilletes.Visible = true; darOtraCantidad(7000); saldo -= 7000; MessageBox.Show("Retirando $7000....", "ALERTA."); } private void btnRetiraOtraCantidad_Click(object sender, EventArgs e) { //Dar billetes int otraCantidad = 0; otraCantidad = otraCantidad + int.Parse(txtOtraCantidad.Text); ocultaTextBoxOC(); pRetirarBilletes.Visible = true; darOtraCantidad(otraCantidad); if (int.Parse(txtOtraCantidad.Text) >= 50 && saldo <= int.Parse(txtOtraCantidad.Text)) { saldo -= otraCantidad; MessageBox.Show("Retirando $" + otraCantidad.ToString(), "ALERTA."); txtOtraCantidad.Text = ""; } } private void btnSalirVerMov_Click(object sender, EventArgs e) { pConsultaSaldo.Visible = false; pCambioNip.Visible = false; pVerMovimientos.Visible = false; onPanelIngresarTarjeta(); onPanelMenuCajero(); } //Fin de la funcion dar otra cantidad (billetes) }//FIn de form1 }