Wednesday, October 29, 2008

Practica 7 Consola

Programa que capturas el numero de estaciones cualesquieras y sus meses, capturando el responsable de cada estacion y su produccion, por ultimo desplegara la produccion de cada estacion y cual es la mas productiva..






using System;
using System.Collections.Generic;
using System.Text;

namespace Aplicacion_Consola_Estaciones_de_trabajo
{

class ArregloUnidimensional
{
object[] lista;
public ArregloUnidimensional(int n)
{
lista = new object[n];
}
public void asignarDato(int indice, object dato)
{
lista[indice] = dato;
}
public object obtenerDato(int indice)
{
return lista[indice];
}
public object[] Lista
{
get { return lista; }
set { lista = value; }
}
}

class ArregloBidimensional
{
object[,] Matriz;

public ArregloBidimensional(int M, int N)
{
Matriz = new object[M, N];

}
public void asignarDato(int reng, int col, object dato)
{
Matriz[reng, col] = dato;
}
public object obtenerDato(int reng, int col)
{
return Matriz[reng, col];
}
public object[,] matriz
{
get { return Matriz; }
set { Matriz = value; }
}

}



class Program
{
static void Main(string[] args)
{
object datoNombre;
int suma = 0;
Console.Write("Introduce el numero de estaciones : ");
int num = int.Parse(Console.ReadLine());
Console.Write("introduce el numero de meses a evaluar: ");
int meses = int.Parse(Console.ReadLine());
ArregloBidimensional B = new ArregloBidimensional (num, meses + 1);
ArregloUnidimensional nom = new ArregloUnidimensional (num);
int r, c, datoProd = 0;
for (r = 0; r < num; r++)
{
Console.Write("Nombre del responsable de la estacion {0}: ", r + 1);
datoNombre = Console.ReadLine();
nom.asignarDato(r, datoNombre);
suma = 0;
for (c = 0; c < meses; c++)
{
Console.Write("Produccion del mes {0} :", c + 1);
datoProd = int.Parse(Console.ReadLine());
B.asignarDato(r, c, datoProd);
suma = suma + datoProd;
}
B.asignarDato(r, c, suma);
}
int mayor = 0;
int renglon = 0;
for (r = 0; r < num; r++)
{
suma = (int)B.obtenerDato(r, meses);
if (suma > mayor)
{
mayor = (int)B.obtenerDato(r, meses);
renglon = r;
}
}
Console.WriteLine("\n\nEl numero de estacion con mayor produccion es {0}", renglon + 1);
Console.WriteLine("Nombre del responsable {0} ", nom.obtenerDato(renglon));
Console.WriteLine("Total de la produccion es {0}", mayor);

for (r = 0; r < num; r++)
{
Console.WriteLine("\n\nNo de estacion {0}", r + 1);
Console.WriteLine("Responsable {0}", nom.obtenerDato(r));
Console.WriteLine("Total de la produccion :{0} ", B.obtenerDato(r, meses));

}
Console.ReadLine();

}
}
}

No comments: