0% found this document useful (0 votes)
16 views

Menu Vector

The document contains code for a menu-driven program that performs various operations on an integer array (vector) in C#. The Program class contains methods for inserting, listing, modifying, deleting, sorting, resizing, and finding minimum, maximum and average values of the array. It displays a menu and calls the corresponding method based on the user's selection. The Main method initializes an instance of Program and runs a do-while loop to continuously display the menu and call methods until the user selects the "Exit" option.
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Menu Vector

The document contains code for a menu-driven program that performs various operations on an integer array (vector) in C#. The Program class contains methods for inserting, listing, modifying, deleting, sorting, resizing, and finding minimum, maximum and average values of the array. It displays a menu and calls the corresponding method based on the user's selection. The Main method initializes an instance of Program and runs a do-while loop to continuously display the menu and call methods until the user selects the "Exit" option.
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 6

using System;

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace menuVectores
{
class Program
{
int[] edad;

public void menu()


{
Console.ForegroundColor = ConsoleColor.DarkCyan;
// Console.SetCursorPosition(#columna, #fila)
Console.SetCursorPosition(30, 2);
Console.Write("MENU VECTORES");
Console.ForegroundColor = ConsoleColor.Green;
Console.SetCursorPosition(25, 4);
Console.Write("1. INSERTAR DATOS");
Console.SetCursorPosition(25, 5);
Console.Write("2. LISTAR DATOS");
Console.SetCursorPosition(25, 6);
Console.Write("3. MODIFICAR DATOS");
Console.SetCursorPosition(25, 7);
Console.Write("4. ELIMINAR DATOS");
Console.SetCursorPosition(25, 8);
Console.Write("5. ORDENAR DATOS");
Console.SetCursorPosition(25, 9);
Console.Write("6. REDIMEN(INSERT/ELIMINAR)");
Console.SetCursorPosition(25, 10);
Console.Write("7. MAYOR/MENOR/PROMEDIO");
Console.SetCursorPosition(25, 11);
Console.Write("8. METODO BURBUJA");
Console.SetCursorPosition(25, 12);
Console.WriteLine("9. Salir");
Console.ForegroundColor = ConsoleColor.Magenta;
Console.SetCursorPosition(25, 14);
Console.Write("Elija opcion:");
}
/// <summary>
/// METODO INSERTAR DATOS VECTOR
/// </summary>
public void insert_dato()
{
int t,limInf,limSup;
Random rd = new Random();
Console.Write("Dimension:");
t = Convert.ToInt32(Console.ReadLine());
edad = new int[t];
Console.Write("Limite Ingerior:");
limInf = Convert.ToInt32(Console.ReadLine());
Console.Write("Limite Superior:");
limSup = Convert.ToInt32(Console.ReadLine());
for( int i=0;i<t;i++)
{
//Console.Write("edad[{0}]=", i);
//edad[i] = int.Parse(Console.ReadLine());
edad[i] = rd.Next(limInf, limSup + 1);
}
}

/// <summary>
/// METODO LISTADO DE DATOS
/// </summary>
public void listar_dato()
{
//Length= obtine la dimension de un vector
for(int i=0;i<edad.Length;i++)
{
Console.Write("{0}\t",edad[i]);
}
}

/// <summary>
/// METODO MODIFICAR DATOS
/// </summary>
public void modif_dato()
{
int dato, pos;
bool sw = false;
char res='n';
listar_dato();
Console.WriteLine();
//Modificar por dato
Console.Write("Dato a modificar:");
dato=int.Parse(Console.ReadLine());
for(int i=0;i<edad.Length;i++)
{
if(edad[i]==dato)
{
Console.WriteLine("Quiere modifica la posicion {0} S/N", i +
1);
res = Convert.ToChar(Console.ReadLine());
if(res=='s' || res=='S')
{
Console.Write("Nuevo dato:");
edad[i] = int.Parse(Console.ReadLine());
sw = true;
}
}
}
if (!sw)
Console.WriteLine("El dato no se encuentra en vector");
else
{
Console.WriteLine();
listar_dato();
}
//Modificar por posicion
Console.Clear();
listar_dato();
Console.WriteLine();
Console.Write("Posicion a modificar:");
pos = Convert.ToInt32(Console.ReadLine());
Console.Write("Nuevo dato:");
edad[pos - 1] = int.Parse(Console.ReadLine());
Console.WriteLine();
listar_dato();

}
/// <summary>
/// METODO ELIMINACION DATO
/// </summary>
public void elim_dato()
{
int dato;
bool sw = false;
char resp='f';
listar_dato();
Console.WriteLine();
Console.Write("Dato a eliminar:");
dato = int.Parse(Console.ReadLine());
for(int i=0;i<edad.Length;i++)
{
if(edad[i]==dato)
{
Console.Write("Desea eliminar la posicion-{0}(S/N)", i + 1);
resp = char.Parse(Console.ReadLine());
if(resp=='s' || resp=='S')
{
edad[i] = -1;
sw = true;
//break;
}
}
}
if (!sw)
Console.WriteLine("Dato no existe en vector");
else
{
Console.WriteLine();
listar_dato();

}
}

public void ord_dato()


{
Console.WriteLine();
listar_dato();
//Array.Sort()=ordena vector forma ascendente
//Array.Reverse()=ordena vector forma descendente
Console.WriteLine("ASCENDENTE");
Array.Sort(edad);
Console.WriteLine();
listar_dato();
Console.WriteLine("DESCENDENTE");
Array.Reverse(edad);
Console.WriteLine();
listar_dato();
}

public void MayMenProm()


{
int suma = 0,promedio;
for(int i=0;i<edad.Length;i++)
{
suma += edad[i];
//suma = suma + edad[i];
}
promedio = suma / edad.Length;
Console.WriteLine("El promedio de edades es {0}", promedio);
Array.Sort(edad);
Console.WriteLine("El edad menor es {0}", edad[0]);
Console.WriteLine("El edad mayor es {0}", edad[edad.Length-1]);
}

public void redimensionar()


{
int auxdato;
// insertar y eliminar en forma fisica
//Array.Resize()=redimensiona el vector
Console.WriteLine();
listar_dato();
Array.Resize(ref edad, edad.Length + 1);
Console.WriteLine();
Console.Write("Dato a agregar:");
edad[edad.Length - 1] = int.Parse(Console.ReadLine());
Console.WriteLine();
listar_dato();
//Array.FindAll()=elimina dato del vector en forma fisica
Console.WriteLine();
Console.Write("Dato a eliminar:");
auxdato = Convert.ToInt32(Console.ReadLine());
edad=Array.FindAll(edad,p=>p!=auxdato).ToArray();
Console.WriteLine();
listar_dato();

public void burbuja()


{
Console.WriteLine();
listar_dato();
int aux;
for(int i=0;i<edad.Length;i++)
{
for(int j=0;j<edad.Length-1;j++)
{
if(edad[j]<edad[j+1])
{
aux = edad[j];
edad[j] = edad[j + 1];
edad[j + 1] = aux;
}
}
}
Console.WriteLine();
listar_dato();
}

/// <summary>
/// METODO PRINCIPAL
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
int op = 0;
Program p = new Program();
do
{
p.menu();

op = int.Parse(Console.ReadLine());
Console.Clear();
switch (op)
{
case 1:
{
Console.Clear();
p.insert_dato();
Console.ReadKey();
Console.Clear();
break;
}
case 2:
{
Console.Clear();
p.listar_dato();
Console.ReadKey();
Console.Clear();
break;
}
case 3:
{
Console.Clear();
p.modif_dato();
Console.ReadKey();
Console.Clear();
break;

}
case 4:
{
Console.Clear();
p.elim_dato();
Console.ReadKey();
Console.Clear();
break;

}
case 5:
{
Console.Clear();
p.ord_dato();
Console.ReadKey();
Console.Clear();
break;
}
case 6:
{
Console.Clear();
p.redimensionar();
Console.ReadKey();
Console.Clear();
break;
}
case 7:
{
Console.Clear();
p.MayMenProm();
Console.ReadKey();
Console.Clear();
break;
}
case 8:
{

Console.Clear();
p.burbuja();
Console.ReadKey();
Console.Clear();
break;
}
case 9: break;
default:
{
Console.Clear();
Console.WriteLine("Opcion no valida");
Console.ReadKey();
Console.Clear();
break;
}
}

} while (op != 9);


}
}
}

You might also like