elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  AYUDA CON ESTE MINI CAJERO EN C#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: AYUDA CON ESTE MINI CAJERO EN C#  (Leído 10,167 veces)
arcaydus

Desconectado Desconectado

Mensajes: 1


Ver Perfil
AYUDA CON ESTE MINI CAJERO EN C#
« en: 14 Enero 2013, 01:27 am »

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.

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace CAJERO_AUTOMATICO
  7. {
  8.    class Program
  9.    {
  10.  
  11.        static void Main(string[] args)
  12.        {
  13.  
  14.            int resp2 = 100; //Variable de seleccion de operacion que el cliente desee realizar.
  15.            int resp3 = 100; //Variable para seleccionar el articulo con un numero entre el 1 al 4 segun el articulo.
  16.            int tv = 300; //Precio del televisor
  17.            int refri = 500;//Precio de la refrigeradora
  18.            int cama = 300;//Precio de la cama
  19.            float retiro = 0.00F;//Variable que se usara si el cliente desea realizar un retiro
  20.            float abono = 0.00F; //Variable que contendra el valor del abono.
  21.            int videojuego = 200;//Precio de videojuego
  22.            float fondo = 5000.00F;//Fondo del cliente
  23.            double cuenta = 0.00;//Valor q acumulara los gastos que haga
  24.            string clave = "";//Clave de acceso
  25.  
  26.            Console.Title = "Cajero Automatico de tarjeta de credito";
  27.            //Console.ForegroundColor = ConsoleColor.Black;
  28.            //Console.BackgroundColor = ConsoleColor.Green;
  29.            do
  30.            {
  31.                Console.Write("\n\nDigite su clave Por favor: ");
  32.                clave = Console.ReadLine(); //Pedimos la clave
  33.  
  34.                while (clave != "User") //Mientras la clave sea incorrecta mostrar:
  35.                {
  36.                    Console.Write("\n\nERROR CONTRASEÑA INCORRECTA INGRESELA NUEVAMENTE POR FAVOR: ");
  37.                    clave = Console.ReadLine();
  38.                }
  39.                if ((clave == "User")) //Si la clave es correcta:
  40.                {
  41.                    Console.Write("\n\n Carlos Roberto Arevalo Orellana su tarjeta tiene un fondo de: $");
  42.                    Console.Write(+fondo + "\n\n"); //Mostramos el Fondo que tiene la "tarjeta" del cliente
  43.                    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: ");
  44.                    resp2 = int.Parse(Console.ReadLine()); //Le pedimos al cliente que seleccione lo que desea hacer
  45.  
  46.                    while(resp2 <= 0 || resp2>3){ //Condicion si ingresa un numero mayor que 2 o menor que cero
  47.                        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: ");
  48.                    resp2 = int.Parse(Console.ReadLine());}
  49.  
  50.                    if (resp2 == 1) //Si selecciona con el numero 1 comprar un electrodomestico
  51.                    {
  52.                        Console.WriteLine("\n\n\t1 = Televisores: \t $300 \t\t2 = Refrigeradores: \t $500");
  53.                        //Le ofrecemos las opciones y el selecciona su electrodomestico en base al numero del mismo.
  54.                        Console.WriteLine("\n\n\t3 = Cama: \t\t $300 \t       4 = Videojuegos \t\t $200\n\n");
  55.                        Console.Write("\tElLECCION: ");
  56.                        resp3 = int.Parse(Console.ReadLine());
  57.  
  58.                        while( (resp3 > 4) || (resp3<=0)){ //Condicion su escribe un numero menor que cero o mayor que 4
  59.                            Console.Write("\nDigito equivocado seleccione la operacion en base a los numeros de la izquierda: \n\n");
  60.                            Console.WriteLine("\n\n\t1 = Televisores: \t $300 \t\t2 = Refrigeradores: \t $500");
  61.                            //Le ofrecemos las opciones y el selecciona su electrodomestico en base al numero del mismo.
  62.                            Console.WriteLine("\n\n\t3 = Cama: \t\t $300 \t       4 = Videojuegos \t\t $200\n\n");
  63.                            Console.Write("\tElLECCION: ");
  64.                            resp3 = int.Parse(Console.ReadLine());
  65.                        }
  66.  
  67.  
  68.                        switch (resp3) //Seleccion de casos
  69.                        {
  70.                            case 1:
  71.  
  72.                                fondo = fondo - tv;
  73.                                cuenta = cuenta + fondo;
  74.                                Console.Write("\n\nHa escogido un Televisor con un valor de $300.00, Su nuevo saldo es de: $");
  75.                                Console.WriteLine(fondo);
  76.                                Console.Write("\n\nSu cuenta acumulada es de: $");
  77.                                Console.WriteLine(cuenta);
  78.                                break;
  79.                            case 2:
  80.                                fondo = fondo - refri;
  81.                                cuenta = cuenta + refri;
  82.                                Console.Write("\n\nHa escogido un Refrigerador con un valor de $500.00, Su nuevo saldo es de: $");
  83.                                Console.WriteLine(fondo);
  84.                                Console.Write("\n\nSu cuenta acumulada es de: $");
  85.                                Console.WriteLine(cuenta);
  86.                                break;
  87.                            case 3:
  88.                                fondo = fondo - cama;
  89.                                cuenta = cuenta + cama;
  90.                                Console.Write("\n\nHa escogido una Cama con un valor de $300, Su nuevo saldo es de: $");
  91.                                Console.WriteLine(fondo);
  92.                                Console.Write("\n\nSu cuenta acumulada es de: $");
  93.                                Console.WriteLine(cuenta);
  94.                                break;
  95.                            case 4:
  96.                                fondo = fondo - videojuego;
  97.                                cuenta = cuenta + videojuego;
  98.                                Console.Write("\n\nHa escogido un Videojuego con un valor de $200, Su nuevo saldo es de: $");
  99.                                Console.WriteLine(fondo);
  100.                                Console.Write("\n\nSu cuenta acumulada es de: $");
  101.                                Console.WriteLine(cuenta);
  102.                                break;
  103.                        } //Fin de SWITCH
  104.                    }//Fin de segundo IF
  105.  
  106.                }//Fin de if Global 1
  107.  
  108.                if (resp2 == 2) //Si en vez de comprar escoge retirar dinero con la opcion 2
  109.                {
  110.                    Console.Write("\n\nDigite la cantidad que desea retirar: $");
  111.                    retiro = float.Parse(Console.ReadLine()); //Pedimos la cantidad que el quier retirar.
  112.  
  113.  
  114.                    while (retiro > fondo) //Condicion si el retiro deseado es mayor que el fondo o menor que cero
  115.                    {
  116.                        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+":  $");
  117.                        retiro = float.Parse(Console.ReadLine());
  118.                        //fondo = fondo - retiro;
  119.                        Console.WriteLine("\n");
  120.                    }//Fin de while de retiro
  121.                    fondo = fondo - retiro;
  122.                    Console.Write("\n\nSu nuevo saldo es de: $");
  123.                    Console.WriteLine(fondo);
  124.                }//Fin de if de retiro
  125.  
  126.  
  127.                else if (resp2 == 3)//sI ELIGE HACER UN ABONO
  128.                {
  129.                    Console.Write("\n\nDigite la cantidad que desea abonar: $");
  130.                    abono = float.Parse(Console.ReadLine());
  131.  
  132.                    while (abono < 0) //CONDICION SI EL ABONO ES MENOR QUE CERO
  133.                    {
  134.                        Console.Write("\n\nLA CANTIDAD INGRESADA ES MENOR A CERO, POR FAVOR DIGITE UNA MAYOR A CERO: $");
  135.                        abono = float.Parse(Console.ReadLine());
  136.                    }
  137.                    fondo = (fondo + abono);//VALOR NUEVO DEL FONDO DESPUES DEL ABONO
  138.                }
  139.  
  140.                //FIN DE CONDICIONES PARA CLIENTE 1.
  141.  
  142.            } while (fondo > 0);//Fin de Do-While
  143.            Console.WriteLine("\n\nSU CUENTA SE HA QUEDADO SIN FONDO GRACIAS POR USAR ESTE CAJERO.");
  144.            Console.ReadLine();
  145.        }
  146.    }
  147. }


