Act4 FRGOA

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 16

Act2_FRGOA

Nombre de la materia: Programación Orientada A Objetos


Fecha: 15 de octubre 2023
Nombre del Alumno: Alexa Antonella Frias González
Nombre de la maestra: Saul Santiago Rivera

Número de cuenta: 21336057


Tema: Entregable 2
Ciclo: 2023-2024
2021-
Introducción
Los lenguajes de programación tratan un idioma utilizado para controlar el
comportamiento de una máquina, usando un conjunto de símbolos y reglas que definen
su estructura y el significado de sus elementos y expresiones. Se puede decir lo mismo
para las sentencias de control, esas sentencias desempeñan un papel fundamental en
la estructura y funcionalidad de cualquier programa. Pueden entenderse como
instrucciones o comandos que el programa debe seguir de manera precisa para lograr
una serie de tareas y objetivos. En otras palabras, las sentencias son las herramientas
que habilitan a los programadores para crear soluciones.

Además de haber sentencias simples, existen las sentencias de control que permiten
modificar el flujo del programa introduciendo ciclos y condicionales. Un condicional es
un conjunto de sentencias que pueden o no ejecutarse, dependiendo del resultado de
una condición y un ciclo es un conjunto de sentencias que son ejecutadas varias veces,
hasta que una condición de término es satisfecha.

A pesar de su aparente simplicidad inicial, estos tipos de sentencias pueden


combinarse para dar lugar a estructuras más complejas, otorgando la lógica necesaria
a la aplicación y permitiendo alcanzar la funcionalidad deseada. En este entregable se
usará las sentencias de control de condicional y ciclo para dar solución a una situación
común para este tipo de estructura de programación como un menú básico de un
cajero automático.
Desarrollo
Indicaciones de la Actividad

Realiza un programa en java o algún lenguaje orientado a objetos que simule un cajero
automático.

El programa deberá mostrar una pantalla inicial que solicite un código de acceso (NIP)
de 4dígitos numéricos. La pantalla inicial deberá estar compuesta una interfaz como
título, nombre del “banco”, una bienvenida, etc.

Una vez validado el código de acceso y que este sea correcto, se deberá mostrar un
menú con diferentes opciones:

1. Consulta de Saldo

2. Retiro de efectivo

3. Deposito en efectivo

4. Cambiar NIP

Cada que se seleccione una opción de deberá mostrar la pantalla según corresponda.
Al finalizar en cada opción deberás preguntar si quiere terminar o regresar al menú
principal.

Deberás crear las clases, atributos y métodos correspondientes dentro de tu programa,


eso lo determinaras según tu criterio.

Cada vez que se realice una operación deberás actualizar el saldo. Recuerda que
también para cada transacción deberás validar si cuenta con dinero suficiente en la
cuenta, en caso de que no cuente con saldo suficiente el programa podrá efectuar la
operación y mostrara un mensaje al usuario indicando cual fue la razón por la cual no
se realizó dicha transacción.

Codigo Cajero Automatico


#include <iostream>

using namespace std;

double saldo(double total)

cout<<endl;

if (total==0)

cout<<"Ud. no tiene saldo en su cuenta"<<endl<<endl;

else

cout<<"Su saldo es de: "<<total<<endl;

return total;

void fin()

cout<<endl<<"Gracias por usar este cajero, vuelva pronto."<<endl<<endl;

double deposito(double total)

double dep=0;

cout<<endl;
do

cout<<"Ingrese la cantidad que desea depositar en efectivo: ";

cin>>dep;

if(dep>0)

total=total+dep;

cout<<"Su nuevo saldo es de: "<<total<<endl;

else

cout<<"Ingrese una cantidad valida"<<endl<<endl;

}while (dep<=0);

return total;

double retiro(double total)

double ret=0;

cout<<endl;

if(total==0)

cout<<"Ud. no tiene saldo que pueda retirar"<<endl;

else

do
{

cout<<"Ingrese la cantidad que desea retirar de efectivo: ";

cin>>ret;

if(ret>0)

total=total-ret;

cout<<"Su nuevo saldo es de: "<<total<<endl;

else

cout<<"Ingrese una cantidad valida"<<endl<<endl;

}while (ret<=0);

return total;

double newnip(double total)

double newnip=0;

cout<<endl;

do

cout<<"Ingrese el nuevo NIP: ";


cin>>newnip;

if (newnip>0)

newnip=total;

cout<<"Tu NIP se a cambiado exitosamente"<<endl;

else

cout<<"Ingrese una NIP valido"<<endl<<endl;

}while (newnip<=0);

return total;

int menu(double total)

const string nipCorrecto = "4023";

cout << "Bienvenido a Bancomer\n\n";

cout << "Ingrese el NIP:\n\n ";

string nip = "";

cin >> nip;


if (nip != nipCorrecto)

cout << "NIP incorrecto";

return 0;

cout << "\nNIP correcto\n\nBienvenido al BancoUnitec\n\n";

int opcion;

cout<<"---------------Digite la opción que desee---------------"<<endl;

cout<<"---------------------------------------------"<<endl<<endl;

cout<<"Para depositar dinero presione.............(1)"<<endl;

cout<<"Para retirar dinero presione...............(2)"<<endl;

cout<<"Para consulta de saldo.....................(3)"<<endl;

cout<<"Para cambiar NIP...........................(4)"<<endl;

cout<<"Para salir.................................(5)"<<endl;

cout<<endl<<"Elija la transaccion que desea realizar: ";

cin>>opcion;

return opcion;

double proceso(int opcion,double total)

switch (opcion)
{

case 1:total=deposito(total);break;

case 2:total=retiro(total);break;

case 3:total=saldo(total);break;

case 4:total=newnip(total);break;

case 5:cout<<endl<<"Ud. ha salido del sistema. Gracias por usar este cajero, vuelva
pronto."<<endl<<endl;exit (0);

default: {

cout<<"Ingrese un valor correcto"<<endl;

menu(total);

return total;

int main()

double total=0;

int opcion, a;

char c;

do

{
cout<<endl<<endl;

opcion=menu(total);

total=proceso(opcion,total);

do

cout<<endl;

cout<<"Desea realizar alguna otra transaccion (S)(N): ";

cin>>c;

a=0;

switch(c)

case 's':

case 'S':a=2;break;

case 'n':

case 'N':break;

default: cout<<endl<<"Ingrese un valor correcto"<<endl;a=1;

} while (a==1);

} while (a==2);

fin();

return 0;
}
Conclusión
En conclusión, se pudo revisitar el conocimiento previo para poder realizar la actividad,
pero no sin contratiempos y/o complicaciones. En el transcurso de este entregable
intente el mismo caso en 2 tipos de IDE, en NetBeans y Dev C++. Durante la semana
trate de hacerlo en los 2 programas para ver cuál es la forma que entiendo mejor y que
salga bien, pero la que mejor me funciono fue Dev C++ por que tengo mas experiencia
en trabajar las sentencias de control con ese estilo de lenguaje de programación,
aunque lo difícil fue combinar los dos tipos de secuencias que trabaje por separado en
el pasado.

Formar un lenguaje para ejecutar las primeras 3 opciones de consultar, depositar y


retirar el efectivo, la opción que mas me dificulto hacer que funcione fue la opción de
cambiar el NIP, en mi opinión por que no es una opción que depende de variables
medibles a diferencia de las otras, pero se logró al final. En efecto, otra actividad
estresante y retadora, pero no imposible afortunadamente, también fue un buen repaso
de como pueden aplicarse las sentencias de control y expandirse a una forma nueva y
mas complicada para nuevas soluciones, incluso para problemas diarios como acudir a
un cajero automático para satisfacer las opciones que uno elija, como si elije depositar
y luego decide retirar, tal como una sentencia de control debe funcionar.
Referencias

5. Sentencias de control 2: WHILE, DO WHILE y FOR | Academia Códigos de Programación.

(s. f.). https://codigosdeprogramacion.com/cursos/?lesson=5-sentencias-de-control-2-

while-do-while-y-for

Barragán, A. (2023, 11 octubre). Introducción a Java: Sentencias. OpenWebinars.net.

https://openwebinars.net/blog/introduccion-a-java-sentencias/

Sánchez, R. (s. f.). Curso C#.

https://www.rsoftware.es/CourseCSharp/Elements/ControlStructures

Sentencias de control — programación. (s. f.). http://progra.usm.cl/apunte/materia/sentencias-de-

control.html

También podría gustarte