Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 22

using System;

using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.IO;
using System.Threading;
using System.Diagnostics;

namespace Caja_de_ahorro
{
public class Program
{
public struct Persona
{
public string nombre;
public string apellido ;
public double pesos;
}

static void Main(string[] args)


{
Console.ForegroundColor = ConsoleColor.Green;
MenuInicio();
Console.ReadKey();
}
static void MenuInicio()
{
int opc;
do
{
Console.WriteLine("\n\t\t\t\tBanco 3AC");
Console.WriteLine("\n\t\
t============================================");
Console.WriteLine("\t\t\t\tMenu de Inicio ");
Console.WriteLine("\t\
t============================================");
Console.WriteLine("\n\t\t\t1-Alta Caja de ahorro");
Console.WriteLine("\n\t\t\t2-Bajas");
Console.WriteLine("\n\t\t\t3-Consultas");
Console.WriteLine("\n\t\t\t4-Modificaciones");
Console.WriteLine("\n\t\t\t5-Movimientos");
Console.WriteLine("\n\t\t\t6-Listado estadistico");
Console.WriteLine("\n\t\t\t7-Salir");
Console.Write("\n\t\t\tElija una opción: ");
opc = int.Parse(Console.ReadLine());
switch (opc)
{
case 1:
Console.Clear();
AltaCaja();
break;
case 2:
Console.Clear();
BajaCaja();
break;
case 3:
Console.Clear();
ConsulMenu();
break;
case 4:
Console.Clear();
ModifMenu();
break;
case 5:
Console.Clear();
MovimienMenu();
break;
case 6:
Console.Clear();
MayorImporte();
break;
case 7:
Console.WriteLine("");
break;
default:
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("\n\t\t\tEl numero ingresado no existe,
mire opciones y vuelva a intentarlo");
Console.ForegroundColor = ConsoleColor.Green;
break;
}
Console.ReadLine();
Console.Clear();
} while (opc != 7);
}
static void AltaCaja()
{
FileStream fs = new FileStream("CuentaCliente.txt",
FileMode.OpenOrCreate, FileAccess.ReadWrite);
fs.Close();
StreamReader sr;
bool encontrado = false;
string id, linea, nombre, apellido, fecha, direc, tel, dni;
double peso, dolar, ing;
char[] separador = { '-' };
string[] campos = new string[9];
do
{
Console.WriteLine("\n\t\t\t Alta Caja de Ahorro");
Console.WriteLine("\t\t-----------------------------------------");
sr = File.OpenText("CuentaCliente.txt");
encontrado = false;
Console.Write("\nIngrese el ID: ");
id = Console.ReadLine();
linea = sr.ReadLine();
ing = int.Parse(id);
if (ing >= 1)
{
id = Convert.ToString(ing);
while (linea != null && encontrado == false)
{
campos = linea.Split(separador);
if (campos[0].Trim().Equals(id))
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Ese numero de id ya existe intente
con otro!");
Console.ForegroundColor = ConsoleColor.Green;
encontrado = true;
Console.ReadLine();
Console.Clear();
}
else
{
linea = sr.ReadLine();
}
}
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("El id tiene que empezar desde 1");
Console.ForegroundColor = ConsoleColor.Green;
encontrado = true;
Console.ReadLine();
Console.Clear();
}
sr.Close();
} while (encontrado == true);
StreamWriter sw;
sw = File.AppendText("CuentaCliente.txt”);
Console.Write("Ingrese La fecha (dd/mm/yyyy): ");
fecha = Console.ReadLine();

Console.Write("Ingrese el Nombre: ");


nombre = Console.ReadLine();
Console.Write("Ingrese el Apellido: ");
apellido = Console.ReadLine();
Console.Write("Ingrese el DNI: ");
dni = Console.ReadLine();
Console.Write("Ingrese la Direccion: ");
direc = Console.ReadLine();
Console.Write("Ingrese el Telefono: ");
tel = Console.ReadLine();
Console.Write("Ingrese el Saldo en pesos (los decimales escribalos con
coma): ");
peso = double.Parse(Console.ReadLine());
Console.Write("Ingrese el Saldo en dolares (los decimales escribalos
con coma): ");
dolar = double.Parse(Console.ReadLine());
sw.WriteLine(id + "-" + fecha + "-" + nombre + "-" + apellido + "-" +
dni + "-" + direc + "-" + tel + "-" + peso + "-" + dolar + "-");
sw.Close();
}
static void BajaCaja()
{
FileStream fs = new FileStream("CuentaCliente.txt",
FileMode.OpenOrCreate, FileAccess.ReadWrite);
fs.Close();
StreamReader sr;
StreamWriter sw;

bool encontrado = false;


string id, linea, resto;
char[] separador = { '-' };
string[] campos = new string[9];
sw = File.CreateText("Temp.txt");
sr = File.OpenText("CuentaCliente.txt");
Console.WriteLine("\n\t\t\tBajas");
Console.WriteLine("\t\t--------------------------");
Console.Write("\nIngrese el numero de ID: ");
id = Console.ReadLine();
Console.WriteLine("===============================================");
linea = sr.ReadLine();
while (linea != null && encontrado == false)
{
campos = linea.Split(separador);
if (campos[0].Trim().Equals(id))
{
encontrado = true;
Console.WriteLine("\nCuenta Eliminada...");
Console.WriteLine("***************");
Console.WriteLine("ID de cuenta: " + campos[0].Trim());
Console.WriteLine("Fecha de alta: " + campos[1].Trim());
Console.WriteLine("Nombre: " + campos[2].Trim());
Console.WriteLine("Apellido: " + campos[3].Trim());
Console.WriteLine("Dni: " + campos[4].Trim());
Console.WriteLine("Telelefono: " + campos[6].Trim());
Console.WriteLine("Direccion: " + campos[5].Trim());
Console.WriteLine("Saldo en pesos: " + campos[7].Trim() + "
$");
Console.WriteLine("Saldo en dolar: " + "$ " +
campos[8].Trim());
Console.WriteLine("***************");
resto = sr.ReadToEnd();
sw.WriteLine(resto);
sw.WriteLine("");
}
else
{
sw.WriteLine(linea);
}
linea = sr.ReadLine();
}
if (encontrado == false)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("El ID " + id + " no existe actualmente");
Console.ForegroundColor = ConsoleColor.Green;
}
sw.Close();
sr.Close();
File.Delete("CuentaCliente.txt");
File.Move("Temp.txt", "CuentaCliente.txt");

}
static void ConsulMenu()
{
int opc;
do
{
Console.WriteLine("\
t============================================");
Console.WriteLine("\t\t\tMenu de Consultas");
Console.WriteLine("\
t============================================");
Console.WriteLine("\n\t\t\t1-Consultar Caja de ahorro");
Console.WriteLine("\n\t\t\t2-Consultar Plazo");
Console.WriteLine("\n\t\t\t3-Salir de consultas");
Console.Write("\n\t\t\tElija una opción: ");
opc = int.Parse(Console.ReadLine());
switch (opc)
{
case 1:
Console.Clear();
ConsultasCaja();
break;
case 2:
Console.Clear();
ConsultasPlazo();
break;
case 3:
Console.WriteLine("");
break;
default:
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("\t\t\tEl numero ingresado no existe,
mire las opciones y vuelva a intentarlo");
Console.ForegroundColor = ConsoleColor.Green;
break;
}
if (opc != 3)
{
Console.ReadLine();
Console.Clear();
}
} while (opc != 3);
}
static void ConsultasCaja()
{
FileStream fs = new FileStream("CuentaCliente.txt",
FileMode.OpenOrCreate, FileAccess.Read);
fs.Close();
StreamReader sr;
bool encontrado = false;
string id, linea;
char[] separador = { '-' };
string[] campos = new string[9];
sr = File.OpenText("CuentaCliente.txt");
Console.WriteLine("\n\t\t\tConsultas Cuenta");
Console.WriteLine("\t\t-----------------------------------");
Console.Write("\nIngrese el numero de ID que busca: ");
id = Console.ReadLine();
Console.WriteLine("=======================================");
linea = sr.ReadLine();
while (linea != null && encontrado == false)
{
campos = linea.Split(separador);
if (campos[0].Trim().Equals(id))
{
encontrado = true;
Console.WriteLine("***************");
Console.WriteLine("Id Cuenta: " + campos[0].Trim());
Console.WriteLine("Fecha de alta: " + campos[1].Trim());
Console.WriteLine("Nombre: " + campos[2].Trim());
Console.WriteLine("Apellido: " + campos[3].Trim());
Console.WriteLine("Dni: " + campos[4].Trim());
Console.WriteLine("Telelefono: " + campos[6].Trim());
Console.WriteLine("Direccion: " + campos[5].Trim());
Console.WriteLine("Saldo en pesos: " + campos[7].Trim() + "
$");
Console.WriteLine("Saldo en dolar: " + "$ " +
campos[8].Trim());
Console.WriteLine("***************");
}
else
{
linea = sr.ReadLine();

}
if (encontrado == false)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("El ID " + id + " no existe actualmente");
Console.ForegroundColor = ConsoleColor.Green;
}
sr.Close();
}
static void ConsultasPlazo()
{
FileStream fs = new FileStream("PlazoCliente.txt",
FileMode.OpenOrCreate, FileAccess.Read);
fs.Close();
bool encontrado = false;
StreamReader sr;
string id, linea;
char[] separador = { '-' };
string[] campos = new string[6];

sr = File.OpenText("PlazoCliente.txt");
Console.WriteLine("\n\t\t\tConsultas Plazo Fijo");
Console.WriteLine("\t\t-----------------------------------");
Console.Write("\nIngrese el numero de ID que busca: ");
id = Console.ReadLine();
linea = sr.ReadLine();
while (linea != null && encontrado == false)
{
campos = linea.Split(separador);
if (campos[1].Trim().Equals(id))
{
encontrado = true;
Console.WriteLine("\n*****************");
Console.WriteLine("ID Cuenta: " + campos[0].Trim());
Console.WriteLine("ID Plazo: " + campos[1].Trim());
Console.WriteLine("Saldo en pesos: " + campos[2].Trim());
Console.WriteLine("Saldo en dolares: " + campos[3].Trim());
Console.WriteLine("Plazo en dias: " + campos[4].Trim());
Console.WriteLine("Fecha inicio: " + campos[5].Trim());
Console.WriteLine("*****************");
}
else
{
linea = sr.ReadLine();
}
}
if (encontrado == false)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("El ID " + id + " no existe actualmente");
Console.ForegroundColor = ConsoleColor.Green;
}
sr.Close();

}
static void ModifMenu()
{
int opc;
do
{
Console.WriteLine("\
t============================================");
Console.WriteLine("\t\t\tMenu de Modificaciones");
Console.WriteLine("\
t============================================");
Console.WriteLine("\n\t\t\t1-Nombre");
Console.WriteLine("\n\t\t\t2-Dirección");
Console.WriteLine("\n\t\t\t3-Telefono");
Console.WriteLine("\n\t\t\t4-Salir de modificaciones");
Console.Write("\n\t\t\tElija una opción: ");
opc = int.Parse(Console.ReadLine());
switch (opc)
{
case 1:
Console.Clear();
ModifNombre();
break;
case 2:
Console.Clear();
ModifDirec();
break;
case 3:
Console.Clear();
ModifTelef();
break;
case 4:
Console.WriteLine("");
break;
default:
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("\n\t\t\tEl numero ingresado no existe,
mire las opciones y vuelva a intentarlo");
Console.ForegroundColor = ConsoleColor.Green;
break;
}
if (opc != 4)
{
Console.ReadLine();
Console.Clear();
}

} while (opc != 4);


}
static void ModifTelef()
{
FileStream fs = new FileStream("CuentaCliente.txt",
FileMode.OpenOrCreate, FileAccess.ReadWrite);
fs.Close();
StreamReader sr;
StreamWriter sw;
sw = File.CreateText("Temp.txt");
bool encontrado = false;
string id, linea, telefono, resto;
char[] separador = { '-' };
string[] campos = new string[9];
sr = File.OpenText("CuentaCliente.txt");
Console.WriteLine("\n\t\t\tModificación Telefono");
Console.WriteLine("\n\t\t------------------------------------------");
Console.Write("Ingrese el numero de ID: ");
id = Console.ReadLine();
linea = sr.ReadLine();

while (linea != null && encontrado == false)


{
campos = linea.Split(separador);
if (campos[0].Trim().Equals(id))
{
encontrado = true;
Console.Write("Ingrese el nuevo Telefono: ");
telefono = Console.ReadLine();
sw.WriteLine(campos[0] + "-" + campos[1] + "-" + campos[2] +
"-" + campos[3] + "-" + campos[4] + "-" + campos[5] + "-" + telefono + "-" +
campos[7] + "-" + campos[8]);
Console.Write("\nTelefono Actualizado!");
resto = sr.ReadToEnd();
sw.WriteLine(resto);

}
else
{
sw.WriteLine(linea);
}
linea = sr.ReadLine();
}
if (encontrado == false)
{
Console.WriteLine("El ID " + id + " no existe actualmente");
}
sw.Close();
sr.Close();
File.Delete("CuentaCliente.txt");
File.Move("Temp.txt", "CuentaCliente.txt");
}
static void ModifNombre()
{
FileStream fs = new FileStream("CuentaCliente.txt",
FileMode.OpenOrCreate, FileAccess.ReadWrite);
fs.Close();
StreamReader sr;
StreamWriter t;
t = File.CreateText("Temp.txt");
bool encontrado = false;
string id, linea, nombre, resto;
char[] separador = { '-' };
string[] campos = new string[9];
sr = File.OpenText("CuentaCliente.txt");
Console.WriteLine("\n\t\t\tModificación Nombre");
Console.WriteLine("\n\t\t------------------------------------------");
Console.Write("Ingrese el numero de ID: ");
id = Console.ReadLine();
linea = sr.ReadLine();
while (linea != null && encontrado == false)
{
campos = linea.Split(separador);
if (campos[0].Trim().Equals(id))
{
encontrado = true;
Console.Write("Ingrese el nuevo Nombre: ");
nombre = Console.ReadLine();
t.WriteLine(campos[0] + "-" + campos[1] + "-" + nombre + "-" +
campos[3] + "-" + campos[4] + "-" + campos[5] + "-" + campos[6] + "-" + campos[7] +
"-" + campos[8]);
Console.Write("\nNombre Actualizado!");
resto = sr.ReadToEnd();
t.WriteLine(resto);
}
else
{
t.WriteLine(linea);
}
linea = sr.ReadLine();
}
if (encontrado == false)
{
Console.WriteLine("El ID " + id + " no existe actualmente");
}
t.Close();
sr.Close();
File.Delete("CuentaCliente.txt");
File.Move("Temp.txt", "CuentaCliente.txt");
}
static void ModifDirec()
{
FileStream fs = new FileStream("CuentaCliente.txt",
FileMode.OpenOrCreate, FileAccess.ReadWrite);
fs.Close();
StreamReader sr;
StreamWriter sw;
sw = File.CreateText("Temp.txt");
bool encontrado = false;
string id, linea, direccion, resto;
char[] separador = { '-' };
string[] campos = new string[9];
sr = File.OpenText("CuentaCliente.txt");
Console.WriteLine("\n\t\t\tModificación Direccion");
Console.WriteLine("\n\t\t------------------------------------------");
Console.Write("Ingrese el numero de ID: ");
id = Console.ReadLine();
linea = sr.ReadLine();
while (linea != null && encontrado == false)
{
campos = linea.Split(separador);
if (campos[0].Trim().Equals(id))
{
encontrado = true;

Console.Write("Ingrese la nueva Direccion: ");


direccion = Console.ReadLine();
sw.WriteLine(campos[0] + "-" + campos[1] + "-" + campos[2] +
"-" + campos[3] + "-" + campos[4] + "-" + direccion + "-" + campos[6] + "-" +
campos[7] + "-" + campos[8]);
Console.Write("\nDirección Actualizada!");
resto = sr.ReadToEnd();
sw.WriteLine(resto);

}
else
{
sw.WriteLine(linea);
}
linea = sr.ReadLine();
}
if (encontrado == false)
{
Console.WriteLine("El ID " + id + " no existe actualmente");
}
sw.Close();
sr.Close();
File.Delete("CuentaCliente.txt");
File.Move("Temp.txt", "CuentaCliente.txt");
}
static void MovimienMenu()
{
int opc;
do
{
Console.WriteLine("\
t============================================");
Console.WriteLine("\t\t\tMenu de Movimierntos ");
Console.WriteLine("\
t============================================");
Console.WriteLine("\n\t\t\t1-Depositar");
Console.WriteLine("\n\t\t\t2-Extraer");
Console.WriteLine("\n\t\t\t3-Acreditación de haberes");
Console.WriteLine("\n\t\t\t4-Plazo fijo");
Console.WriteLine("\n\t\t\t5-Pago de servicios");
Console.WriteLine("\n\t\t\t6-Salir de movimientos");
Console.Write("\n\t\t\tElija una opción: ");
opc = int.Parse(Console.ReadLine());
switch (opc)
{
case 1:
Console.Clear();
depositar();
break;
case 2:
Console.Clear();
extraccion();
break;
case 3:
Console.Clear();
AcredHaberes();
break;
case 4:
Console.Clear();
PlazoMenu();
break;
case 5:
Console.Clear();
PagoServicio();
break;
case 6:
Console.WriteLine("");
break;
default:
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("\n\t\t\tEl numero ingresado no existe,
mire las opciones y vuelva a intentarlo");
Console.ForegroundColor = ConsoleColor.Green;
break;
}
if (opc != 6)
{
Console.ReadLine();
Console.Clear();
}
} while (opc != 6);
}
static void depositar()
{
FileStream fs = new FileStream("CuentaCliente.txt",
FileMode.OpenOrCreate, FileAccess.ReadWrite);
fs.Close();
StreamReader sr;
StreamWriter t;
t = File.CreateText("Temp.txt");
bool encontrado = false;
double pesos, dolares, p, d;
string id, linea, resto;
char[] separador = { '-' };
string[] campos = new string[9];
sr = File.OpenText("CuentaCliente.txt");
Console.WriteLine("\n\t\t\tDepositar");
Console.WriteLine("\n\t\t------------------------");
Console.Write("Ingrese el numero de ID de cuenta: ");
id = Console.ReadLine();
linea = sr.ReadLine();
while (linea != null && encontrado == false)
{
campos = linea.Split(separador);
if (campos[0].Trim().Equals(id))
{
encontrado = true;
Console.Write("==================================");
Console.Write("\nIngrese el deposito de pesos: ");
pesos = double.Parse(Console.ReadLine());
Console.Write("Ingrese deposito de dolares: ");
dolares = double.Parse(Console.ReadLine());
p = double.Parse(campos[7]);
d = double.Parse(campos[8]);
p = p + pesos;
d = d + dolares;
t.WriteLine(campos[0] + "-" + campos[1] + "-" + campos[2] + "-"
+ campos[3] + "-" + campos[4] + "-" + campos[5] + "-" + campos[6] + "-" + p + "-" +
d);
resto = sr.ReadToEnd();
t.WriteLine(resto);

}
else
{
t.WriteLine(linea);
}
linea = sr.ReadLine();

}
if (encontrado == false)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("El ID " + id + " no existe actualmente");
Console.ForegroundColor = ConsoleColor.Green;
}
t.Close();
sr.Close();
File.Delete("CuentaCliente.txt");
File.Move("Temp.txt", "CuentaCliente.txt");
}
static void extraccion()
{
FileStream fs = new FileStream("CuentaCliente.txt",
FileMode.OpenOrCreate, FileAccess.ReadWrite);
fs.Close();
StreamReader sr;
StreamWriter t;
t = File.CreateText("Temp.txt");
bool encontrado = false;
double pesos, dolares, p, d;
string id, linea, resto;
char[] separador = { '-' };
string[] campos = new string[9];
sr = File.OpenText("CuentaCliente.txt");
Console.WriteLine("\n\t\t\tExtracción");
Console.WriteLine("\t\t---------------------------------");
Console.Write("Ingrese el numero de ID: ");
id = Console.ReadLine();
linea = sr.ReadLine();
while (linea != null && encontrado == false)
{
campos = linea.Split(separador);
if (campos[0].Trim().Equals(id))
{
encontrado = true;
p = double.Parse(campos[7]);
Console.Write("Ingrese el importe a extraer en pesos: ");
pesos = double.Parse(Console.ReadLine());
while (pesos > p)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("El importe extraido no puede ser mayor
al saldo " + p);
Console.ForegroundColor = ConsoleColor.Green;
Console.Write("Ingrese el importe a extraer en pesos: ");
pesos = double.Parse(Console.ReadLine());

}
d = double.Parse(campos[8]);
Console.Write("Ingrese el importe a extraer en dolares: ");
dolares = double.Parse(Console.ReadLine());
while (dolares > d)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("El importe extraido no puede ser mayor
al saldo {0}", d);
Console.ForegroundColor = ConsoleColor.Green;
Console.Write("Ingrese el importe a extraer en dolares: ");
dolares = double.Parse(Console.ReadLine());
}
p = p - pesos;
d = d - dolares;
t.WriteLine(campos[0] + "-" + campos[1] + "-" + campos[2] + "-"
+ campos[3] + "-" + campos[4] + "-" + campos[5] + "-" + campos[6] + "-" + p + "-" +
d);
resto = sr.ReadToEnd();
t.WriteLine(resto);

}
else
{
t.WriteLine(linea);
}
linea = sr.ReadLine();

}
if (encontrado == false)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("El ID " + id + " no existe actualmente");
Console.ForegroundColor = ConsoleColor.Green;
}
t.Close();
sr.Close();
File.Delete("CuentaCliente.txt");
File.Move("Temp.txt", "CuentaCliente.txt");
}
static void AcredHaberes()
{
FileStream fs = new FileStream("CuentaCliente.txt",
FileMode.OpenOrCreate, FileAccess.ReadWrite);
fs.Close();
StreamReader sr;
StreamWriter t;
t = File.CreateText("Temp.txt");
bool encontrado = false;
double pesos, dolares, p, d;
string id, linea, resto;
char[] separador = { '-' };
string[] campos = new string[9];
sr = File.OpenText("CuentaCliente.txt");
Console.WriteLine("\t\t\tAcreditación de Haberes");

Console.WriteLine("=====================================================");
Console.Write("\nIngrese el numero de ID de cuenta del Empleado: ");
id = Console.ReadLine();
Console.Write("Ingrese la Acreditación en pesos: ");
pesos = double.Parse(Console.ReadLine());
Console.Write("Ingrese la Acreditación en dolares: ");
dolares = double.Parse(Console.ReadLine());
linea = sr.ReadLine();
Console.Write("=====================================================");
while (linea != null && encontrado == false)
{
campos = linea.Split(separador);
if (campos[0].Trim().Equals(id))
{
encontrado = true;
p = double.Parse(campos[7]);
d = double.Parse(campos[8]);
p = p + pesos;
d = d + dolares;
t.WriteLine(campos[0] + "-" + campos[1] + "-" + campos[2] + "-"
+ campos[3] + "-" + campos[4] + "-" + campos[5] + "-" + campos[6] + "-" + p + "-" +
d);
resto = sr.ReadToEnd();
t.WriteLine(resto);
Console.WriteLine("\nAcreditación de Haberes Realizada con
Exito!");
}
else
{
t.WriteLine(linea);
}
linea = sr.ReadLine();

}
if (encontrado == false)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("El ID " + id + " no existe actualmente");
Console.ForegroundColor = ConsoleColor.Green;
}
t.Close();
sr.Close();
File.Delete("CuentaCliente.txt");
File.Move("Temp.txt", "CuentaCliente.txt");
}
static void PagoServicio()
{
FileStream fs = new FileStream("CuentaCliente.txt",
FileMode.OpenOrCreate, FileAccess.ReadWrite);
fs.Close();
StreamReader sr;
StreamWriter t;
t = File.CreateText("Temp.txt");
bool encontrado = false;
double pesos = 0, p, opc;
string id, linea, resto;
char[] separador = { '-' };
string[] campos = new string[9];
sr = File.OpenText("CuentaCliente.txt");
Console.WriteLine("\n\t\t\tPago de Servicios");
Console.WriteLine("\n\t\t----------------------------------");
Console.Write("Ingrese el numero de ID: ");
id = Console.ReadLine();
Console.Write("======================================");

linea = sr.ReadLine();
while (linea != null && encontrado == false)
{
campos = linea.Split(separador);
if (campos[0].Trim().Equals(id))
{
encontrado = true;
Console.WriteLine("\n1-Edesur: $1000");
Console.WriteLine("2-Metrogas: $3500");
Console.WriteLine("3-Telefonica: $1500");
Console.Write("Ingrese el servicio que debe pagar: ");
opc = int.Parse(Console.ReadLine());
switch (opc)
{
case 1: pesos = 1000; break;
case 2: pesos = 3500; break;
case 3: pesos = 1500; break;
default: Console.WriteLine("Ese servicio no existe");
break;
}
p = double.Parse(campos[7]);
if (pesos > p)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("\nEl importe a devitar no puede ser
mayor al saldo {0}", p);
Console.ForegroundColor = ConsoleColor.Green;
}
else
{
p = p - pesos;
t.WriteLine(campos[0] + "-" + campos[1] + "-" + campos[2] +
"-" + campos[3] + "-" + campos[4] + "-" + campos[5] + "-" + campos[6] + "-" + p +
"-" + campos[8]);
resto = sr.ReadToEnd();
t.WriteLine(resto);
}
}
else
{
t.WriteLine(linea);
}
linea = sr.ReadLine();

}
if (encontrado == false)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("El ID " + id + " no existe actualmente");
Console.ForegroundColor = ConsoleColor.Green;
}
t.Close();
sr.Close();
File.Delete("CuentaCliente.txt");
File.Move("Temp.txt", "CuentaCliente.txt");
}
static void PlazoMenu()
{
int opc;
do
{
Console.WriteLine("\
t============================================");
Console.WriteLine("\t\t\tMenu de Plazo Fijo");
Console.WriteLine("\
t============================================");
Console.WriteLine("\n\t\t\t1-Alta Plazo Fijo");
Console.WriteLine("\n\t\t\t2-Renovar Plazo fijo");
Console.WriteLine("\n\t\t\t3-Mover importe");
Console.WriteLine("\n\t\t\t4-Salir de Plazo fijo");
Console.Write("\n\t\t\tElija una opción: ");
opc = int.Parse(Console.ReadLine());
switch (opc)
{
case 1:
Console.Clear();
AltaPlazo();
break;
case 2:
Console.Clear();
renovar();
break;
case 3:
Console.Clear();
MoverImpor();
break;
case 4:
Console.WriteLine("");
break;
default:
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("\n\t\t\tEl numero ingresado no existe,
mire las opciones y vuelva a intentarlo");
Console.ForegroundColor = ConsoleColor.Green;
break;
}
if (opc != 4)
{
Console.ReadLine();
Console.Clear();
}
} while (opc != 4);
}
static void AltaPlazo()
{
FileStream fs = new FileStream("PlazoCliente.txt",
FileMode.OpenOrCreate, FileAccess.ReadWrite);
fs.Close();
StreamReader sr;
StreamReader r;
StreamWriter sw;
StreamWriter t;
string id, linea, idp, resto;
char[] separador = { '-' };
string[] campo = new string[6];
bool encontrado = false;
double pesos, dolares, p, d;
string[] campos = new string[9];
t = File.AppendText("temporal.txt");
sr = File.OpenText("CuentaCliente.txt");
Console.WriteLine("\n\t\t\tAlta Plazo");
Console.WriteLine("\n\t\t-------------------------------");
Console.Write("Escriba el ID Cuenta de Ahorro: ");
id = Console.ReadLine();
Console.Write("Ingrese el Saldo en pesos: ");
pesos = double.Parse(Console.ReadLine());
Console.Write("Ingrese el Saldo en dolares: ");
dolares = double.Parse(Console.ReadLine());
linea = sr.ReadLine();
while (linea != null && encontrado == false)
{
campos = linea.Split(separador);
if (campos[0].Trim().Equals(id))
{
resto = sr.ReadToEnd();
encontrado = true;
p = double.Parse(campos[7]);
d = Convert.ToDouble(campos[8]);
p = p - pesos;
d = d - dolares;
t.WriteLine(campos[0] + "-" + campos[1] + "-" + campos[2] + "-"
+ campos[3] + "-" + campos[4] + "-" + campos[5] + "-" + campos[6] + "-" + p + "-" +
d);
t.WriteLine(resto);
}
else
{
t.WriteLine(linea);
}
linea = sr.ReadLine();
}
t.Close();
sr.Close();
File.Delete("CuentaCliente.txt");
File.Move("temporal.txt", "CuentaCliente.txt");
Console.Write("Escriba el ID del Plazo: ");
idp = Console.ReadLine();
sw = File.AppendText("PlazoCliente.txt");
sw.Write(id + "-" + idp + "-" + pesos + "-" + dolares + "-");
Console.WriteLine("Los Plazos pueden ser de 30, 60 o 90 dias");
Console.Write("Ingrese la cantidad de dias del plazo: ");
sw.Write(int.Parse(Console.ReadLine()) + "-");
Console.Write("Ingrese la fecha de hoy: ");
string fecha = Console.ReadLine();
sw.WriteLine(fecha + "-");
sw.Close();
}
static void renovar()
{
DateTime now;
DateTime start;
FileStream fs = new FileStream("PlazoCliente.txt",
FileMode.OpenOrCreate, FileAccess.Read);
fs.Close();
bool encontrado = false;
StreamReader sr;
StreamWriter t;
string id, linea, f;
char[] separador = { '-' };
string[] campos = new string[6];
t = File.AppendText("tmp.txt");
sr = File.OpenText("PlazoCliente.txt");
Console.WriteLine("\n\t\t\tRenovación Plazo");
Console.WriteLine("\n\t\t-------------------------------");
Console.Write("Ingrese el nro de Plazo que busca: ");
id = Console.ReadLine();
Console.Write("Ingrese la fecha de hoy (dd/mm/yy): ");
f = Console.ReadLine();

linea = sr.ReadLine();
while (linea != null && encontrado == false)
{
campos = linea.Split(separador);
if (campos[1].Trim().Equals(id))
{
encontrado = true;
string resto = sr.ReadToEnd();
int dias = int.Parse(campos[4]);
now = DateTime.Parse(f);
start = DateTime.Parse(campos[5]);
long inicio = start.Ticks;
long fin = now.Ticks;
long dif = fin - inicio;
long term = Convert.ToInt64(start.AddDays(dias).Ticks);
if (fin == term)
{
Console.Write("Ingrese el nuevo plazo: ");
int plazo = int.Parse(Console.ReadLine());
f = now.ToString("dd/MM/yyyy");
t.WriteLine(campos[0] + "-" + campos[1] + "-" + campos[2] +
"-" + campos[3] + "-" + plazo + "-" + f);
t.WriteLine(resto);
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Todavía no termino el plazo");
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("\n*****************");
Console.WriteLine("ID Cuenta: " + campos[0].Trim());
Console.WriteLine("ID Plazo: " + campos[1].Trim());
Console.WriteLine("Saldo en pesos: " + campos[2].Trim());
Console.WriteLine("Saldo en dolares: " + campos[3].Trim());
Console.WriteLine("Plazo en dias: " + campos[4].Trim());
Console.WriteLine("Fecha inicio: " + campos[5].Trim());
Console.WriteLine("*****************");
}
}
else
{
t.WriteLine(linea);
}
linea = sr.ReadLine();
}
if (encontrado == false)
{
Console.WriteLine("El ID " + id + " no existe actualmente");
}
sr.Close();
t.Close();
File.Delete("PlazoCliente.txt");
File.Move("tmp.txt", "PlazoCliente.txt");
}
static void MoverImpor()
{

DateTime now;
DateTime start;
FileStream fs = new FileStream("PlazoCliente.txt",
FileMode.OpenOrCreate, FileAccess.Read);
fs.Close();
bool encontrado = false;
StreamWriter sw;
StreamReader sr;
StreamReader r;
StreamWriter t;
StreamWriter tmp;
string id, linea, f;
char[] separador = { '-' };
string[] campos = new string[6];
string[] campo = new string[9];
t = File.AppendText("t.txt");
tmp = File.AppendText("tmp.txt");
sr = File.OpenText("PlazoCliente.txt");
r = File.OpenText("CuentaCliente.txt");
Console.WriteLine("\n\t\t\tMovimiento de Importe");
Console.WriteLine("\n\t\t-------------------------------");
Console.Write("Ingrese el ID del Plazo que busca: ");
id = Console.ReadLine();
Console.Write("Ingrese la fecha de hoy (dd/mm/yy): ");
f = Console.ReadLine();
linea = sr.ReadLine();
while (linea != null && encontrado == false)
{
campos = linea.Split(separador);
if (campos[1].Trim().Equals(id))
{
encontrado = true;
string resto = sr.ReadToEnd();
int dias = int.Parse(campos[4]);
now = DateTime.Parse(f);
start = DateTime.Parse(campos[5]);
long inicio = start.Ticks;
long fin = now.Ticks;
long dif = fin - inicio;
long term = Convert.ToInt64(start.AddDays(dias).Ticks);
if (fin == term)
{

Console.Write("Ingrese el saldo en pesos a mover: ");


double pesos = double.Parse(Console.ReadLine());
Console.Write("Ingrese el saldo en dolares a mover: ");
double dolares = double.Parse(Console.ReadLine());
double p = double.Parse(campos[2]), d =
double.Parse(campos[3]);
if (dolares <= d && pesos <= p)
{
double dolar = d - dolares, peso = p - pesos;
tmp.WriteLine(campos[0] + "-" + campos[1] + "-" + peso
+ "-" + dolar + "-" + campos[4] + "-" + campos[5]);
tmp.WriteLine(resto);
string fila = r.ReadLine();
bool encon = false;
while (fila != null && encon == false)
{
campo = fila.Split(separador);
if (campo[0] == campos[0])
{

p = double.Parse(campo[7]);
d = double.Parse(campo[8]);
dolar = 0;
peso = 0;
peso = pesos + p;
dolar = dolares + d;
string filas = r.ReadToEnd();
t.WriteLine(campo[0] + "-" + campo[1] + "-" +
campo[2] + "-" + campo[3] + "-" + campo[4] + "-" + campo[5] + "-" + campo[6] + "-"
+ peso + "-" + dolar);
t.WriteLine(filas);
}
else
{
t.Write(fila);
}
fila = r.ReadLine();
}
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Está extrayendo una cantidad mayor
al saldo que existe en la cuenta");
Console.ForegroundColor = ConsoleColor.Green;
}
}
else
{
Console.WriteLine("\nTodavía no termino el plazo");
Console.WriteLine("\n*****************");
Console.WriteLine("ID Cuenta: " + campos[0].Trim());
Console.WriteLine("ID Plazo: " + campos[1].Trim());
Console.WriteLine("Saldo en pesos: " + campos[2].Trim());
Console.WriteLine("Saldo en dolares: " + campos[3].Trim());
Console.WriteLine("Plazo en dias: " + campos[4].Trim());
Console.WriteLine("Fecha inicio: " + campos[5].Trim());
Console.WriteLine("*****************");
}
}
else
{
tmp.WriteLine(linea);
}
linea = sr.ReadLine();
}
if (encontrado == false)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("El ID " + id + " no existe actualmente");
Console.ForegroundColor = ConsoleColor.Green;
}
sr.Close();
t.Close();
r.Close();
tmp.Close();
File.Delete("PlazoCliente.txt");
File.Move("tmp.txt", "PlazoCliente.txt");
File.Delete("CuentaCliente.txt");
File.Move("t.txt", "CuentaCliente.txt");
}
static void MayorImporte() {
FileStream fs = new FileStream("CuentaCliente.txt",
FileMode.OpenOrCreate, FileAccess.ReadWrite);
fs.Close();
StreamReader sr;
sr = File.OpenText("CuentaCliente.txt");
int cont = 0;
string[] campos = new string[9];
char[] separador = { '-' };
string leer;
List<Persona> lista = new List<Persona>();
Console.WriteLine("\n\t\tLos 5 clientes con mayor saldo en pesos");
Console.WriteLine("\n\
t====================================================");
do
{

leer = sr.ReadLine();
if (leer != null)
{
campos = leer.Split(separador);
cont++;
Persona p = new Persona()
{
nombre = campos[2],
apellido = campos[3],
pesos = double.Parse(campos[7]),

};
lista.Add(p);
}
} while (sr.EndOfStream != true);
sr.Close();
if (cont >= 5)
{
var listaOrdenada = lista.OrderByDescending(p => p.pesos).ToList();
for (int f = 0; f < 5; f++)
{
Console.WriteLine("\n{0}", f + 1 + "°\t" +
listaOrdenada[f].nombre + " " + listaOrdenada[f].apellido + "\t\t " +
listaOrdenada[f].pesos + "$");
}
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Para hacer el Listado Completo se necesitan como
minimo 5 registros");
Console.ForegroundColor = ConsoleColor.Green;
}
}

You might also like