void AnyadirProcesador6502()
    {
        Procesador procesador;
        Memoria    memoria;

        Console.WriteLine("Indique el nombre del ordenador: ");
        string nombre = Console.ReadLine();

        Console.WriteLine("Indique la velocidad del procesador: ");
        float velocidadProcesador = Convert.ToSingle(Console.ReadLine());

        procesador = new Procesador6502(velocidadProcesador);
        Console.WriteLine("Indique el tamaño de la memoria: ");
        int tamanyo = Convert.ToInt32(Console.ReadLine());

        memoria = new Memoria(tamanyo);

        ordenadores[contador] = new Ordenador(nombre, procesador, memoria);
        contador++;
    }
    void Ejecutar()
    {
        bool salir = false;
        byte opcion;

        ProcesadorZ80 a  = new ProcesadorZ80(3.5);
        Memoria       m1 = new Memoria(16384);

        ordenadores[0] = new Ordenador("ZxSpectrum", a, m1);

        Procesador6502 b  = new Procesador6502(1.1);
        Memoria        m2 = new Memoria(5120);

        ordenadores[1] = new Ordenador("Commodore VIC-20", b, m2);

        contador = 2;

        do
        {
            MostrarMenu();
            opcion = Convert.ToByte(Console.ReadLine());
            Console.WriteLine();
            switch (opcion)
            {
            case 1: AnyadirProcesadorZ80(); break;

            case 2: AnyadirProcesador6502(); break;

            case 3: MostrarDatos(ordenadores, contador); break;

            case 0: salir = true; break;

            default: Console.WriteLine("Opción no válida."); break;
            }
            Console.WriteLine();
        }while(salir == false);
    }
Esempio n. 3
0
    static void Main()
    {
        int       contadorOrdenador  = 2;
        int       contadorProcesador = 2;
        int       contadorMemoria    = 2;
        const int MAX = 100;

        Ordenador[]  ordenadores  = new Ordenador[MAX];
        Procesador[] procesadores = new Procesador[MAX];
        Memoria[]    memorias     = new Memoria[MAX];

        procesadores[0] = new ProcesadorZ80(3.5);
        memorias[0]     = new Memoria(16384);
        ordenadores[0]  =
            new Ordenador(procesadores[0], memorias[0],
                          "ZxSpectrum");

        ordenadores[1] =
            new Ordenador(
                new Procesador6502(1.1),
                new Memoria(5120),
                "Commodore VIC-20");

        byte opcion;

        do
        {
            Console.WriteLine("1 - Añadir equipo basado en el Z80");
            Console.WriteLine("2 - Añadir equipo basado en el 6502");
            Console.WriteLine("3 - Ver todos los datos");
            Console.WriteLine("0 - Salir");
            opcion = Convert.ToByte(Console.ReadLine());

            switch (opcion)
            {
            default: Console.WriteLine("Opcion no valida"); break;

            case 0: Console.WriteLine("Nos vemos pronto!"); break;

            case 1:
                if (contadorOrdenador >= MAX)
                {
                    Console.WriteLine("Base de datos completa");
                }
                else
                {
                    Console.Write("Nombre: ");
                    string nombre = Console.ReadLine();
                    Console.Write("Velocidad en MHz: ");
                    double velocidad = Convert.ToDouble(Console.ReadLine());
                    Console.Write("Tamaño de memoria: ");
                    int tamanyo = Convert.ToInt32(Console.ReadLine());

                    procesadores[contadorProcesador] = new ProcesadorZ80(velocidad);
                    memorias[contadorMemoria]        = new Memoria(tamanyo);
                    ordenadores[contadorOrdenador]   =
                        new Ordenador(
                            procesadores[contadorProcesador],
                            memorias[contadorMemoria],
                            nombre);
                    contadorOrdenador++;
                    contadorProcesador++;
                    contadorMemoria++;
                }
                break;

            case 2:
                if (contadorOrdenador >= MAX)
                {
                    Console.WriteLine("Base de datos completa");
                }
                else
                {
                    Console.Write("Nombre: ");
                    string nombre = Console.ReadLine();
                    Console.Write("Velocidad en MHz: ");
                    double velocidad = Convert.ToDouble(Console.ReadLine());
                    Console.Write("Tamaño de memoria: ");
                    int tamanyo = Convert.ToInt32(Console.ReadLine());

                    procesadores[contadorProcesador] = new Procesador6502(velocidad);
                    memorias[contadorMemoria]        = new Memoria(tamanyo);
                    ordenadores[contadorOrdenador]   =
                        new Ordenador(
                            procesadores[contadorProcesador],
                            memorias[contadorMemoria],
                            nombre);
                    contadorOrdenador++;
                    contadorProcesador++;
                    contadorMemoria++;
                }
                break;

            case 3:
                for (int i = 0; i < contadorOrdenador; i++)
                {
                    Console.WriteLine(ordenadores[i].ToString());
                }
                break;
            }
        }while (opcion != 0);
    }