Este código simula una mini tienda virtual desde donde tu a traves de un cajero puedes hacer los siguiente:
1 - Comprar artículos
2- Retirar dinero e tu tarjeta
3 - Abonar dinero a tu tarjeta.
Simula una tarjeta de crédito y el programa termina cuando tu saldo es CERO.
El problema es con los tipos de datos de las variables. Cuando intento abonar una cantidad como esta: 1500.50 debería de aparecer en el Fondo de la tarjeta: 6500.50 pero aparece 20550 UNA CIFRA INCORRECTA. PASA LO MISMO CON LOS RETIROS.
Apena ayer he comenzado con C# AYÚDENME POR FAVOR
NOTA: EL FONDO DE LA TARJETA ES DE 5000 y la clave de acceso es: User.
1 - Comprar artículos
2- Retirar dinero e tu tarjeta
3 - Abonar dinero a tu tarjeta.
Simula una tarjeta de crédito y el programa termina cuando tu saldo es CERO.
El problema es con los tipos de datos de las variables. Cuando intento abonar una cantidad como esta: 1500.50 debería de aparecer en el Fondo de la tarjeta: 6500.50 pero aparece 20550 UNA CIFRA INCORRECTA. PASA LO MISMO CON LOS RETIROS.
Apena ayer he comenzado con C# AYÚDENME POR FAVOR
NOTA: EL FONDO DE LA TARJETA ES DE 5000 y la clave de acceso es: User.
Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CAJERO_AUTOMATICO
{
class Program
{
static void Main(string[] args)
{
int resp2 = 100; //Variable de seleccion de operacion que el cliente desee realizar.
int resp3 = 100; //Variable para seleccionar el articulo con un numero entre el 1 al 4 segun el articulo.
int tv = 300; //Precio del televisor
int refri = 500;//Precio de la refrigeradora
int cama = 300;//Precio de la cama
float retiro = 0.00F;//Variable que se usara si el cliente desea realizar un retiro
float abono = 0.00F; //Variable que contendra el valor del abono.
int videojuego = 200;//Precio de videojuego
float fondo = 5000.00F;//Fondo del cliente
double cuenta = 0.00;//Valor q acumulara los gastos que haga
string clave = "";//Clave de acceso
Console.Title = "Cajero Automatico de tarjeta de credito";
//Console.ForegroundColor = ConsoleColor.Black;
//Console.BackgroundColor = ConsoleColor.Green;
do
{
Console.Write("\n\nDigite su clave Por favor: ");
clave = Console.ReadLine(); //Pedimos la clave
while (clave != "User") //Mientras la clave sea incorrecta mostrar:
{
Console.Write("\n\nERROR CONTRASEÑA INCORRECTA INGRESELA NUEVAMENTE POR FAVOR: ");
clave = Console.ReadLine();
}
if ((clave == "User")) //Si la clave es correcta:
{
Console.Write("\n\n Carlos Roberto Arevalo Orellana su tarjeta tiene un fondo de: $");
Console.Write(+fondo + "\n\n"); //Mostramos el Fondo que tiene la "tarjeta" del cliente
Console.Write(" Que deseas hacer: \n\n PRESIONA 1 SI DESEA: COMPRAR. \n\n PRESIONA 2 SI DESEA: RETIRAR DINERO\n\n PRESIONA 3 SI DESEA: ABONAR A SU CUENTA\n\n\tEleccion: ");
resp2 = int.Parse(Console.ReadLine()); //Le pedimos al cliente que seleccione lo que desea hacer
while(resp2 <= 0 || resp2>3){ //Condicion si ingresa un numero mayor que 2 o menor que cero
Console.Write("\nDigito equivocado seleccione la operacion en base a los numeros de la izquierda: \n\n PRESIONA 1 SI DESEA: COMPRAR \n\n PRESIONA 2 SI DESEA: RETIRAR DINERO\n\n \tEleccion: ");
resp2 = int.Parse(Console.ReadLine());}
if (resp2 == 1) //Si selecciona con el numero 1 comprar un electrodomestico
{
Console.WriteLine("\n\n\t1 = Televisores: \t $300 \t\t2 = Refrigeradores: \t $500");
//Le ofrecemos las opciones y el selecciona su electrodomestico en base al numero del mismo.
Console.WriteLine("\n\n\t3 = Cama: \t\t $300 \t 4 = Videojuegos \t\t $200\n\n");
Console.Write("\tElLECCION: ");
resp3 = int.Parse(Console.ReadLine());
while( (resp3 > 4) || (resp3<=0)){ //Condicion su escribe un numero menor que cero o mayor que 4
Console.Write("\nDigito equivocado seleccione la operacion en base a los numeros de la izquierda: \n\n");
Console.WriteLine("\n\n\t1 = Televisores: \t $300 \t\t2 = Refrigeradores: \t $500");
//Le ofrecemos las opciones y el selecciona su electrodomestico en base al numero del mismo.
Console.WriteLine("\n\n\t3 = Cama: \t\t $300 \t 4 = Videojuegos \t\t $200\n\n");
Console.Write("\tElLECCION: ");
resp3 = int.Parse(Console.ReadLine());
}
switch (resp3) //Seleccion de casos
{
case 1:
fondo = fondo - tv;
cuenta = cuenta + fondo;
Console.Write("\n\nHa escogido un Televisor con un valor de $300.00, Su nuevo saldo es de: $");
Console.WriteLine(fondo);
Console.Write("\n\nSu cuenta acumulada es de: $");
Console.WriteLine(cuenta);
break;
case 2:
fondo = fondo - refri;
cuenta = cuenta + refri;
Console.Write("\n\nHa escogido un Refrigerador con un valor de $500.00, Su nuevo saldo es de: $");
Console.WriteLine(fondo);
Console.Write("\n\nSu cuenta acumulada es de: $");
Console.WriteLine(cuenta);
break;
case 3:
fondo = fondo - cama;
cuenta = cuenta + cama;
Console.Write("\n\nHa escogido una Cama con un valor de $300, Su nuevo saldo es de: $");
Console.WriteLine(fondo);
Console.Write("\n\nSu cuenta acumulada es de: $");
Console.WriteLine(cuenta);
break;
case 4:
fondo = fondo - videojuego;
cuenta = cuenta + videojuego;
Console.Write("\n\nHa escogido un Videojuego con un valor de $200, Su nuevo saldo es de: $");
Console.WriteLine(fondo);
Console.Write("\n\nSu cuenta acumulada es de: $");
Console.WriteLine(cuenta);
break;
} //Fin de SWITCH
}//Fin de segundo IF
}//Fin de if Global 1
if (resp2 == 2) //Si en vez de comprar escoge retirar dinero con la opcion 2
{
Console.Write("\n\nDigite la cantidad que desea retirar: $");
retiro = float.Parse(Console.ReadLine()); //Pedimos la cantidad que el quier retirar.
while (retiro > fondo) //Condicion si el retiro deseado es mayor que el fondo o menor que cero
{
Console.Write("\n\nLA CANTIDAD QUE DESEA RETIRAR ES MUCHO MAYOR QUE EL FONDO QUE TIENE \nPOR FAVOR DIGITE UNA CANTIDAD MENOR QUE SU FONDO: $"+fondo+": $");
retiro = float.Parse(Console.ReadLine());
//fondo = fondo - retiro;
Console.WriteLine("\n");
}//Fin de while de retiro
fondo = fondo - retiro;
Console.Write("\n\nSu nuevo saldo es de: $");
Console.WriteLine(fondo);
}//Fin de if de retiro
else if (resp2 == 3)//sI ELIGE HACER UN ABONO
{
Console.Write("\n\nDigite la cantidad que desea abonar: $");
abono = float.Parse(Console.ReadLine());
while (abono < 0) //CONDICION SI EL ABONO ES MENOR QUE CERO
{
Console.Write("\n\nLA CANTIDAD INGRESADA ES MENOR A CERO, POR FAVOR DIGITE UNA MAYOR A CERO: $");
abono = float.Parse(Console.ReadLine());
}
fondo = (fondo + abono);//VALOR NUEVO DEL FONDO DESPUES DEL ABONO
}
//FIN DE CONDICIONES PARA CLIENTE 1.
} while (fondo > 0);//Fin de Do-While
Console.WriteLine("\n\nSU CUENTA SE HA QUEDADO SIN FONDO GRACIAS POR USAR ESTE CAJERO.");
Console.ReadLine();
}
}
}