C sharp - volver a la seleccion de un switch case al terminar una operacion

   
Vista:

volver a la seleccion de un switch case al terminar una operacion

Publicado por Alcibiades (1 intervención) el 24/04/2016 18:54:36
Buenas
Estoy trabajando en este codigo de un cajero y no se como hacer para que al finalizar una operacion cualquiera del switch regrese al menu de seleccion en caso que el usuario quiera hacer otra operacion antes de salir.
Como esta ahora mismo haces cualquier cosa y se queda asi, como vera solamente estoy usando variables cargadas me dijeron que seria mejor con una matriz o base de datos pero de eso ni idea si alguien sabe sobre eso me vendria bien esa ayuda pero ahora lo que me importa es lo que mencione antes.

gracias de ante mano.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
 
namespace ConsoleApplication1
{
 
   class Program
    {
        static void Main(string[] args)
        {
            string nombre;
            int tarjeta = 9743829, pin = 1234, saldo = 5000;
            int ntarjeta, npin, retiro, deposito, cpt, trans;
            string tarjeta1, pin1, saldo1, retiro1, deposito1, cpt1, trans1;
            //segundo usuario para transaccion//
            int tarjeta2 = 9283479, pin2 = 4321, saldo2 = 250;
 
            Console.WriteLine("Bienvenido al sistema de cajero electronico\n");
            Console.WriteLine("Ingrese su numero de tarjeta \n");
 
                tarjeta1 = Console.ReadLine();
                ntarjeta = int.Parse(tarjeta1);
 
                        if (ntarjeta != tarjeta)
                             {
                                 Console.WriteLine("Usuario invalido, se cerrara la sesion \n");
                                 Console.ReadLine();
                                 System.Environment.Exit(-1);
 
            }
 
            Console.WriteLine("Ingrese su PIN \n");
 
                pin1 = Console.ReadLine();
                npin = int.Parse(pin1);
 
                        if (npin != pin)
                             {
                                Console.WriteLine("PIN invalido, se cerrara la sesion por seguridad \n");
                                Console.ReadLine();
                                System.Environment.Exit(-1);
            }
                        else
            Console.WriteLine("Por favor escoga la operacion que desea realizar \n");
            Console.WriteLine("1. Retiro \n");
            Console.WriteLine("2. Deposito \n");
            Console.WriteLine("3. Transaccion \n");
            Console.WriteLine("4. Consulta \n");
            Console.WriteLine("5. Salir\n");
 
            int valor = int.Parse(Console.ReadLine());
 
            switch (valor)
            {
                case 1:
 
                    Console.WriteLine("Retiro\n");
                    Console.Write("Ingrese la cantidad a retirar\n");
                    retiro1 = Console.ReadLine();
                    retiro = int.Parse(retiro1);
                    saldo = saldo - retiro;
                    Console.Write("Su saldo actual es: {0} \n", saldo);
                    Console.ReadLine();
                    break;
 
                case 2:
                    Console.Write("Deposito\n");
                    Console.Write("Ingrese la cantidad a depositar\n");
                    deposito1 = Console.ReadLine();
                    deposito = int.Parse(deposito1);
                    saldo = saldo + deposito;
                    Console.Write("Su saldo actual es {0} \n", saldo);
                    Console.ReadLine();
                    break;
 
                case 3:
                    Console.Write("Transaccion\n");
                    Console.Write("Ingrese el numero de cuenta al que desea transferir dinero\n");
                    cpt1 = Console.ReadLine();
                    cpt = int.Parse(cpt1);
 
                    if (cpt != tarjeta2)
                    {
                        Console.Write("El usuario no existe en el sistema\n");
                        Console.ReadLine();
                    }
                    else
                        Console.Write("Ingrese la cantidad a tranferir\n");
 
                    trans1 = Console.ReadLine();
                    trans = int.Parse(trans1);
                    saldo = saldo - trans;
                    Console.WriteLine("Su saldo restante es {0}\n", saldo);
                    Console.ReadLine();
 
                    break;
 
                case 4:
                    Console.Write("Colsulta\n");
                    Console.Write("Su numero de tarjeta es {0}\n",tarjeta);
                    Console.Write("Su PIN es {0}\n",pin);
                    Console.Write("Su saldo actual es {0}\n",saldo);
                    Console.Write("Ha transferido dinero recientemente a la cuenta {0}\n", tarjeta2);
                    Console.Write("transfirio a la cuenta {0} \n", tarjeta2);
                    Console.ReadLine();
                    System.Environment.Exit(-1);
                    break;
 
                case 5:
                    System.Environment.Exit(-1);
                    break;
            }
        }
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

volver a la seleccion de un switch case al terminar una operacion

Publicado por Miguel (91 intervenciones) el 25/04/2016 23:34:38
Hola,
Coloca todo tu bloque "switch" en un "while", ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
bool repetir = true;
white (repetir)
{
   Console.WriteLine("Selecciona una opción: \n");
   Console.WriteLine("1. Opción 1\n");
   Console.WriteLine("2. Opción 2\n");
   Console.WriteLine("3. Opción 3\n");
   Console.WriteLine("4. Salir\n");
 
   int opcion = int.Parse(Console.ReadLine());
 
   swicth (opcion)
   {
      case 1:
         //procesar opción 1
         break;
 
      case 2:
         //procesar opción 2
         break;
 
      case 3:
         //procesar opción 3
         break;
 
       defaut:
          //terminar bucle
          repetir = false;
          break;
   }
}


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar