Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/07/2011, 14:24
rrecarte
 
Fecha de Ingreso: agosto-2008
Mensajes: 367
Antigüedad: 15 años, 8 meses
Puntos: 5
problema con matriz de dos direcciones y ingresar datos

buenas compañeros.. les traigo una duda que me tiene mas que cansado ya que tengo la idea de como se hace pero no me sale....
tengo una matriz de dos direcciones a las cual le ingreso datos de clientes... la matriz es asi

static string[,] clientes = new string[2,4];

y la trabajo asi.


static public void ingreso_clientes()
{
datos();
string opcion="";

for (int x = 0; x < 4; x++)
{
for (int i = 0; i < 2; i++)
{
if (i == 0)
{


Console.Write("ingrese nombre " + (x + 1) + ":");

}
else
{

Console.Write("ingrese cedula " + (x + 1) + ":");

}

clientes [i,x] = Console.ReadLine();

}

Console.WriteLine("");
Console.WriteLine("1) agregar otro cliente");
Console.WriteLine("2) regresar al menu principal");
opcion = Console.ReadLine();

if (opcion == "2")
{
listado_principal();
}
else if (opcion == "1")
{
ingreso_clientes();

}

}

}

ahora mi problemas es el siguiente.. cuando ingreso un cliente nombre, cedula. muestro opciones en pantalla ingresar otro cliente o volver al menu principal... bien hasta ahi todo bien. el problema surge que cuando hago eso si quiero ingresar otro cliente. vuelvo a llamar a el metodo ingresar clientes. entonces. tanto x como i vuelven a valer 0 y nunca tengo mas de un cliente igresado...

tengo la idea que debo creas dos variables
asi
en el program
para que sean estaticas
static int ide1=0;
static int ide2=0;

y utilizarlas asi

for (int x = ide1; x < 4; x++)
{
for (int i = ide2; i < 2; i++)
{

y asignarles el valor en cada vuelta para que no pierdan el valor y x como y conserven el valor siempre que este recorriedo metodos y regrese


pero no consigo que conserven el valor por mas que lo haga asi:


static public void ingreso_clientes()
{
datos();
string opcion="";

for (int x = ide2; x < 4; x++)
{
for (int i =ide1; i < 2; i++)
{
if (i == 0)
{


Console.Write("ingrese nombre " + (x + 1) + ":");
ide1=i;
}
else
{

Console.Write("ingrese cedula " + (x + 1) + ":");
ide2=x;
}

clientes [i,x] = Console.ReadLine();

}

Console.WriteLine("");
Console.WriteLine("1) agregar otro cliente");
Console.WriteLine("2) regresar al menu principal");
opcion = Console.ReadLine();

if (opcion == "2")
{
listado_principal();
}
else if (opcion == "1")
{
ingreso_clientes();

}

}

}


por favor denme una mano porque estoy prearando mi primer entrega de la carrera y esto me tiene todo trancado...

muchas gracias espero me puedan ayudar porque mi cabeza no da mas