Introducción
Las variables y los arreglos ofrecen solo un almacenamiento temporal de los datos; los datos se pierden cuando una variable local queda fuera de alcance o un programa termina. Los archivos y las bases de datos se utilizan para una retención a largo plazo de cantidades grandes de datos.
Jerarquía de datos
Todos los elementos de datos que procesan los computadores se reducen a combinaciones de 0 y de 1. El elemento más pequeño de datos que soporta las computadoras es el digito binario (bit).
Los elementos de datos procesados por las computadoras Los elementos de datos procesados por las computadoras Los elementos de datos procesados por las computadoras forman una jerarquía de datos en la cual los elementos se hacen mas grande y complejos en estructura a medida que progresamos de bits caracteres, de caracteres a campos y de campos hasta llegar a conjuntos de datos mas grandes.
C# considera cada archivo como flujo secuencial de bytes, cuando se abre un archivo se crea un objeto que se asocia con un flujo, existen muchas clases de procesamiento de archivos en FCL, el espacio de nombres System.IO, incluye flujos como StreamReader, StreamWriter y FIleStream.
Estas clases de flujos heredan de las clases Abstract, TextReader, TextWriter y Stream .
Las clases File y Directory
Las clases File puede determinar información acerca de los archivos y puede usarse para abrir archivos en modo de lectura o de escritura, la clase Directory cuenta con herramientas para manipular directorios, el objeto DirectoryInfo devuelto por el método create, Directory contiene información acerca de un directorio, gran parte de la información contenida de la clase DirectoryInfo, también puede utilizarse a través de los métodos de la clase Directory.
Creación de un archivo de texto de acceso secuencial
El programa C# no impone una estructura en los archivos, esto significa que debe estructurar los archivos para cumplir con los requerimientos de sus aplicaciones.
Lectura de datos desde un archivo de texto de acceso secuencial
La clase LeerArchivoAccesoSecuencial lee registros del archivo creado por el programa y después muestra el contenido de cada registro.
Búsqueda de un archivo de acceso secuencial
Para recuperar los datos en forma secuencial de un archivo, lo común es que un programa empiece desde el principio del archivo, leyendo en forma consecutiva hasta los datos deseados. Algunas veces es necesario procesar un archivo en forma secuencial varias veces a cualquier posición en el archivo, cuando se abre un objeto FileStream, su apuntador de posición se establece de posición se establece a la posición byte 0.
Serielización
Un objeto serializado se presenta como una secuencia de bytes que incluye los datos de ese ejemplo así como información acerca del tipo del objeto. Una vez que se escribe un objeto serializado en un archivo, puede leerse desde ese archivo y deserializarse; esto es la información sobre el tipo y los bytes que representan al objeto y sus datos pueden usarse para recrear el objeto en la memoria. La clase BinaryFormatter permite escribir o leer objetos completos en/desde un flujo. El método Serialize de BinaryFormatter leer esta representación de un archivo y reconstruye el objeto original. Ambos métodos lanzan una excepción SerializationExeption si ocurre un error durante la serielización o la deserializacion ambos métodos requieren un objeto stream como parámetro para que el objeto BinaryFormatter pueda acceder al flujo correcto.
Creación de un archivo de acceso secuencial mediante el uso de la serielización de objetos
Clase RegistroSerializable:
En una clase marcada con el atributo Serializable o que implementa la interfaz ISerializable, debemos asegurarnos que toda variable de instancia de la clase también sea serializable. Todas las variables simples y los objetos string son serializables. Para las variables de tipos por referencia, hay que comprobar la declaración de la clase para asegurarnos que el tipo sea serializable, los objetos tipo arreglo son serializables de manera predeterminada, no obstante, si el arreglo contiene referencias a otros objetos, estos podrían no ser o ser serializables.
Ejemplo
using System;
using System.Windows.Forms;
using System.IO;
usiyng BibliotecaBanco;
public partial class LeerArchivosAccesoSecuencialForm : BancoUIForm
{
private FileStream entrada;
private StreamReader archivoReader;
public LeerArchivoAccesoSecuencialForm();
{
InitializeComponent();
}
private void abrirButton:Click(object sender, EventArgs e )
{
OpenFileDialog selectorArchivo ? new OpenFileDialog();
DialogResult resultado = selectorArchivo.ShowDialog();
string nombreArchivo;
if(resultado== DialogResult.Cancel)
return;
nombreArchivo=selectoeArchivo.FileName;
BorrarControlesTextBox();
if(nombreArchivo==""||nombreArchivo==null)
MessageBox.Show("Nombre de archivo invalido", "Error", MessageBoxButtons.Ok, MessajeBoxIcon.Error);
else
{
entrada = nue FileStream(nombreArchivo, FileMode, Open, FileAccess.Read);
archivoReader = new StreamReader(entrada);
abrirButton.Eneabled = false;
siguienteButton.Eneabled= true;
}
}
private void siguienteButton_Click(object sender, EventArgs e)
{
try
{
string registroEntrada = archivoReader.ReadLine();
string [] camposEntrada;
if(registroEntrada!=null)
{camposEntrada=registroEntrada.Split(',');
Registro registro = new Registro(Convert.toInt31(camposEntrada[0], camposEntrada[1], camposEntrada[2],Convert.ToDecimal( camposEntrada[3]));
EstrablecerValoresControlesTextBox(camposEntrada);
}
else
{
archivoReader.Close();entrada.Close();
abrirButton.Eneabled = true;
siguienteButton.Eneabled= false;
BorrarControlesTextBox();
MessageBox.Show("No hay mas registros en el archivo", "", MessageBoxButtons.OK, MessajeBoxIcon.Information);
}
}
catch(IOException)
{
MessageBox.Show( "Error al leer del archivo", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
domingo, 7 de junio de 2009
jueves, 28 de mayo de 2009
ejemplo del resumen
class Program
{
static void Main(string[] args);
private static void guardarTexto437()
{
const string fic = @"E:\tmp\Prueba4.txt";
string texto = "Érase una vez una vieja con un moño...";
System.IO.StreamWriter sw = new System.IO.StreamWriter(fic, false, System.Text.Encoding.GetEncoding(437));
sw.WriteLine(texto);
sw.Close();
}
private static void leerTexto437()
{
const string fic = @"E:\tmp\Prueba4.txt";
string texto;
System.IO.StreamReader sr = new System.IO.StreamReader(fic, System.Text.Encoding.GetEncoding(437), true);
texto = sr.ReadToEnd();
sr.Close();
Console.WriteLine(texto);
}
}
}
{
static void Main(string[] args);
private static void guardarTexto437()
{
const string fic = @"E:\tmp\Prueba4.txt";
string texto = "Érase una vez una vieja con un moño...";
System.IO.StreamWriter sw = new System.IO.StreamWriter(fic, false, System.Text.Encoding.GetEncoding(437));
sw.WriteLine(texto);
sw.Close();
}
private static void leerTexto437()
{
const string fic = @"E:\tmp\Prueba4.txt";
string texto;
System.IO.StreamReader sr = new System.IO.StreamReader(fic, System.Text.Encoding.GetEncoding(437), true);
texto = sr.ReadToEnd();
sr.Close();
Console.WriteLine(texto);
}
}
}
9.4 codigo
class ArregloBidimensional
{
int[,] Tabla;
int IndiceRenglon;
int IndiceColumna;
int I, J;
public ArregloBidimensional()
{
Tabla = new int[1000, 1000];
}
public ArregloBidimensional(int N, int M)
{
Tabla = new int[N, M];
IndiceRenglon = 0;
IndiceColumna = 0;
}
public void IntroduceDato(int R, int C, int X)
{
Tabla[R, C] = X;
}
public int ObtenerDato(int R, int C)
{
return tabla[R, C];
}
public int[,] tabla
{
get { return Tabla; }
set { Tabla = value; }
}
public int IndRenglon
{
get { return IndiceRenglon; }
set { IndiceColumna = value; }
}
public int IndColumna
{
get { return IndiceColumna; }
set { IndiceRenglon = value; }
}
public int SumaRenglon(int R, int NC)
{
int Suma = 0;
int I;
for (I = 0; I < NC; I++)
{
Suma = Suma + Tabla[R, I];
}
return Suma;
}
public int SumaColumna(int NR, int C)
{
int Suma = 0;
int I;
for (I = 0; I < NR; I++)
{
Suma = Suma + Tabla[I, C];
}
return Suma;
}
public int SumaTotal(int N, int M)
{
int I, J;
int Suma = 0;
for (I = 0; I < N; I++)
{
for (J = 0; J < M; J++)
{
Suma = Suma + Tabla[I, J];
}
}
return Suma;
}
public double Mayor(int N, int M)
{
double May = 0;
int AveMay = 0;
int CalleMay = 0;
for (I = 0; I < N; I++)
{
for (J = 0; J < M; J++)
{
if (Tabla[I, J] > May)
{
May = Tabla[I, J];
AveMay = I;
CalleMay = J;
}
}
}
IndiceRenglon = AveMay;
IndiceColumna = CalleMay;
return May;
}
}
}
class Program
{
static void Main(string[] args)
{
int sigue, Ave, Calle, Acc;
ArregloBidimensional Reticula = new ArregloBidimensional(10, 29);
do
{
Console.WriteLine("Registro de incidentes");
Console.WriteLine(" Numero de avenida");
Ave = int.Parse(Console.ReadLine());
Console.WriteLine("Numero de Calle");
Calle = int.Parse(Console.ReadLine());
Console.WriteLine("Numero de Accidentes");
Acc = int.Parse(Console.ReadLine());
Reticula.IntroduceDato(Ave - 1, Calle - 30, Acc);
Console.WriteLine("Presione 1 para continuar");
sigue = int.Parse(Console.ReadLine());
}
while (sigue == 1);
double PrimerMayor = Reticula.Mayor(10, 29);
int PrimerIndice_R = Reticula.IndRenglon;
int PrimerIndice_C = Reticula.IndColumna;
Reticula.tabla[PrimerIndice_R, PrimerIndice_C] = 0;
double SegundoMayor = Reticula.Mayor(10, 29);
int SegundoIndice_R = Reticula.IndRenglon;
int SegundoIndice_C = Reticula.IndColumna;
Reticula.tabla[SegundoIndice_R, SegundoIndice_C] = 0;
double TerceroMayor = Reticula.Mayor(10, 29);
int TerceroIndice_R = Reticula.IndRenglon;
int TerceroIndice_C = Reticula.IndColumna;
Console.WriteLine("El primer mayor es {0}, esta en la avenida {1} y la calle {2}", PrimerMayor, PrimerIndice_R + 1, PrimerIndice_C + 30);
Console.WriteLine("El segundo mayor es {0}, esta en la avenida {1} y la calle {2}", SegundoMayor, SegundoIndice_R + 1, SegundoIndice_C + 30);
Console.WriteLine("El tercero mayor es {0}, esta en la avenida {1} y la calle {2}", TerceroMayor, TerceroIndice_R + 1, TerceroIndice_C + 30);
Console.ReadLine();
}
}
}
{
int[,] Tabla;
int IndiceRenglon;
int IndiceColumna;
int I, J;
public ArregloBidimensional()
{
Tabla = new int[1000, 1000];
}
public ArregloBidimensional(int N, int M)
{
Tabla = new int[N, M];
IndiceRenglon = 0;
IndiceColumna = 0;
}
public void IntroduceDato(int R, int C, int X)
{
Tabla[R, C] = X;
}
public int ObtenerDato(int R, int C)
{
return tabla[R, C];
}
public int[,] tabla
{
get { return Tabla; }
set { Tabla = value; }
}
public int IndRenglon
{
get { return IndiceRenglon; }
set { IndiceColumna = value; }
}
public int IndColumna
{
get { return IndiceColumna; }
set { IndiceRenglon = value; }
}
public int SumaRenglon(int R, int NC)
{
int Suma = 0;
int I;
for (I = 0; I < NC; I++)
{
Suma = Suma + Tabla[R, I];
}
return Suma;
}
public int SumaColumna(int NR, int C)
{
int Suma = 0;
int I;
for (I = 0; I < NR; I++)
{
Suma = Suma + Tabla[I, C];
}
return Suma;
}
public int SumaTotal(int N, int M)
{
int I, J;
int Suma = 0;
for (I = 0; I < N; I++)
{
for (J = 0; J < M; J++)
{
Suma = Suma + Tabla[I, J];
}
}
return Suma;
}
public double Mayor(int N, int M)
{
double May = 0;
int AveMay = 0;
int CalleMay = 0;
for (I = 0; I < N; I++)
{
for (J = 0; J < M; J++)
{
if (Tabla[I, J] > May)
{
May = Tabla[I, J];
AveMay = I;
CalleMay = J;
}
}
}
IndiceRenglon = AveMay;
IndiceColumna = CalleMay;
return May;
}
}
}
class Program
{
static void Main(string[] args)
{
int sigue, Ave, Calle, Acc;
ArregloBidimensional Reticula = new ArregloBidimensional(10, 29);
do
{
Console.WriteLine("Registro de incidentes");
Console.WriteLine(" Numero de avenida");
Ave = int.Parse(Console.ReadLine());
Console.WriteLine("Numero de Calle");
Calle = int.Parse(Console.ReadLine());
Console.WriteLine("Numero de Accidentes");
Acc = int.Parse(Console.ReadLine());
Reticula.IntroduceDato(Ave - 1, Calle - 30, Acc);
Console.WriteLine("Presione 1 para continuar");
sigue = int.Parse(Console.ReadLine());
}
while (sigue == 1);
double PrimerMayor = Reticula.Mayor(10, 29);
int PrimerIndice_R = Reticula.IndRenglon;
int PrimerIndice_C = Reticula.IndColumna;
Reticula.tabla[PrimerIndice_R, PrimerIndice_C] = 0;
double SegundoMayor = Reticula.Mayor(10, 29);
int SegundoIndice_R = Reticula.IndRenglon;
int SegundoIndice_C = Reticula.IndColumna;
Reticula.tabla[SegundoIndice_R, SegundoIndice_C] = 0;
double TerceroMayor = Reticula.Mayor(10, 29);
int TerceroIndice_R = Reticula.IndRenglon;
int TerceroIndice_C = Reticula.IndColumna;
Console.WriteLine("El primer mayor es {0}, esta en la avenida {1} y la calle {2}", PrimerMayor, PrimerIndice_R + 1, PrimerIndice_C + 30);
Console.WriteLine("El segundo mayor es {0}, esta en la avenida {1} y la calle {2}", SegundoMayor, SegundoIndice_R + 1, SegundoIndice_C + 30);
Console.WriteLine("El tercero mayor es {0}, esta en la avenida {1} y la calle {2}", TerceroMayor, TerceroIndice_R + 1, TerceroIndice_C + 30);
Console.ReadLine();
}
}
}
9.3 codigo
class ArregloBidimensional
{
int[,] tabla;
public ArregloBidimensional(int N, int M)
{
tabla = new int[N, M];
}
public void AsignarDato(int R, int C, int X)
{
tabla[R, C] = X;
}
public int ObtenerDato(int I, int J)
{
return tabla[I, J];
}
public int[,] T1
{
get { return tabla; }
set { tabla = value; }
}
public int SumaRengllon(int R, int NC)
{
int suma = 0;
int I;
for (I = 0; I < NC; I++)
{
suma = suma + tabla[R, I];
}
return suma;
}
public int SumaColumna(int NR, int C)
{
int suma = 0;
int I;
for (I = 0; I < NR; I++)
{
suma = suma + tabla[I, C];
}
return suma;
}
public int SumaTotal(int N, int M)
{
int I;
int suma = 0;
for (I = 0; I < N; I++)
{
suma = suma + SumaRengllon(I, M);
}
return suma;
}
}
}
class Arreglo
{
double[] Elemento;
public Arreglo()
{
Elemento = new double[12];
}
public Arreglo(int N)
{
Elemento = new double[N];
}
public void introducirDato(int J, double X)
{
Elemento[J] = X;
}
public void AcumularDato(int J, double X)
{
Elemento[J] = Elemento[J] + X;
}
public double ObtenerDato(int J)
{
return Elemento[J];
}
public double[] elemento
{
get { return Elemento; }
set { Elemento = value; }
}
public double suma(int N)
{
int I;
double sum = 0.0;
for (I = 0; I < N; I++)
{
sum = sum + Elemento[I];
}
return sum;
}
}
}
class Program
{
static void Main(string[] args)
{
int R, C, valor, N, M;
double suma;
Console.WriteLine(" Introduce numero de filas");
M = int.Parse(Console.ReadLine());
Console.WriteLine("Introduce numero de columnas");
N = int.Parse(Console.ReadLine());
ArregloBidimensional A = new ArregloBidimensional(M, N);
Arreglo X = new Arreglo(N);
Arreglo Y = new Arreglo(M);
for (R = 0; R < M; R++)
{
for (C = 0; C < N; C++)
{
Console.Write("Introduce el valor A [{0},{1}]: ", (R + 1), (C + 1));
valor = int.Parse(Console.ReadLine());
A.T1[R, C] = valor;
}
}
Console.WriteLine("Introduce los siguientes valores");
for (C = 0; C < N; C++)
{
Console.Write("X[{0}]:", (C + 1));
valor = int.Parse(Console.ReadLine());
X.introducirDato(C, valor);
}
for (R = 0; R < M; R++)
{
suma = 0.0;
for (C = 0; C < N; C++)
{
suma = suma + A.T1[R, C] * X.ObtenerDato(C);
}
Y.elemento[R] = suma;
}
for (R = 0; R < M; R++)
{
for (C = 0; C < N; C++)
{
Console.WriteLine("Valor [{0},{1}] = {2}", (R + 1), (C + 1), A.ObtenerDato(R, C));
}
}
for (C = 0; C < N; C++)
{
Console.WriteLine("Valor de X[{0}] = {1}", (C + 1), X.ObtenerDato(C));
}
for (R = 0; R < M; R++)
{
Console.WriteLine("Valor Y[{0}] = {1}", (R + 1), Y.ObtenerDato(R));
}
Console.ReadLine();
}
}
}
{
int[,] tabla;
public ArregloBidimensional(int N, int M)
{
tabla = new int[N, M];
}
public void AsignarDato(int R, int C, int X)
{
tabla[R, C] = X;
}
public int ObtenerDato(int I, int J)
{
return tabla[I, J];
}
public int[,] T1
{
get { return tabla; }
set { tabla = value; }
}
public int SumaRengllon(int R, int NC)
{
int suma = 0;
int I;
for (I = 0; I < NC; I++)
{
suma = suma + tabla[R, I];
}
return suma;
}
public int SumaColumna(int NR, int C)
{
int suma = 0;
int I;
for (I = 0; I < NR; I++)
{
suma = suma + tabla[I, C];
}
return suma;
}
public int SumaTotal(int N, int M)
{
int I;
int suma = 0;
for (I = 0; I < N; I++)
{
suma = suma + SumaRengllon(I, M);
}
return suma;
}
}
}
class Arreglo
{
double[] Elemento;
public Arreglo()
{
Elemento = new double[12];
}
public Arreglo(int N)
{
Elemento = new double[N];
}
public void introducirDato(int J, double X)
{
Elemento[J] = X;
}
public void AcumularDato(int J, double X)
{
Elemento[J] = Elemento[J] + X;
}
public double ObtenerDato(int J)
{
return Elemento[J];
}
public double[] elemento
{
get { return Elemento; }
set { Elemento = value; }
}
public double suma(int N)
{
int I;
double sum = 0.0;
for (I = 0; I < N; I++)
{
sum = sum + Elemento[I];
}
return sum;
}
}
}
class Program
{
static void Main(string[] args)
{
int R, C, valor, N, M;
double suma;
Console.WriteLine(" Introduce numero de filas");
M = int.Parse(Console.ReadLine());
Console.WriteLine("Introduce numero de columnas");
N = int.Parse(Console.ReadLine());
ArregloBidimensional A = new ArregloBidimensional(M, N);
Arreglo X = new Arreglo(N);
Arreglo Y = new Arreglo(M);
for (R = 0; R < M; R++)
{
for (C = 0; C < N; C++)
{
Console.Write("Introduce el valor A [{0},{1}]: ", (R + 1), (C + 1));
valor = int.Parse(Console.ReadLine());
A.T1[R, C] = valor;
}
}
Console.WriteLine("Introduce los siguientes valores");
for (C = 0; C < N; C++)
{
Console.Write("X[{0}]:", (C + 1));
valor = int.Parse(Console.ReadLine());
X.introducirDato(C, valor);
}
for (R = 0; R < M; R++)
{
suma = 0.0;
for (C = 0; C < N; C++)
{
suma = suma + A.T1[R, C] * X.ObtenerDato(C);
}
Y.elemento[R] = suma;
}
for (R = 0; R < M; R++)
{
for (C = 0; C < N; C++)
{
Console.WriteLine("Valor [{0},{1}] = {2}", (R + 1), (C + 1), A.ObtenerDato(R, C));
}
}
for (C = 0; C < N; C++)
{
Console.WriteLine("Valor de X[{0}] = {1}", (C + 1), X.ObtenerDato(C));
}
for (R = 0; R < M; R++)
{
Console.WriteLine("Valor Y[{0}] = {1}", (R + 1), Y.ObtenerDato(R));
}
Console.ReadLine();
}
}
}
9.2 codigo
public partial class Form1 : Form
{
Arreglo Articulos = new Arreglo();
ArregloBidimensional Ventas = new ArregloBidimensional(20, 50);
int Num, NumArt, Ven;
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
Num = int.Parse(textBox1.Text);
NumArt = int.Parse(textBox2.Text);
Ven = int.Parse(textBox3.Text);
Ventas.tabla[(Num - 1), (NumArt - 1)] = Ven;
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox1.Focus();
}
private void button1_Click(object sender, EventArgs e)
{
listBox1.Items.Add("Calculo de Sueldo");
listBox1.Items.Add(" Numero Vendedor Total de Venta Sueldo");
int R, C;
double sum, sueldo;
for (R = 0; R < 20; R++)
{
sum = 0.0;
for (C = 0; C < 50; C++)
{
sum = sum + Ventas.ObtenerDato(R, C) * Articulos.ObtenerDato(C);
}
sueldo = sum * 0.05;
listBox1.Items.Add("\t" + (R + 1) + "\t\t" + sum + "\t\t" + sueldo);
}
}
}
}
class ArregloBidimensional
{
int[,] Tabla;
public ArregloBidimensional()
{
Tabla = new int[1000, 1000];
}
public ArregloBidimensional(int N, int M)
{
Tabla = new int[N, M];
}
public void IntroduceDato(int R, int C, int X)
{
Tabla[R, C] = X;
}
public int ObtenerDato ( int R, int C)
{
return Tabla[R,C];
}
public int[,] tabla
{
get { return Tabla; }
set { Tabla = value; }
}
public int SumaRenglon(int R, int NC)
{
int sum = 0;
int I;
for (I = 0; I < NC; I++)
{
sum = sum + Tabla[R, I];
}
return sum;
}
public int SumaColumna(int NR, int C)
{
int sum = 0;
int I;
for (I = 0; I < NR; I++)
{
sum = sum + Tabla[I, C];
}
return sum;
}
public int SumaTotal(int N, int M)
{
int I,J;
int sum = 0;
for (I = 0; I < N; I++)
{
for (J = 0; J < M; J++)
{
sum = sum + Tabla[I,J];
}
}
return sum;
}
}
}
class Arreglo
{
double[] Elementos;
public Arreglo()
{
Elementos = new double[] { 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 };
}
public double[] elemento
{
get { return Elementos; }
set { Elementos = value; }
}
public void AsignarDato(int J, int X)
{
Elementos[J] = X;
}
public double ObtenerDato(int j)
{
return Elementos[j];
}
}
}
{
Arreglo Articulos = new Arreglo();
ArregloBidimensional Ventas = new ArregloBidimensional(20, 50);
int Num, NumArt, Ven;
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
Num = int.Parse(textBox1.Text);
NumArt = int.Parse(textBox2.Text);
Ven = int.Parse(textBox3.Text);
Ventas.tabla[(Num - 1), (NumArt - 1)] = Ven;
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox1.Focus();
}
private void button1_Click(object sender, EventArgs e)
{
listBox1.Items.Add("Calculo de Sueldo");
listBox1.Items.Add(" Numero Vendedor Total de Venta Sueldo");
int R, C;
double sum, sueldo;
for (R = 0; R < 20; R++)
{
sum = 0.0;
for (C = 0; C < 50; C++)
{
sum = sum + Ventas.ObtenerDato(R, C) * Articulos.ObtenerDato(C);
}
sueldo = sum * 0.05;
listBox1.Items.Add("\t" + (R + 1) + "\t\t" + sum + "\t\t" + sueldo);
}
}
}
}
class ArregloBidimensional
{
int[,] Tabla;
public ArregloBidimensional()
{
Tabla = new int[1000, 1000];
}
public ArregloBidimensional(int N, int M)
{
Tabla = new int[N, M];
}
public void IntroduceDato(int R, int C, int X)
{
Tabla[R, C] = X;
}
public int ObtenerDato ( int R, int C)
{
return Tabla[R,C];
}
public int[,] tabla
{
get { return Tabla; }
set { Tabla = value; }
}
public int SumaRenglon(int R, int NC)
{
int sum = 0;
int I;
for (I = 0; I < NC; I++)
{
sum = sum + Tabla[R, I];
}
return sum;
}
public int SumaColumna(int NR, int C)
{
int sum = 0;
int I;
for (I = 0; I < NR; I++)
{
sum = sum + Tabla[I, C];
}
return sum;
}
public int SumaTotal(int N, int M)
{
int I,J;
int sum = 0;
for (I = 0; I < N; I++)
{
for (J = 0; J < M; J++)
{
sum = sum + Tabla[I,J];
}
}
return sum;
}
}
}
class Arreglo
{
double[] Elementos;
public Arreglo()
{
Elementos = new double[] { 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 };
}
public double[] elemento
{
get { return Elementos; }
set { Elementos = value; }
}
public void AsignarDato(int J, int X)
{
Elementos[J] = X;
}
public double ObtenerDato(int j)
{
return Elementos[j];
}
}
}
Suscribirse a:
Comentarios (Atom)

