FDP Sem4 Pablo-Ramos Lopez Al03048327
FDP Sem4 Pablo-Ramos Lopez Al03048327
FDP Sem4 Pablo-Ramos Lopez Al03048327
MÓDULO: EVIDENCIA 2
SEMANA 4
FECHA: 18/07/2023
Evidencia 2
Desarrollo de la actividad
Rogelio
Guerra 2223003122003220 101 23/07/27 $4680
Fase 2
2. Una vez que tengas la primera fase y hayas desarrollado el algoritmo
y diagrama de flujo, es tiempo de codificar utilizando las estructuras
condicionales y de repetición que aprendiste. La solución deberá
contener lo siguiente:
Codificación: programa la solución utilizando C#, incluyendo
comentarios de encabezado donde muestres lo que realiza el
programa, las entradas y las salidas (puedes incluir, de
preferencia, comentarios simples dentro del programa para
mejorar el entendimiento de tu programa).
Pruebas: ejecuta las pruebas y documenta la evidencia de cada
caso de prueba. Genera el reporte de la ejecución de pruebas.
Fase 3
La gente del banco está muy feliz con tus entregables, por motivos de
seguridad piden manejar ellos mismos las entradas de información, es decir, el
banco gestionará la información respecto a los datos de los tarjetahabientes y
la tendrá disponible en un archivo de texto que el sistema deberá llamar cada
vez que se realice una operación.
----------------------------------------------------------------------------------------------------------
ENTRADAS
Número de tarjeta
PIN (CVC)
Mes de expiración de la tarjeta
Año de expiración de la tarjeta
PROCESO
INICIO
Si se selecciona la opción 2:
►Pedir el monto de la transferencia
transferencia ← Lectura del teclado
►Pedir tarjeta que recibirá la transferencia
tarjetaDestino ← Lectura del teclado
Ejecutar la condición transferencia <= fondosJuan &&
tarjetaDestino = juanT OR tarjetaDestino = pedroZ OR
tarjetaDestino = anaM OR tarjetaDestino = rogelioG
Si se cumple la condición anterior:
►Imprimir: "La transferencia de " + transferencia + " pesos a la
tarjeta " + tarjetaDestino + " se ha completado correctamente."
De no cumplirse:
►Imprimir "Por favor revisa si cuentas con fondos suficientes y
si el numero de tarjeta es correcto."
Por loop insertado, regresar a selección de operaciones.
Si se selecciona la opción 3:
►Pedir el número de tarjeta que recibirá el depósito
depoDestino ← Lectura del teclado
►Pedir que se introduzcan los billetes y teclear la cantidad
introducida
billetes ← Lectura del teclado
►Pedir que se teclee el monto que se desea depositar
deposito ← Lectura del teclado
Ejecutar la condición deposito=billetes
Si se cumple la condición anterior:
►Imprimir "Tu depósito de " + deposito + " pesos se ha procesado
correctamente."
De no cumplirse:
►Imprimir "El total de billetes introducidos no coincide con el
monto que deseas depositar. Por favor modifica la cantidad que
deseas depositar."
Por sub-loop insertado, regresar al paso de pedir que se teclee
el monto que se desea depositar
Una vez que se ha cumplido la condición correctamente:
Por loop insertado, regresar a selección de operaciones.
Si se selecciona la opción 4
►Pedir el año de expiración de la tarjeta
confExpiracion ← Lectura del teclado
Ejecutar la condición confExpiracion >= 24
Si se cumple la condición anterior:
►Imprimir "Tu saldo al dia de hoy es de " + fondosJuan + "
pesos."
De no cumplirse:
►Imprimir "Su plástico ha vencido, pase a ventanilla para
obtener uno nuevo."
Por loop insertado, regresar a selección de operaciones.
Si se selecciona la opción 5:
►Imprimir "Gracias por tu visita, vuelve pronto".
—---------------------------------
Si se selecciona la opción 2:
►Pedir el monto de la transferencia
transferencia ← Lectura del teclado
►Pedir tarjeta que recibirá la transferencia
tarjetaDestino ← Lectura del teclado
Ejecutar la condición transferencia <= fondosPedro &&
tarjetaDestino = juanT OR tarjetaDestino = pedroZ OR
tarjetaDestino = anaM OR tarjetaDestino = rogelioG
Si se cumple la condición anterior:
►Imprimir: "La transferencia de " + transferencia + " pesos a la
tarjeta " + tarjetaDestino + " se ha completado correctamente."
De no cumplirse:
►Imprimir "Por favor revisa si cuentas con fondos suficientes y
si el número de tarjeta es correcto."
Por loop insertado, regresar a selección de operaciones.
Si se selecciona la opción 3:
►Pedir el numero de tarjeta que recibirá el depósito
depoDestino ← Lectura del teclado
►Pedir que se introduzcan los billetes y teclear la cantidad
introducida
billetes ← Lectura del teclado
►Pedir que se teclee el monto que se desea depositar
deposito ← Lectura del teclado
Ejecutar la condición deposito=billetes
Si se cumple la condición anterior:
►Imprimir "Tu depósito de " + deposito + " pesos se ha procesado
correctamente."
De no cumplirse:
►Imprimir "El total de billetes introducidos no coincide con el
monto que deseas depositar. Por favor modifica la cantidad que
deseas depositar."
Por sub-loop insertado, regresar al paso de pedir que se teclee
el monto que se desea depositar
Una vez que se ha cumplido la condición correctamente:
Por loop insertado, regresar a selección de operaciones.
Si se selecciona la opción 4
►Pedir el año de expiración de la tarjeta
confExpiracion ← Lectura del teclado
Ejecutar la condición confExpiracion >= 24
Si se cumple la condición anterior:
►Imprimir "Tu saldo al dia de hoy es de " + fondosPedro + "
pesos."
De no cumplirse:
►Imprimir "Su plástico ha vencido, pase a ventanilla para
obtener uno nuevo."
Por loop insertado, regresar a selección de operaciones.
Si se selecciona la opción 5:
►Imprimir "Gracias por tu visita, vuelve pronto".
—---------------------------------
Si se selecciona la opción 2:
►Pedir el monto de la transferencia
transferencia ← Lectura del teclado
►Pedir tarjeta que recibirá la transferencia
tarjetaDestino ← Lectura del teclado
Ejecutar la condición transferencia <= fondosAna &&
tarjetaDestino = juanT OR tarjetaDestino = pedroZ OR
tarjetaDestino = anaM OR tarjetaDestino = rogelioG
Si se cumple la condición anterior:
►Imprimir: "La transferencia de " + transferencia + " pesos a la
tarjeta " + tarjetaDestino + " se ha completado correctamente."
De no cumplirse:
►Imprimir "Por favor revisa si cuentas con fondos suficientes y
si el número de tarjeta es correcto."
Por loop insertado, regresar a selección de operaciones.
Si se selecciona la opción 3:
►Pedir el numero de tarjeta que recibirá el depósito
depoDestino ← Lectura del teclado
►Pedir que se introduzcan los billetes y teclear la cantidad
introducida
billetes ← Lectura del teclado
►Pedir que se teclee el monto que se desea depositar
deposito ← Lectura del teclado
Ejecutar la condición deposito=billetes
Si se cumple la condición anterior:
►Imprimir "Tu depósito de " + deposito + " pesos se ha procesado
correctamente."
De no cumplirse:
►Imprimir "El total de billetes introducidos no coincide con el
monto que deseas depositar. Por favor modifica la cantidad que
deseas depositar."
Por sub-loop insertado, regresar al paso de pedir que se teclee
el monto que se desea depositar
Una vez que se ha cumplido la condición correctamente:
Por loop insertado, regresar a selección de operaciones.
Si se selecciona la opción 4
►Pedir el año de expiración de la tarjeta
confExpiracion ← Lectura del teclado
Ejecutar la condición confExpiracion >= 24
Si se cumple la condición anterior:
►Imprimir "Tu saldo al dia de hoy es de " + fondosAna + "
pesos."
De no cumplirse:
►Imprimir "Su plástico ha vencido, pase a ventanilla para
obtener uno nuevo."
Por loop insertado, regresar a selección de operaciones.
Si se selecciona la opción 5:
►Imprimir "Gracias por tu visita, vuelve pronto".
—---------------------------------
Si se selecciona la opción 2:
►Pedir el monto de la transferencia
transferencia ← Lectura del teclado
►Pedir tarjeta que recibirá la transferencia
tarjetaDestino ← Lectura del teclado
Ejecutar la condición transferencia <= fondosRogelio &&
tarjetaDestino = juanT OR tarjetaDestino = pedroZ OR
tarjetaDestino = anaM OR tarjetaDestino = rogelioG
Si se cumple la condición anterior:
►Imprimir: "La transferencia de " + transferencia + " pesos a la
tarjeta " + tarjetaDestino + " se ha completado correctamente."
De no cumplirse:
►Imprimir "Por favor revisa si cuentas con fondos suficientes y
si el número de tarjeta es correcto."
Por loop insertado, regresar a selección de operaciones.
Si se selecciona la opción 3:
►Pedir el numero de tarjeta que recibirá el depósito
depoDestino ← Lectura del teclado
►Pedir que se introduzcan los billetes y teclear la cantidad
introducida
billetes ← Lectura del teclado
►Pedir que se teclee el monto que se desea depositar
deposito ← Lectura del teclado
Ejecutar la condición deposito=billetes
Si se cumple la condición anterior:
►Imprimir "Tu depósito de " + deposito + " pesos se ha procesado
correctamente."
De no cumplirse:
►Imprimir "El total de billetes introducidos no coincide con el
monto que deseas depositar. Por favor modifica la cantidad que
deseas depositar."
Por sub-loop insertado, regresar al paso de pedir que se teclee
el monto que se desea depositar
Una vez que se ha cumplido la condición correctamente:
Por loop insertado, regresar a selección de operaciones.
Si se selecciona la opción 4
►Pedir el año de expiración de la tarjeta
confExpiracion ← Lectura del teclado
Ejecutar la condición confExpiracion >= 24
Si se cumple la condición anterior:
►Imprimir "Tu saldo al dia de hoy es de " + fondosRogelio + "
pesos."
De no cumplirse:
►Imprimir "Su plástico ha vencido, pase a ventanilla para
obtener uno nuevo."
Por loop insertado, regresar a selección de operaciones.
Si se selecciona la opción 5:
►Imprimir "Gracias por tu visita, vuelve pronto".
FIN
using System;
namespace Anidadas {
class Program {
Console.WriteLine();
Console.WriteLine("Ingresa el numero de tu tarjeta");
string numeroDeTarjeta = Console.ReadLine();
datosCliente[1] = numeroDeTarjeta;
datosCliente[2] = pin;
return datosCliente;
}
if (j < 4) {
row = row + ",";
}
}
sw.WriteLine(row);
}
sw.Close();
} catch (Exception e) {
Console.WriteLine("Error writing database");
}
sr.Close();
reader.Close();
return result;
}
catch (Exception e) {
Console.WriteLine("Error reading database");
// IMPRIMIR CONSULTA
Console.WriteLine("\n\n**** -> CUSTOMER DATA <- ****");
printRow(database, customerId);
Console.WriteLine("*****************************");
return retiro;
}
return deposito;
return tarjetaDestino;
return transfer;
}
try
{
switch (action)
{
case 'c':
Consulta();
break;
case 'r':
Retiro();
break;
case 'd':
Deposito();
break;
case 't':
Transferencia();
break;
case 'z':
Console.WriteLine("\n --->> Hasta luego
<<--");
break;
default:
Console.WriteLine("Error: Opcion no
valida");
break;
}
}
catch (MemberAccessException e) {
Console.WriteLine("\n\n ---> USER NOT FOUND
<---");
Console.WriteLine(" Intenta de nuevo");
}
catch (ArithmeticException e) {
Console.WriteLine("\n\n ---> CANTIDAD DE RETIRO
MAYOR A LA DISPONIBLE <---");
Console.WriteLine(" Intenta de nuevo");
}
catch (Exception e) {
Console.WriteLine("\n\n ---> Ups! Something Went
Wrong, try again <--");
Console.WriteLine(" Intenta de nuevo");
}
} while (action != 'z');
}
ID de la
prueba Descripción Entradas Salida Esperada Resultado
“Estoy transfiriendo:
980 a la cuenta
Transferencia = $980 indicada
Probar que el programa
realice correctamente Tarjeta -> Tu saldo anterior:
una transferencia entre destino=42424242424 $8700, tu nuevo
2 cuentas 24240 saldo es de: $7720” PASSED
Tarjeta de depósito:
123456789 “Tu depósito de 800
Probar que el programa pesos se ha
realice correctamente un procesado
3 depósito Deposito: $4650 correctamente PASSED
Nombre: Rogelio
Guerra
NumeroDeTarjeta:
2223003122003220
Pin: 101
Saldo: $4680
Probar que el programa PASSED
muestre correctamente el
saldo en la cuenta del Año de expiración ************************
4 cliente (AA): 27 *****”
PRUEBA 2
PRUEBA 3
PRUEBA 4
PRUEBA 5
CONCLUSION
El reto más grande en la codificación de una solución para este problema consistió en
la esquematización de esta, ya que tuvieron que integrarse múltiples procesos en un
mismo marco/programa y no crear soluciones separadas, así como ciclar distintas
funciones para que el programa otorgara la opcion de seguir realizando operaciones.
El entender el funcionamiento de los arreglos también fue un reto al principio, y resultó
ser una herramienta bastante poderosa que optimiza enormemente el funcionamiento
del programa y automatiza varias cuestiones que no pudieron lograrse en Raptor.
REFERENCIAS: