viernes, 4 de junio de 2010

Proyecto Final de Programación.

Instituto Tecnológico de Tijuana

Departamento de Electrónica y Eléctrica

Programación I

Proyecto Final
“Menú Empresarial de componentes electrónicos”

Integrantes:
Camacho Avila Jose Manuel 09210894
Fomperosa Mendoza Erik Benjamín 09210813
Trujillo Hernandez Carlos Alberto 09210875

El objetivo de este proyecto es un software que proporciona al cliente un menú de componentes electrónicos básicos para que pueda elegir el que guste, la cantidad y el valor del componente (ohm Ω, amperes A, volts V, número de serie, etc.).
           

Algunas de las ventajas son:

·        Fácil uso.
·        Preciso en lo que pide el cliente.
·        Económico.
·        Compatibilidad con cualquier Sistema Operativo.
·        Usa poco espacio.
Solución

Pseudocódigo








FileStream E = new FileStream "H:\\Proyecto.txt", FileMode.Create, FileAccess.Write
StreamWriter D = new StreamWriter(E)
       
p1 = 0, p2 = 0, p3 = 0, p4 = 0, p5 = 0, p6 = 0 int
x1 = 0, x2 = 0, x3 = 0, x4 = 0, x5 = 0, x6 = 0 int
opcion = 0, pagar = 0, I int
p = "" string
total = 0, TOTAL = 0, PR = 0, PT = 0, pagara = 0, x7 = 0 double

try
{
do
{
Print"  Electrónica CAFOT S.A. de C.V."
Print " 1) Resistencias. ------------$0.50"
Print " 2) Capacitores. -------------$1.00"
Print " 3) Circuitos Integrados. ----$5.00"
Print " 4) Placa de cobre. ----------$10.00"
Print " 5) Cautin. ------------------$40.00"
Print " 6) Soldadura (tubo de 50g). -$25.00"
Print " 7) Elegir otro componente. Precio varia"
Print " Si no desea otra orden favor de declarar un cero"
Print "  Elija su No. de Componente: "

Read opcion
switch (opcion)
{
case 1:
Print "No. de resistencias: "
Read p1
total = total + (p1 * 0.50)
Print "Valor de las resistencias (ohms): "
Read x1
break
case 2:
Print "No. de capacitores: "
Read p2
total = total + (p2 * 1.00)
Print "Valor de los capacitores (faradios): "
Read x2
break
case 3:
Print "No. de circuitos integrados: "
Read p3
total = total + (p3 * 5.00)
Print "Numero de los C.I. (solo los 4 num. o 5 num.): "
Read x3
break
case 4:
Print "No. de placas de bronce: "
Read p4
total = total + (p4 * 10.00)
Print "Medida de las placas (largo cm): "
Read x4
Print "Medida de las placas (ancho cm): "
Read x5
break
case 5:
Print "No. de cautines: "
Read p5
total = total + (p5 * 40.00)
break
case 6:
Print "No. de soldaduras: "
Read p6
total = total + (p6 * 25.00)
break
case 7:
Print "Escriba el nombre del componente: "
Read p
Print "Cuantos componentes?: "
Read x6
Print "Valor o numero del componente: "
Read x7
break
case 0:
Console.Clear()

Print " Electrónica CAFOT S.A. de C.V."
Print "No. de componentes  Componente Valor Precio"
Print
if (p1 > 0)
{
Print "{0} Resistencias {1}ohms ${2}", p1, x1, p1 * 0.50
}
if (p2 > 0)
{
Print "{0} Capacitores  {1}faradios ${2}", p2, x2, p2 * 1.00
}
if (p3 > 0)
{
Print "{0} Circuito Integrado {1} ${2}", p3, x3, p3 * 5.00
}
if (p4 > 0)
{
Print "{0} Placa de Cobre {1}x{2} ${3}", p4, x4, x5, p4 * 10.00
}
if (p5 > 0)
{
Print "{0} Cautin --- ${1}", p5, p5 * 40.00
}
if (p6 > 0)
{
Print "{0} Soldadura --- ${1}", p6, p6 * 25.00
}
if (x6 > 0)
{
Print "{0} {1} {2} ---", x6,p, x7
}

Print "  Total es {0}", total + " pesos"
break


default: Print " Eleccion equivocada"
break
}
Clear
}

while (opcion != 0)

Print " Monto a Pagar: " + total + " pesos"
Print " Cómo desea pagar?"
Print
Print "1)T. Débito 2)T. Crédito 3)Efectivo: "
Read pagara

if (pagara == 1 || pagara == 2)
{
Print "Procesando su pago...."
for (I = 0; I <= 4; I++)
{
Print
Print "."
}
Print "Imprimiendo ticket...."
Print "Gracias por su Pago"
Print "Regrese Pronto"
}
else
{
Print "Introduzca su pago: "
Read pagar

TOTAL = pagar - total

if (TOTAL < 0)
{
Print "  Resta pagar: " , TOTAL
Print "  Ingrese su pago restante: "
Read PR

PT = TOTAL + PR

Clear

Print "  Su cambio es de: " , PT , " pesos"
Print "Imprimiendo ticket...."
Print " Gracias por su Preferencia "
}
else
{
Print "  Su cambio es de : " , TOTAL , " pesos"
Print " Imprimiendo ticket...."
Print "  Gracias por su Preferencia"
}
}

Print "Electrónica CAFOT S.A. de C.V."
Print "No. de componentes Componente Valor Precio"

if (p1 > 0)
{
Print "{0} Resistencias {1}ohms ${2}", p1, x1, p1 * 0.50
}
if (p2 > 0)
{
Print "{0} Capacitores  {1}faradios ${2}", p2, x2, p2 * 1.00
}
if (p3 > 0)
{
Print "{0} Circuito Integrado {1} ${2}", p3, x3, p3 * 5.00
}
if (p4 > 0)
{
Print "{0} Placa de Cobre {1}x{2} ${3}", p4, x4, x5, p4 * 10.00
}
if (p5 > 0)
{
Print "{0} Cautin --- \${1}", p5, p5 * 40.00
}
if (p6 > 0)
{
Print "{0} Soldadura --- ${1}", p6, p6 * 25.00
}
if (x6 > 0)
{
Print "{0} {1} {2} ---", x6, p, x7
}

Print “ ”
Print "Total a pagar: {0}", total
Print “ “
if (pagara == 1 || pagara == 2)
{
Print "Su pago: T. Débito o Crédito"
}
else
{
if (TOTAL < 0)
{
Print "Su cambio es de: {0}",PT
}
else
{
Print "Su cambio es de: {0}",TOTAL
}
}

Close

}





catch (IOException e)
{
Print "Error" + e.Messenger
}
finally
{
      If(D != null)
}



Fin


S
Un ejemplo del modo de uso es el siguiente:

En la siguiente imagen muestra el menú principal de algunos componentes básicos teniendo una opción para poder pedir un componente en especifico. Al elegir algún componente y terminar de llenar los datos, el programa lo regresa a la opción de poder elegir otro componente hasta que el cliente declare un cero.

clic para ampliar imagen

En esta imagen se ve como presenta el ticket con los componentes deseados por el cliente con el precio total en cada componente y el precio total a pagar.

clic sobre imagen para ampliar

Aqui se presenta la forma de pago que el cliente desee, puede ser con T. de credito o Debito o tambien en Efectivo.

clic sobre imagen para ampliar

Al final el programa imprime el ticket con la forma de pago y el cambio en un formato .txt (bloc de notas) o tambien puede imprimirse en formato .doc (Word).

clic sobre imagen para ampliar