« Última modificación: 14 Enero 2013, 06:38 am por Novlucker » En línea

TomaSs

Desconectado Desconectado

Mensajes: 101



Ver Perfil
Re: AYUDA CON ESTE MINI CAJERO EN C#
« Respuesta #1 en: 14 Enero 2013, 06:26 am »

usa como signo decimal la coma en vez del punto a ver que tal


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Que tal les parece este mini-proyecto?
Sugerencias y dudas sobre el Foro
_mÙëK§™_ 8 5,529 Último mensaje 4 Enero 2007, 12:54 pm
por Isirius
Cooler de Cajero Automatico.
Hardware
Elemental Code 3 5,093 Último mensaje 21 Octubre 2010, 13:34 pm
por APOKLIPTICO
[Ayuda] Cajero automatico en C++
Programación C/C++
Lobialkon 1 10,319 Último mensaje 17 Octubre 2016, 19:48 pm
por eduardo1012
¿Es este mini proyector del 'smartphone' una estafa?
Noticias
wolfbcn 0 1,098 Último mensaje 19 Junio 2015, 01:45 am
por wolfbcn
Ayuda con este mini programilla
Desarrollo Web
melodicpunkcore 1 2,728 Último mensaje 16 Agosto 2016, 22:10 pm
por melodicpunkcore
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines