Beruflich Dokumente
Kultur Dokumente
PRESENTADO POR
UNIVERSIDAD DE LA SALLE
ING. DISEO Y AUTOMATIZACION ELECTRONICA
BOGOTA, OCTUBRE 2007
PRESENTADO POR
UNIVERSIDAD DE LA SALLE
ING. DISEO Y AUTOMATIZACION ELECTRONICA
BOGOTA, OCTUBRE 2007
TABLA.DE.CONTENIDO
INTRODUCCION
1
PLANTEAMIENTO.DEL.PROBLEMA
1.1
ALCANCE.DEL.PROYECTO
1.2
FORMULACION.DEL.PROBLEMA
JUSTIFICACION.DEL.PROYECTO
OBJETIVOS
3.1
OBJETIVO.GENERAL
3.2
OBJETIVOS.ESPECIFICOS
PRESENTACION.PRELIMINAR.ESQUEMATICA.
DEL.SISTEMA
SISTEMAS.MECANICOS
SISTEMA.DE.ALIMENTACION.DE.MATERIAL
5.1
DESCRIPCION.DEL.PROCESO
5.2
TANQUE.DE.ALIMENTACION.PRINCIPAL
5.3
CALCULO.DE.LA.BOMBA.(MOTOBOMBA)
10
5.3.1
MATERIALES
10
5.3.2
PRESION
11
5.3.3
FLUJO
11
5.3.4
CAUDAL
12
5.3.5
POTENCIA.DEL.MOTOR
12
SISTEMA.DE.AIRE.A.PRESION
13
6.1
CALCULO.DEL.COMPRESOR
13
6.1.1
CONDUCCION.DE.AIRE
13
6.1.2
CAUDAL
13
6.1.3
PRESION
15
6.1.4
POTENCIA
16
ACTUADORES
17
7.1
ACTUADORES.ELECTRICOS
17
7.2
ACTUADORES.NEUMATICOS
17
7.3
VLVULA.3/2.PARA.LOS.ACTUADORES
17
VALVULAS.PARA.EL.PASO.DE.LQUIDO
19
8.1
ELECTROVALVULA.PARA.SALIDA.Y.ENTRADA.
DE.LQUIDO.AL.DOSIFICADO
19
8.2
CHEQUES
20
8.2.1
CHEQUE.VENTANA
20
8.2.2
CHEQUE.RESORTE
22
8.3
VALVULAS.DE.EMBOLO
23
8.3.1
VALVULAS.DE.EMBOLO.2.VIAS
23
8.3.1.1
ESQUEMA.DE.FUNCIONAMIENTO
23
8.3.2
VLVULA.DE.TRES.VIAS
24
8.3.3
MARIPOSA
25
8.3.4
ANALISIS.DINAMICO.VALVULA.DE.EMBOLO
26
8.4
CORTINA
27
8.4.1
ANALISIS.DINAMICO
28
8.5
TIPO.AGUJA
28
8.5.1
ANALISIS.DINAMICO
29
SISTEMA.DE.DOSIFICACION
30
9.1
JERINGA.INDUSTRIAL.(ESTRUCTURA.BASICA.
DE.DOSIFICADOR)
30
ENVASE.DE.DOSIFICACION
30
9.1.1
9.1.2
VSTAGO.DE.EMPUJE
31
9.1.3
DOSIFICACION.POR.SUCCION
32
9.2
MODELOS.DE.SALIDA.Y.ENTRADA.DE.LIQUIDO.
AL.DOSIFICADOR
32
9.2.1
CHEQUE./.CHEQUE
32
9.2.2
CHEQUE./.VALVULA
33
9.2.3
VALVULA.DE.TRES.VIAS
34
9.2.4
VALVULA./.VALVULA
34
9.2.5
VALVULA.MECANIZADA.3/2
35
10
UBICACIN.DOSIFICADOR
37
10.1
ESTRUCTURA.DE.SOPORTE.DEL.DOSIFICADOR
37
10.2
UBICACIN.HORIZONTAL
37
10.3
UBICACIN.VERTICAL
38
11
SISTEMA.DE.SELLADO
39
11.1
SELLADO.VERTICAL
39
11.2
SELLADO.HORIZONTAL
41
11.3
RESISTENCIAS.DE.SELLADO
42
SISTEMAS.DE.CONTROL
44
CIRCUITOS.CONTROL.Y.POTENCIA.PARA.CARGA.
DEL.TANQUE.SUPERIOR
44
12.1
CONTROL
45
12.2
POTENCIA
46
13
SENSOR.DE.NIVEL
47
13.1
FLOTADOR
47
13.2
SENSOR.OPTICO.INFRAROJO
47
13.2.1
ESQUEMA.REFERENTE
48
12
13.2.2
CIRCUITO.DE.CONTROL
49
13.3
FENOMENO.RESISTIVO
49
13.3.1
ESQUEMA.REFERENTE
49
13.3.2
CIRCUITO.DE.CONTROL.Y.ACONDICIONAMIENTO
50
13.4
MODELO.DE.SALIENTE
51
13.4.1
ESQUMA.REFERENTE
51
13.5
TIPO.REED.SWITCH
52
13.5.1
ESQUEMA.REFERENTE
52
13.5.2
CIRCUITO.DE.CONTROL
52
13.6
EFECTO.MAGNETICO
53
13.6.1
ESQUEMA.REFERENTE
54
13.6.2
ACONDICIONAMIENTO
54
13.6.3
CIRCUIO.DE.CONTROL
54
13.7
EFECTO.CAPACITIVO
55
13.7.1
ESQUEMA.REFERENTE
55
13.7.2
ACONDICIONAMIENTO
55
13.7.3
CIRCUITO.DE.CONTROL
56
13.8
SENSOR.DE.ULTRASONIDO
56
13.8.1
ESQUEMA.REFERENTE
56
13.8.2
ACONDICIONAMIENTO
57
13.8.3
CIRCUITO.DE.CONTROL
58
13.8.4
PROBLEMAS.CON.LOS.ULTRASONIDOS
58
13.9
SENSORES.COMERCIALES.DIGITALES
59
13.9.1
CONEXIONADO
60
13.9.2
IMPLEMENTACION.AL.CIRCUITO.DE.CONTROL
61
13.9.2.1 TIPO.PNP
61
13.9.2.2 TIPO.NPN
61
13.9.3
61
INDUCTIVOS.Y.CAPACITIVOS
13.9.3.1 ESQUEMA.INDUCTIVO
62
13.9.3.2 ESQUEMA.CAPACITIVO
63
13.9.4
63
AUTOREFLEX.Y.ULTRASONICO
13.9.4.1 SISTEMA.AUTOREFLEX
64
13.9.4.2 ESQUEMA.DE.INSTALACION
64
13.10
SENSOR.ANALOGO.DE.PESO.(CELDA.DE.CARGA)
65
13.10.1
ACONDICIONAMIENTO
66
13.10.1.1 AMPLIFICADOR.DE.INSTRUMENTACION
66
13.10.2
CIRCUITO.DE.CONTROL
67
14
CICLO.DE.MAQUINA
69
14.1
CONTROL.DEL.PROCESO.DE.ABASTECIMIENTO.
DE.PRODUCTO.HACIA.EL.DOSIFICADO
69
14.1.1
ESQUEMA.REFERENTE
70
14.2
SENSOR.DE.PAPEL
70
14.2.1
ACONDICIONAMIENTO
70
14.2.2
CIRCUITO.DE.CONTROL.E.INTERFASE.PARA.SENSOR.
DE.PAPEL.Y.DE.LIQUIDO.(PARO.DEL.PROCESO)
71
FUENTE.DE.ALIMENTACION.PARA.CIRCUITO.DE.
CONTROL
71
15
ACONDICIONAMIENTO.PARA.ACTUADORES
73
15.1
INVERSOR.DE.GIRO.MOTOR.DC
73
15.2
ELECTROVALVULA.PARA.CONTROL
73
15.2.1
ACCIONAMIENTO.DE.LA.ELECTROVLVULA.D.C.y.A.C
74
15.2.2
ACCIONAMIENTO.DE.LA.ELECTROVLVULA.POR.PC
75
14.2.3
15.3
ACCIONAMIENTO.PARA.VALVULAS.DE.EMBOLO
76
15.3.1
ACCIONAMIENTO.MECANICO
76
15.3.2
ACCIONAMIENTO.CON.ACTUADOR.NEUMTICO.
ROTATIVO
76
15.3.3
ACCIONAMIENTO.LINEAL.NEUMATICO
77
15.3.4
ACTUADOR.LINEAL.ELECTRICO.PION-CREMALLERA
78
15.3.5
ACTUADOR.ROTATIVO.ELECTRICO
78
15.3.5.1 CONTROL.POR.TIEMPO
78
15.3.5.2 CONTROL.POR.FIN.DE.CARRERA
79
15.3.5.3 MOTOR.PASO.A.PASO
80
15.4
ACCIONAMIENTOS.PARA.VALVULA.CORTINA
81
15.5
ACCIONAMIENTO.PARA.VALVULA.AGUJA
83
16
CONTROL.DE.DOSIFICACION
84
16.1
DOSIFICACION.POR.VALVULA.DE.EMBOLO.Y/O.
GUAYA.DE.TRANSMISION
85
16.2
DOSIFICACION.POR.TIEMPO
86
16.2.1
SISTEMA.DE.DOSIFICACION.POR.TIEMPOS.DISCRETOS
86
16.2.2
SISTEMA.DE.DOSIFICACION.POR.TIEMPO.Y.PESO
86
16.3
SISTEMA.DOSIFICADO.POR.SUCCION
88
16.4
CONTROL.DE.DOSIFICACION.POR.FINAL.DE.CARRERA
88
16.4.1
PISTON.DOBLE.EFECTO
90
16.4.2
PISTON.DE.DOBLE.EFECTO.Y.DOBLE.VSTAGO
91
16.4.3
CONTROL.Y.MANDO.DEL.PISTON
91
16.4.4
VELOCIDAD.SISTEMA.DOSIFICADOR.POR.SUCCION
92
16.4.5
CIRCUITO.DE.CONTROL.PARA.EL.DOSIFICADOR.
COMO.PRODUCTO.INDEPENDIENTE
92
16.5
DOSIFICADO.POR.SOPORTE.Y.TORNILLOS.SIN.FIN
93
16.5.1
CONTROL.Y.MANDO
93
16.6
SISTEMA.DE.CONTROL.INDEPENDIENTE.PARA.
EL.DOSIFICADOR.COMO.PRODUCTO.UNICO
94
16.6.1
SALIDA.DEL.DOSIFICADOR
95
16.6.2
SOLUCION.CON.PIC
96
16.6.2.1 DIAGRAMA.DE.FLUJO.PARA.EL.PROGRAMA.EN.EL.PIC
96
16.6.3
97
DISEO.DE.LA.ELECTRONICA.DE.INTERFASE.AL.PIC
16.6.3.1 DISEO.DE.LA.FUENTE
97
16.6.3.2 INVERSORES.DE.GIRO
97
16.6.3.3 ACTIVACION.DE.ELECTROVALVULAS
98
16.6.4
CIRCUITO.FINAL
98
16.6.5
MODELO.FISICO.DE.INTERFASE.CON.EL.USUARIO
99
17
SISTEMA.DE.CONTROL.PARA.EL.SELLADO
102
17.1
RESISTENCIA.DE.CALENTAMIENTO.RAPIDO
103
17.2
RESISTENCIA.DE.CALENTAMIENTO.LENTO
104
17.3
ACONDICIONAMIENTO.DE.TEMPERATURA
104
17.4
SENSOR.DE.BOLSA.PARA.SELLE.AUTOMATICO
105
17.5.
CONTROL.DE.TEMPERATURA.PARA.LAS.SELLADORAS
106
17.5.1
CIRCUITO.ELECTRONICO.DE.CONTROL
110
17.5.2
IMPLEMENTACION.RESULTANTE.PARA.EL.SISTEMA
112
17.5.3
INTERFASE.AL.USUARIO
113
17.5.4
LOGICA.DEL.PROGRAMA.DEL.PIC
113
18
CONTROL.E.INTEGRACION.DE.PROCESOS
114
18.1
DESCRIPCIN.DEL.PC.UTILIZADO
114
18.2
INTERFASE.PARA.SALIDAS.PC
115
18.2.1
ACONDICIONAMIENTO.PARA.NIVELES.DC
116
18.2.2
ACONDICIONAMIENTO.PARA.SEALES.A.C
116
18.2.3
CONTROL.ELECTROVALVULA.DE.LQUIDO
116
18.3
DIAGRAMA.DE.FLUJO.DE.LA.LOGICA.SEL.SISTEMA
117
18.4
PROGRAMAS
119
18.4.1
PROGRAMA.DE.VERIFICACION.DE.ACCIONAMIENTOS.
DEL.SISTEMA
119
18.4.2
PROGRAMA.PARA.CONFIGURACION.DE.LA.MAQUINA
120
18.4.3
PROGRAMA.PRINCIPAL
123
19
SISTEMA.DE.INFORMACION
130
20
PRESUPUESTOS
132
21
ANEXOS
134
21.1
PROBLEMAS.CON.EL.LQUIDO.A.EMPACAR
134
21.2
ERGONOMIA.DEL.AMBIENTE.DE.TRABAJO.ASOCIADO
135
21.3
142
21.4
142
144
21.5
TRANSMISIONES
145
21.6
RACORES
146
21.7
147
159
CODIGO.FUENTE.DEL.SOFTWARE.CONTROL.DE.LA.
MAQUINA
166
21.4.1
21.8
21.9
21.9.1
21.9.2
21.9.3
21.10
21.10.1
PROGRAMA.PARA.PROBAR.LOS.DIFERENTES.
ACCIONISMOS.DEL.SISTEMA
166
PROGRAMA.PARA.MANEJO.DE.TIEMPOS.
CONFIGURACION.DE.LA.MAQUINA
167
PROGRAMA.PRINCIPAL.CON.ARREGLOS.PARA.UNA.
SIMULACION
172
176
PROGRAMA.ACTUALIZACIONES,.NUEVOS.PRODUCTOS,.
ELIMINACION.DE.PRODUCTOS
176
21.10.1.1
INGRESAR.NUEVOS.PRODUCTOS
177
21.10.1.2
ACTUALIZAR.PRODUCTO
180
21.10.1.3
ELIMINAR.PRODUCTO
181
21.10.1.4
OPCIONES.AVANZADAS
181
21.10.1.4.1 CAMBIO.DE.CLAVES
181
21.10.1.4.2 RECUPERACION.POR.FALLOS
182
21.10.1.4.3 GUARDAR.LA.INFORMACION
183
21.10.2
CAMBIO.DE.FECHA
184
21.10.3
FACTURACION/CONSULTAS
184
21.10.3.1
CONSULTAS
184
21.10.3.2
FACTURACION
186
21.10.4
INGRESAR.DATOS.A.INVENTARIOS
191
21.10.5
INVENTARIO
194
21.10.6
RECUPERACION.DE.INVENTARIOS
199
21.10.7
LISTADO.GENERAL
201
21.10.8
CODIGO.FUENTE.DEL.SOFTWARE
201
22
LABORATORIO.DE.DISEO
256
23
CONCLUSIONES
266
24
BIBLIOGRAFIA
269
TABLA DE FIGURAS
FIG 1
FIG 2
FIG 3
FIG 4
10
FIG 5
13
FIG 6.1
17
FIG 6.2
18
FIG 6.3
18
FIG 7
CHEQUE VENTANA
20
FIG 8
21
FIG 10
CHEQUE RESORTE
22
FIG 9
22
FIG 11
23
FIG 12
24
FIG 13
25
FIG 14
27
FIG 15
VALVULA CORTINA
27
FIG 16
28
FIG 17
29
FIG 18
ENVASE DE DOSIFICACION
30
FIG 19
30
30
FIG 21
JERIGA DOSIFICADORA
31
FIG 22
32
FIG 23
32
FIG 24
33
FIG 25
34
FIG 26
34
FIG 27
35
FIG 28
37
FIG 29
UBICACIN HORIZONTAL
37
FIG 30
38
FIG 31
UNBICACION VERTICAL
38
FIG 32
SELLADO VERTICAL
39
FIG 33
40
FIG 34
SELLADO HORIZONTAL
41
FIG 35
ADPATACION DE PISTON
42
FIG 36
44
45
46
FIG 39
48
FIG 40
48
FIG 20
FIG 37
FIG 38
FIG 41
49
FIG 42
50
FIG 43
PRINCIPIO DE PASSCAL
51
FIG 44
MODELO SALIENTE
51
FIG 44
52
FIG 45
52
FIG 46
EFECTO MAGNETICO
54
FIG 47
ACONDICIONAMIENTO MAGNETICO
54
FIG 48
54
FIG 49
EFECTO CAPACITIVO
55
FIG 50
55
FIG 51
56
FIG 52
SENSOR ULTRASONIDO
56
FIG 53
57
FIG 54
58
FIG 55
58
FIG 56
PROBLEMAS DE ULTRASONIDOS
59
FIG 57
60
FIG 58
61
FIG 59
TIPO PNP
61
FIG 60
TIPO NPN
62
FIG 61
62
FIG 63
63
FIG 64
MODELO AUTOREFLEX
64
FIG 65
64
FIG 66
CELDA DE CARGA
65
FIG 67
UBICACIN DE CELDA
65
FIG 68
AMPLIFICADOR.DE.INSTRUMENTACION
66
FIG 69
68
FIG 70
70
FIG 71
70
FIG 72
71
FIG 73
FUENTE ALIMENTACION
72
FIG 74
72
FIG 55
73
FIG 56
ACCIONAMIENTO ACONDICIONADO
75
FIG 57
ACCIONAMIENTO POR PC
75
FIG 58
76
FIG 59
ACCIONAMIENTO.LINEAL.NEUMATICO
77
FIG 60
ACCIONAMIENTO.LINEAL.CON GUAYA
77
FIG 61
79
FIG 62
79
FIG 63
MOTOR.PASO.A.PASO
80
FIG 64
MOTOR.PASO.A.PASO ACONDICIONADO
80
FIG 65
ACCIONAMIENTOS.PARA.VALVULA.CORTINA
82
FIG 66
ACCIONAMIENTO.PARA.VALVULA.AGUJA
83
FIG 67
DOSIFICACION.POR.VALVULA.DE.EMBOLO.Y/O.
GUAYA.DE.TRANSMISION
85
FIG 68
DOSIFICACION.POR.TIEMPO
86
FIG 69
86
FIG 70
SISTEMA.DOSIFICADO.POR.SUCCION
88
FIG 71
CONTROL.DE.DOSIFICACION.POR.FINAL.DE.
CARRERA
88
FIG 72
PISTON.DOBLE.EFECTO
90
FIG 73
PISTON.DE.DOBLE.EFECTO.Y.DOBLE.VSTAGO
91
FIG 74
CONTROL.Y.MANDO.DEL.PISTON
91
FIG 75
CIRCUITO.DE.CONTROL.PARA.EL.DOSIFICADOR.
COMO.PRODUCTO.INDEPENDIENTE
92
DOSIFICADO.POR.SOPORTE.Y.TORNILLOS.
SIN.FIN
93
FIG 77
CONTROL.Y.MANDO DOSIFICADOR
93
FIG 78
95
FIG 79
SOLUCION.CON.PIC DOSIFICADOR
96
FIG 80
DISEO.DE.LA.FUENTE
97
FIG 81
INVERSORES.DE.GIRO
97
FIG 83
ACTIVACION.DE.ELECTROVALVULAS
98
FIG 84
98
FIG 85
MODELO.FISICO.DE.INTERFASE.CON.EL.
USUARIO
99
FIG 86
SISTEMA.DE.CONTROL.PARA.EL.SELLADO
102
FIG 87
103
FIG 88
UBICACIN MICROSWITCH
103
FIG 89
105
FIG 90
105
FIG 91
CONTROL.DE.TEMPERATURA.PARA.LAS.
SELLADORAS
106
107
FIG 76
FIG 92
FIG 93
CONTROL ON/OFF
108
FIG 94
ERROR EXECIVO
109
FIG 95
FUNCION PWM
110
FIG 96
CIRCUITO.ELECTRONICO.DE.CONTROL
110
FIG 97
CIRCUITO.ELECTRONICO.DE.CONTROL Y
CORTADO POR PC
111
FIG 98
VISUALIZACION DE CODIFICADOR
111
FIG 100
112
FIG 99
112
FIG 101
INTERFASE AL USUARIO
113
FIG 102
116
FIG 103
116
FIG 104
116
FIG 105
117
INTRODUCCION
Luego de esta etapa del dosificado, el material se direcciona por medio de una
tubera adaptada en la parte de salida de la dosificacin hacia la zona de
empaque. En esta dicha tubera previamente el usuario ha metido un tubo de
papel de empaque. Esta parte del proceso debe hacerse manualmente ya que
ese punto de investigacin no se ha plasmado en los objetivos de este
proyecto; aunque se procurara que un sistema existente para realizar el
empaque automticamente pueda ser fcilmente adaptable aislando este punto
de la maquina como elemento adicional. Adems esta tubera debe ser
fcilmente adaptable a tamaos distintos de empaque en cuanto a dimetro y
longitud. Dependiendo del tamao y la cantidad de estos se permitir el control
del numero de ciclos de empacado que puede realizarse sin detencin.
Podemos dividir en 2 partes lo ya expuesto: sistema de dosificado y proveer
papel al sistema (proceso manual). Por ultimo una parte 3 que se refiere al rea
de selle y corte. Esta parte de la maquina es un mecanismo similar al de una
guillotina tal que al bajar presiona el papel de empaque y con un elemento
adicionado que se calienta realizando el selle por efecto de temperatura e
inmediatamente despus el corte. Es importante tener en cuenta en este punto
que las diferentes densidades y propiedades del material del papel implican
diferentes temperaturas por lo que debe desarrollarse un sistema de control
para esta variable, que se pretende ms eficiente que los implementados en la
actualidad (de bajo costo y mayor eficiencia). Tambin se debe tener en cuenta
que el tipo de material exigir no solo temperaturas especficas sino que en
ocasiones el proceso requiere selle en caliente y posteriormente selle en fri,
este factor debe tenerse en cuenta en la etapa de control. El sistema de corte
es parte de la estructura de selle dado que la experiencia del experto
proporciona una sencilla, eficiente y econmica solucin que funciona
actualmente para este tipo de empaque.
manejo de inventarios y
El proyecto plantea que cada uno de los sistemas ya expuestos sea adaptable
a las necesidades de modo que sern en su defecto sistemas diferentes que
pueden integrarse al acomodo del cliente y los recursos econmicos asociados.
Por otro lado esta dedicado a empresas que no cuentan con el capital para
adquirir dosificadores de alta tecnologa que en el mercado se encuentran a
costos muy elevados
Por eso se trata de hacer un prototipo econmico pero que su funcionamiento
sea viable y nos de un grado aceptable de exactitud para la buena realizacin
de las labores de dosificacin de lquidos alimenticios.
3. OBJETIVOS
empuje. Al dosificar el liquido este se dirige por entre un tubo al punto de selle y
corte (7). El papel de empaque es de forma tubular y se encuentra alrededor
del tubo por el que viaja el lquido. De tal modo que el usuario debe cargar la
maquina con el papel de empaque. Este en la zona de sellado detecta la bolsa
y sincroniza para proporcionar el selle por temperatura y el seguido corte. El
control de sellado se hace por medio de un pistn neumtico (8) el cual
proporciona el cierre y apertura de las resistencias de sellado (9).
SISTEMA MECANICOS
La bomba o motobomba que utilizamos para este proyecto debe cumplir con
algunos requisitos especficos del sistema los cuales se nombran a
continuacin.
5.3.1
5.3.2
F = m g = mas o menos 10 N
; A= 4,9 cm * 10 mm * 10 mm / cm =
490 mm
5.3.3
5.3.4
y requerimos
empacarlos en bolsas de 500 mLt as que son 100 bolsas. Con una
velocidad de llenado que depender del liquido a empacar y el sistema
de dosificado. Con 7 segundos por empaque obtenemos un total de
700s lo que significa que la bomba debe cargar el tanque de 50Lt en
menor tiempo para que el sistema trabaje sin necesidad de detenerse.
Optamos por la mitad del tiempo aproximada a 360s = 6 minutos. Para
decir as pues que Q = 50lt/6m lo que mas o menos aproxima a un
caudal de 9 litros por minuto.
5.3.5
El compresor que se utiliza para este proyecto debe cumplir con algunos
requisitos especficos del sistema los cuales se nombran a continuacin.
6.1.1
6.1.2
Desde este punto de vista bastara con calcular los volmenes, reas,
velocidades de trabajo deseadas o en su defecto el tiempo de ciclo
requerido.
Por otro lado podemos tener 2 casos bsicamente. Uno en el que el
compresor se encuentra justo al lado de la maquina por lo que las
perdidas de caudal que se presenten en tuberas de distribucin no se
tiene en cuenta. Pero en el caso dos en el que la planta dispone
propiamente de una red de aire las distancias de tubera deben ser
tenidas en cuenta ya que por efectos de condensacin habr un flujo
que es desfogado del sistema y que en su defecto representara perdidas
las cuales deben ser aumentadas en los requerimientos de caudal que
se maneja. En siguiente seccin se explica un poco ms a fondo el caso
en que una red de aire proporciona el aire a presin en el punto deseado
y los factores que debemos tener en cuenta para la elaboracin de dicha
red.
6.1.3
6.1.4
7 ACTUADORES
Fig 6.2.Valvula 3/2 piston simple efecto Fig 6.3.Valvula 3/2 piston doble efecto
Las cavidades para el paso de fluido que las electrovalvulas ofrecen son muy
pequeas y por lo general es complicado conseguir una vlvula elctrica que
presente el sistema de electrovlvula comn utilizado para el paso de aire a
presin en donde los efectos un electroimn posibilitan el taponamiento del
paso pero de un espacio muy reducido ya que de lo contrario la bobina de
electroimn requerir mucha mas fuerza lo que implica los costos se eleven
desfavoreciendo el sentido costo-beneficio. Es por esta misma razn, que
comercialmente cuando se requieren dimetros grandes para el paso de lquido
se remiten a un sistema de activacin acoplado a las vlvulas comerciales que
poseen un sistema manual de activacin. Siendo as, se debe comprar una
vlvula de accin manual en acero inoxidable he implementarle a ella un
sistema especial que permite el cierre y apertura de la misma, lo que resulta
mas econmico.
8.2 CHEQUES
complicado de conseguir en acero inoxidable y por otro lado las partes como
resorte y empaque entran en contacto con el liquido de modo que en el caso de
alimentos no resulta muy optimo. Mas sin embargo se expone el modelo a fin
de poder ser utilizado si el caso lo requiera.
Es una vlvula 2/2, dos vas, dos posiciones. La vlvula de embolo es de uso
comn en la vida cotidiana. Una esfera hueca se aloja en una cavidad esfrica
tambin hueca que posee un par de adaptaciones a lado y lado para ser puesta
como interruptor de paso y no paso de un fluido. Tambin las hay del tipo
cilindro con la misma funcionalidad uno dentro de otro.
La vlvula esfrica en su comportamiento puede verse como una cilndrica ya
que las ranuras son nicamente laterales y en la parte superior es totalmente
maciza.
La vlvula comercial de estudio tiene una articulacin rotacional que por medio
de un acople tipo poligonal, permite que una fuerza externa aplicada en el
eslabn acoplado produzca un torque sobre el embolo que le permite girar para
producir la conmutacin. As que se comporta como una transmisin tipo
palanca. El giro que debe proporcionarse para la conmutacin es de 90,
girando nuevamente los mismos 90 en sentido inverso para la reconmutacin.
La vlvula presenta el inconveniente del desgaste de los empaques por lo que
los expertos recomiendan utilizar otro sistema ms eficiente. Con esta vlvula
tenemos pues el inconveniente del cambio de esta en periodos de 6 a 8 meses.
Otro inconveniente es el torque exigido por la vlvula para ser conmutada. La
fuerza que un actuador externo debe ejercer resulta ser muchas veces mas
elevada de lo que otro tipo de vlvula solicita.
Es una vlvula 3/2 tres vas dos posiciones. La vlvula de tres vas es una
vlvula de embolo con el mismo mecanismo que la nombrada anteriormente,
solo que para este caso el la vlvula posee tres orificios por lo que la vlvula es
capaz de conectar una va con las otras dos pero no al mismo tiempo. El
usuario selecciona el orifico a conectar empleando el mismo mecanismo
8.3.3 MARIPOSA
Tambin podemos afirmar que el torque aplicado debe ser mayor al torque
generado por la inercia del elemento en conjunto con la friccin que ofrecen los
materiales con que se realiza el empaque de la vlvula (elemento que no
permite escapes de fluido)
De tal modo que para una rpida estabilizacin en un punto dado debemos
proporcionar un alto torque logrando as que la grafica llegue a su punto de
equilibrio lo ms rpidamente posible. La aceleracin que debemos
proporcionar al sistema debe ser tambin controlada con el fin de optimizar el
consumo de energa.
8.4 CORTINA
En este caso de la cortina tenemos una transmisin tipo tornillo sin fin de modo
que por medio de un movimiento circular producimos un movimiento lineal en el
elemento actuador. El paso de la rosca nos dar el desplazamiento lineal en
relacin con el nmero de vueltas. En la practica se pudo concluir que para
vlvula de este tipo en pulgada en sus acoples se produce el taponamiento
total de la vlvula con 5 o 6 vueltas. En vlvulas mas grandes, como las
utilizadas en tubera de alcantarillado este numero de vueltas aumenta mas o
menos proporcionalmente al tamao del acople. Mas sin embargo se puede
analizar que el torque ejercido por el operario para abrirla o cerrarla es
muchsimo mas bajo que el que aplicbamos en las vlvulas de embolo.
Adems este torque se presenta constante en todo el proceso de apertura y
cierre. La potencia requerida por los acondicionamientos mecnicos que se
puedan hacer se reduce a mas 10 veces en relacin con el otro tipo de
vlvulas.
La vlvula tipo aguja como nos mostr la grafica anterior posee un estado
normalmente. Es decir que en estado de reposo esta cerrada completamente.
Su mecanismo muestra un resorte interno que se encuentra en compresin de
modo que ejerce la fuerza necesaria para vencer la inercia del selle y mantener
la vlvula cerrada la estructura de la vlvula se opone al desplazamiento de
este resorte generando una fuerza que constantemente existe y se opone al
desplazamiento en la direccin de apertura del selle. Al conmutar la vlvula
este desplazamiento X se hace mayor por lo tanto la fuerza ejercida por el
resorte aumenta. Esta fuerza del resorte aunque se opone a la fuerza ejercida
para abrir la vlvula y dar paso al fluido, resulta pequea realmente por lo que
la energa que debe ser suministrada en la conmutacin es baja.
9. SISTEMA DE DOSIFICACION
9.2.1CHEQUE / CHEQUE
La vlvula de tres vas es una solucin ptima, ya que en este caso se controla
por medio de vlvula la entrada y salida del lquido de forma alternativa. La
vlvula de tres vas exige el mismo sistema de control que implica el sistema
cheque- vlvula de modo que solo se controlara una vlvula. La vlvula en
forma alternativa conecta el dosificador con la entrada para la succin y luego
la salida para el empuje. El inconveniente de esta vlvula radica en lo
complicado para conseguirla en el mercado y ms aun en acero inoxidable. Su
funcionamiento no presenta ms recomendaciones y es considerado el ms
ptimo de todos por su etapa de control, implementacin y fiabilidad. Claro esta
adicionalmente los problemas que presentan las vlvulas de embolo y que ya
fue mencionado en la seccin 8.3.
implementar.
Este sistema nos proporciona un sistema tipo vlvula 4/2 cuatro vas 2
posiciones pero el caso es que es un conjunto de 2 vlvulas 2/2 que se
combinan
en
un
nico
sistema
por
medio
del
cual
se
conmutan
Fig
28.Ubicacin
dosificador
tanque
de
almacenamiento
Luego de que el lquido ha sido dosificado, cae por gravedad a travs del tubo
de salida del dosificador. Este tubo se encuentra revestido por la bolsa en la
cual se empacar el lquido. En el momento en que el lquido toca la bolsa, la
desplaza en forma vertical obligndola a pasar por las resistencias de
sellamiento. Un (sensor bolsita) est ubicado en un punto estratgico, de tal
modo que indica al sistema cuando la bolsita pasa por su zona de sensado.
Luego de esto el sistema espera un corto tiempo configurado por software de
tal modo que la activacin del sellado se produzca en el punto correcto.
La estructura de soporte de todo este sistema no exige una carga muy fuerte;
por lo que no es relevante en cuanto a costos se refiere y ubica el punto de
sellado ms o menos a un metro del piso.
SISTEMAS DE CONTROL
12.1 CONTROL
12.2 POTENCIA
13.1 FLOTADOR
Como primera opcin se utiliza un sensor tipo flotador que nos da una seal en
el que un micro switch tipo rele acciona el rele destinado para la entrada
deseada al sistema de control que seria de 5V para un PC (p.ej). Este tipo de
sensor se consigue fcilmente y a un costo relativamente muy bajo y aunque
pudiese cumplir los requerimientos sanitarios deseados, el hecho de tocar el
lquido implica un desacuerdo en el cliente quien a todo costo quiere mantener
el lquido lo ms posiblemente aislado del contacto con agentes externos.
Este arreglo electrnico para el control debe ser hecho para cada uno de los
tres valores de censado diferente S1, S2 Y S3., el nivel deseado es
simplemente graduado por medio de mi valor de referencia (entrada negativa
en el comparador.
Los valores de alimentacin para el operacional dependen del voltaje con que
trabajan los reles de control S1, S2 Y S3 establecidos en el circuito de control
para la carga de lquido al tanque menor.
Podemos manejar reed switch los cuales por medio de propiedad magnticas
de atraccin genera el contacto de 2 elementos conductores efectuando un
contacto que inmediatamente permite el paso de una seal de control. Por
medio de un par de reed switch se censan los niveles mximo y mnimo del
tanque que son las medidas que el sistema debe controlar.
13.6.2 ACONDICIONAMIENTO
una rectificacin que entra aun comparador que permite relacionar la seal
recibida con el set point estipulado.
13.7.2 ACONDICIONAMIENTO
Como una cuarta opcin tenemos el sistema por ultrasonido. Los sensores de
ultrasonido existentes en el mercado poseen gran cantidad de aplicaciones,
como costos elevados y por lo tanto no se tomaron en cuenta como posible
solucin. Aunque encontramos sensores de ultrasonido tanto digitales como
anlogos, para el caso se requera propiamente el digital, aunque un anlogo
podra tambin utilizarse.
13.8.2 ACONDICIONAMIENTO
Una ltima solucin mas practica pero a la vez la mas costosa aunque nos
brindan confiabilidad y dan solucin al problema planteado. Es importante
hacer claridad que el sensor tipo posee caractersticas tcnicas de construccin
13.9.1 CONEXIONADO
La conexin depende del tipo de la salida del sensor la que puede ser PNP o
NPN.
Una comn solucin es hacer el sensado de nivel por medio del peso ya que
dado que el peso P = mG la masa es proporcional al volumen contenido en el
recipiente de modo que una medida de peso nos dar la cantidad de masa, por
lo tanto el volumen y por lo tanto el nivel del liquido.
Esta nos brinda las ventajas de no estar en contacto con el material de ninguna
manera adems de, la medicin de masa (peso) con alta precisin y ms aun
proporciona mediciones de tipo anlogo. Pero las desventajas son que
usualmente requiere estructura independiente; Solamente mide peso y no mide
nivel de modo que si el material cambia la densidad del liquido produce una
alteracin en el peso sensado y debe hacerse una recalibracin en la etapa de
acondicionamiento. Adems es propenso a afectarse por la intemperie, hielo,
nieve, vientos y temperatura.
13.10.1 ACONDICIONAMIENTO
El voltaje de salida ser VO= - R2/R1 (V1-V2) donde podemos pensar en una
ganancia R2/R1 que en general no viene en el amplificador comercial siendo
as R1 = R2 y la ganancia es = 1.
VA = V1 Y VB =V2 V1 V2 = I*K*R
V1 V2 = I * (R +K*R+R) = I * R * (2+K)
As que sea R1 = R2 podemos afirmar que VO = -(V1-V2)
VO = - ( VI - V2)* R *(2+K) / K*R
Siendo VO = - (V1-V2)*(2/K + 1)
El sensor de bolsa puede ser hecho con una fotorresistencia de modo que por
medio de un comparador damos la seal necesaria para acondicionar al
circuito de control que enva la seal al PC.
14.2.1 ACONDICIONAMIENTO
La corriente entregada debe ser superior a 5A de tal modo que nos provea la
corriente necesaria para actuar las interfases y a la vez dar corriente a los
circuitos de control.
El disparo de una electrovlvula A.C se hace por medio del mismo circuito de
accionamiento del D.C aunque en este caso debemos adicionar un rele, el cual
no requiere mxima corriente por lo que podemos usar un rele pequeo para 1
o 2 Amperios.
El acople que se hace al embolo procura ser una barra lo mas larga posible de
modo que el usuario aplique el torque mas grande posible al girarla.
El siguiente modelo plantea una transmisin un poco mas alejada del cuerpo
de la vlvula. Este sistema puede ser implementado si la ubicacin en forma
cercana resulta complicada. La transmisin se hace por medio de una guaya
similar al sistema empleado para los frenos de una bicicleta en el que se
transmite la fuerza de forma directa.
Los actuadores rotativos elctricos son bsicamente los motores los cuales
pueden ser de corriente continua o corriente alterna. A fin de lograr un torque
necesario para producir la conmutacin de la vlvula usamos preferiblemente el
motor D.C adems que el control de giro y velocidad es mucho mas fcil que si
trabajamos con los motores A.C. en cuanto a costos aunque el motor D.C es
relativamente mas costoso, la diferencia entre precios no es tan alta y al
implementar todo el sistema de control la inversin de giro para un motor A.C
resultara mucho mas cara.
moto queda a un potencial de 0 voltios entre sus dos terminales ya que recibe
la misma seal en ambos puntos es decir Va-Vb = 0 y no se mover.
El motor paso a paso nos ofrece la ventaja del posicionamiento ya que puede
resultar mas fcil el control de la posicin de este con el simple hecho de contar
pasos. A fin de lograr el mximo torque posible utilizamos el modelo de paso
en donde se activan 2 bobinas a la vez.
Sea W = numero de pasos del motor; tendremos que: 360/W = grados por
paso =Gp; para un giro de 90 dara 90/Gp = numero de pasos que debe dar;
por tanto
90 / 360 * W = W / 6; 0 < (W / 6) (Numero de pasos) < 1
Este sistema implica una transmisin de potencia ya que el motor paso a paso
posee menor torque y es aun ms costoso que los otros dos tipos de motores
nombrados, se ha optado por no tenerlo en cuenta.
control
el
mecanismo
dosificador
igualmente
con
el
correspondiente control.
Para el caso en que si resulta relevante la altura del tanque y las dosis
requieren alta exactitud debemos implementar un sensado anlogo del nivel.
Para ello implementamos un a celda de carga explicada en el numeral referido
a sensor de nivel. Claro que en este caso un elemento controlador (PIC)
deber sensar el lquido en todo momento y as mismo determinar el tiempo
que debe abrir la vlvula para proporcionar la dosificacin requerida. La
ecuacin que rige el comportamiento puede ser generalizada pero el factor de
relacin entre peso y el tiempo de dosificado debe ser ingresado por el usuario
y deber ser producto de la practica, por lo tanto el ensamble de este sistema
requerir que se hagan las pruebas pertinentes. Tenga en cuenta que este
factor de relacin es funcin de la viscosidad del fluido y a su vez del nivel de
lquido alojado en el tanque.
Tiempo = peso * (factor de relacin). El peso puede ser variado por software de
tal modo que se presente al usuario como la relacin Tiempo = volumen *
(factor de relacin).
El control exige que la dosis esta completa para proceder a empujar por tanto
el switch del sensor deba abrir el circuito de empuje mientras la llena la dosis.
Luego del llenado de la dosis es posible empujar lquido. Este empuje exige a
su vez un tiempo suficiente para empujar todo el liquido por lo que un
temporizador graduable esta presente en esta parte de control para asegurar el
completo vaciado del dosificador.
Luego de esto el sistema esta listo esperando el pulso que le indique volver a
cargar dosis. En este punto el circuito de empuje esta abierto por lo tanto no
existe el riesgo de tratar de empujar produciendo un comportamiento errneo al
sistema.
16.4.5
CIRCUITO
DE
CONTROL
PARA
EL
DOSIFICADOR
COMO
PRODUCTO INDEPENDIENTE
En la parte baja del dosificador el lquido sale por un orificio ms pequeo. Este
tamao se debe al tamao general de las bolsas para empacar este tipo de
lquidos (refrescos). Por esta razn se utiliza el pistn de empuje para
apresurar la salida del producto.
La parte final del pistn de empuje tiene adaptado un cilindro del tamao del
dosificador para impedir que el lquido se salga por los bordes. A su vez esta
adaptacin tiene una altura suficiente para que por el orificio del costado no se
salga lquido por la parte superior. Esta estructura no es necesariamente
maciza pero el peso ayuda a dar un poco mas de presin al empuje pero no es
necesario.
Lo que si es necesario es que la parte baja del dosificador sea de forma algo
cnica, esto ayuda a aminorar la fuerza de reaccin que el liquido ejerce en
contra (reaccin) del empuje del pistn. Este sistema garantiza que el tiempo
de dosificado y empuje es igual para cada ciclo
Sea cual sea el modelo utilizado el sistema se adapta a cada uno de ellos y
basta con hacer una pequeo cambio en el conexiado de salidas en el sistema.
Es decir que sin hacer ningn cambio en el diseo el usuario tiene la opcin de
conectar a su acomodo segn sea el sistema que desee de salida y entrada de
lquido al dosificador.
Estas vlvulas que debern ser accionadas por medio del de seales de control
en modo automtico y en modo manual se acciona exactamente con el mismo
pulso utilizado por el cilindro que empuja el lquido en el dosificador. De modo
que estas dos operaciones (dosificar y abrir la vlvula) sean simultneas. Por lo
tanto los mandos manuales del dosificador y electro-vlvulas de control deben
estar enclavados mecnicamente o bien accionarse de alguna manera en
forma simultanea. Para el caso en que se utilizan motores se da un tiempo
prudente tal que la apertura de la vlvula se realice primero y luego se realice
el empuje. Al no utilizar presiones muy elevadas es de entender que la ruptura
de una vlvula de estas difcilmente se va a presentar. Los diferentes sistemas
de acondicionamiento se presentaron en el capitulo correspondiente a vlvulas
para el paso de liquido.
el
circuito
la
resistencia
selladora
acta
se
detiene
Para dar forma al selle se utilizan unas mordazas a las que se acondicionan las
resistencias de sellado. Estas mordazas son hechas en bronce ya que este
material permite a la temperatura disolverse de forma mas uniforme sobre
dicho material. adems de esto en el momento de producir el selle el papel de
la bolsa de empaque puede adherirse al bronce as que para ello se utiliza
tefln como recubrimiento al bronce ya que este que es un material que soporta
las altas temperaturas y a la vez impide que la bolsa se pegue a las mordazas.
La fotocelda usada puede ser tipo digital que nos da un valor de 1/0 o bien
anloga. En ambos casos el acondicionamiento se hace por medio de un
comparador de modo que al PC llegue una seal de 5V o 0V.
En este caso el operario debe hacer uso de su practica para determinar los
tiempos correspondientes para el calentamiento a miras de no daar el papel
de empaque y proporcionar a su vez el selle correcto.
algunos manejos
Asumimos que para el control de lquido vamos a utilizar una seal de control,
independientemente del sistema implementado. En el software la aplicacin de
apertura puede ser para vlvula de 3 vas manejada con pistn de simple
efecto. Pero en el caso de dar solucin con otro sistema simplemente en el
software al momento de abrir o cerrar se plantean en forma de funciona si que
en ella se realizan los cambios necesarios y nuestro circuito de control por PC
puede ser fcilmente adaptable a cualquiera de los sistemas planteados.
18.4 PROGRAMAS
18.4.1PROGRAMA
DE
VERIFICACION
DE
ACCIONAMIENTOS
DEL
SISTEMA
En la grafica vemos como al activarse una entrada nos muestra que esta en
ON y si esta apagada muestra el OFF.
El tiempo de espera que nos ayuda a cuadrar el punto exacto donde el sellador
debe cerrarse. Luego de que el sensor de bolsita detecta es posible que no
inmediatamente debamos cerrar el selle, es por esto que este tiempo sirve para
dar la exactitud del punto de selle. Si deseamos trabajar en caliente todo el
tiempo, simplemente hacemos que el tiempo de selle sea el mismo tiempo de
ciclo, de esta manera la resistencia permanecer caliente todo el tiempo.
MENU
SELECCIONAR
ELIMINAR
VISUALIZAR
ESTADO INICIAL
Luego de este tiempo sella en caliente y a la vez entra el cilindro del dosificador
produciendo una succin de lquido. Tambin se produce el cierre de la vlvula
en el dosificador.
Luego de esto el sistema verifica que hay papel y liquido y as puede continuar
y realiza el proceso nuevamente
FINALIZACION
El proyecto como tal ofrece el servicio del sistema de informacin, lo que hace
ms llamativo el producto a nivel de comercializacin.
El usuario no cuenta en sus planes la implementacin de un servicio que
proporcione el manejo de base de datos de algn tipo de informacin que
puede ser beneficiosa para el desarrollo de una pequea o mediana empresa
que pretende implementar automatizacin en el proceso de empaque para los
diferentes productos.
En el software presentado para el control de la maquina integrada el sistema ya
nos permite guardar una pequea informacin sobre el proceso de empacado.
As como lo es la produccin que se realiza a diario y alguna programacin
especifica de maquina que pude ser recuperada segn se desee.
20. PRESUPUESTOS
ESTRUCTURA DE SOPORTE
$ 40.000
FRL $120.000
TOTAL $ 1.580.000
21. ANEXOS
Teniendo en cuenta que como los lquidos que sern utilizados estn
compuestos por azcar, anilina, colorante, saborizante y dems ingredientes,
se hace necesario que en el tanque grande exista una especie de gancho en
acero inoxidable que haga la funcin de batidor, con el fin de que las sustancia
est siempre homognea y sus componentes no se retengan en el fondo del
tanque,
Este batidor esta compuesto por un motor al que se aade un gancho con
aspas de acero inoxidable que se encargarn de batir la sustancia
constantemente.
Bsicamente para el diseo de este batidor debemos tener en cuenta el torque
y velocidad que proporciona.
AMBIENTE SONORO. Asle las fuentes de ruido para que no resulte molesto a
los trabajadores que realizan sus labores en el rea cercana y disminuya el
nivel del ruido ambiental. Revise que las cubiertas de los equipos estn bien
colocadas y ajustadas para evitar el ruido que provoca su vibracin. Los pisos
deben ser de materiales que resulten seguros para transitar y proporcionen el
soporte adecuado para la actividad que se realiza, pero su diseo y el material
no deben generar elevados niveles de ruido al transitar por ellos. Las conchas
para proteccin auditiva representan una mejor proteccin a los niveles
elevados de ruido que los tapones para odos, y permiten su combinacin
adems para los supervisores es fcil monitorear su uso y no se mueven
fcilmente de su lugar. Aunque el odo presenta una forma de proteccin
natural cuando se le somete a niveles elevados de ruido continuo, se debe
evitar los ruidos de impacto, ya que representan un gran riesgo al no permitir
tamao, forma y diseo adecuados para las condiciones en que van a ser
utilizados, considerando que el usuario pueda utilizarlos con el equipo de
seguridad y proteccin personal requerido para la tarea que desarrolla.
Asegrese de que los trabajadores conozcan el significado de las seales de
los tableros de control y que estn capacitados para actuar ante ellas. Tambin
es importante no saturar de informacin por medio de estas seales al
operador. Si el control nicamente responde a dos opciones, como apagado y
encendido, un botn de pulsacin, pedal o interruptor de dos posiciones es el
tipo de control indicado; si se requiere de control gradual o existen ms
opciones no es conveniente utilizar este tipo de controles.
medios
de
agarre
para
varios
operadores
distribuidos
Se utiliza calzado con punta de seguridad para proteger a los pies de riesgos
provocados por la posible cada de objetos o golpes; La suela de seguridad
protege al usuario de lesiones por picos o puntas en el suelo; Si hay riesgo
elctrico y agua o humedad en el piso, se utilizan botas impermeables y
aislantes. Se consideran zapatos al calzado que cubre totalmente el pie, y
Para la red de aire como elementos bsicos a parte del compresor vamos a
utilizar un FRL (filtro-regulador-lubricador) este filtro se sugiere en cada uno de
los bancos de trabajo. FRL esta formado por un filtro, un regulador y lubricador.
Ellos forman una unidad que prepararn las condiciones del aire comprimido
justamente antes de utilizarlo en los equipos neumticos o maquinaria
neumtica. Esto asegura que el suministro de aire sea limpio, la presin sea la
correcta y que partculas finas de aceite limpio sean transportadas en el aire
para lubricar vlvulas, cilindros y herramientas neumticas.
Como tal el filtro es encargado de evitar que partculas de agua pasen a los
elementos finales, as como partculas slidas contaminantes. Estas partculas
decantan a un pequeo envase adherido (generalmente) al filtro el cual debe
ser limpiado con la frecuencia necesaria para mantenerlo libre y vaci para el
correcto funcionamiento. Se adquieren en el mercado filtros automticos que se
auto limpian o purgan en la medida en que se van llenando. En este filtro se
retienen partculas hasta de 1m de dimetro.
En tal caso que se desee implementar una red de aire como tal deben tenerse
en cuenta ciertos aspectos bsicos de instalacin. Estos son:
Se procura que en cada banco de trabajo exista una unidad FRL segn la
necesidad y el filtro coalescente si as se requiriera. La distribucin de aire se
hace por medio de tubera en la que se utiliza el pvc. Es importante tener en
cuenta las curvas que se utilizan las cuales deben evitarse al mximo ya que
en estos ngulos y ms aun en ngulos mayores podra presentarse
fenmenos de turbulencia del aire lo que implicara ms condensacin. En
estas esquinas se recomienda instalar
21.5 TRANSMISIONES
el motor es un
Note que el mximo torque se realiza en la parte externa del anillo en donde es
ms grande la distancia al punto de giro. De esta manera podemos concluir
que al aplicar transmisiones lineales.
21.6 RACORES
Los racores son los puntos de acople para salida y entrada de aire en los
cuales encontramos una estandarizacin de las medidas de dimetro y rosca
que estos pueden tener. Podemos definirlos en pulgadas o en milmetros ya
eecon1
equ
0x08
eecon2
equ
0x09
adcon1
equ
0x1f
dato
equ
0x20
tiempo1
equ
0x21
succin , empuje
tiempo2
equ
0x22
tiempo3
equ
0x23
cambio de PIC
tiempo4
equ
0x24
uni1
equ
0x25
uni2
equ
0x26
dec1
equ
0x27
especificada$$$$$$$$$$$$$$
dec2
equ
0x28
uni3
equ
0x29
uni4
equ
0x2a
ciclos
con1
equ
0x2b
con2
equ
0x2c
enlinea
equ
0x2d
enlinea1 equ
0x2e
unidad
equ
0x2f
decena
equ
0x30
actualizar
cambio
listp=16f877
PC
equ
en
la
parte
numero
equ
0x31
0x02
con3
equ
0x32
estado
equ
0x03
con4
equ
0x33
porta
equ
0x05
con5
equ
0x34
portb
equ
0x06
direccion equ
0x35
portc
equ
0x07
unid3
equ
0x36
portd
equ
0x08
trans1d
equ
porte
equ
0x09
trans1u
equ
intcon
equ
0x0b
trans2d
equ
EEDATA_EECON1 equ
0x0c
trans2u
equ
EEADR_EECON2 equ
0x0d
trans3
equ
trans4
equ
mas1
equ
eedata
equ
eeadr
equ
0x08
0x09
menos1
equ
bcf
portc,trans1d
mas2
equ
bcf
portc,trans2u
menos2
equ
bcf
portc,trans2d
mas3
equ
bcf
portc,trans3
menos3
equ
bcf
portc,trans4
mas4
equ
bsf
portc,trans1d
menos4
equ
movlw
nico
equ
movwf
portd
darciclo equ
salentra equ
md
equ
mi
equ
movwf
portd
equ
call
tiemposs
call
movlw
tiemposs
06h ;1 0000 0110 06 0111 1001
79
setiar
equ
gardar
equ
movwf
org
bcf
estado,6
bsf
movlw
0x80
movwf
portd
;puerto
portd
call
tiemposs
movlw
movwf
portd
call
tiemposs
movlw
movwf
portd
19
de
salida
(visualizacion),
d7=entrada mas1
movlw
0xfe
movwf
portb
movlw
0xc0
movwf
portc
call
tiemposs
movlw
movwf
portd
12
call
tiemposs
movlw
0x07
movwf
portd
movwf
adcon1
call
tiemposs
movlw
0x03
movlw
movwf
porta
movlw
0x03
movwf
portd
movwf
porte
call
tiemposs
bcf
estado,6
movlw
bcf
movwf
portd
;viusualizacion
02
78
call
tiemposs
;pruebas1
movlw
bcf
intcon,7
movwf
portd
movlw
0x00
call
tiemposs
movwf
tiempo1
bcf
portc,trans1d
movlw
0x00
clrf
uni4
movwf
tiempo2
movlw
0x00
call
cargartiempos
movwf
tiempo3
call
llenardecuni
movlw
0x00
movwf
tiempo4
btfss
portc,unico
clrf
porta
call
elciclo
clrf
porte
btfss
portc,darciclo
bcf
portc,trans1u
call
elciclo
inicio
;inicialmente
rutina
btfsc
bcf
porta,e
bsf
porte,2
incf
tiempo1,1
bsf
porta,mi
btfss
call
tiempocerrar
bcf
porta,mi
decf
tiempo1,1
bcf
porte,2
btfsc
bcf
porta,2
return
tiempo2,1
btfsc
derecho
bcf
porta,2
bsf
porte,2
decf
tiempo2,1
bsf
porta,md
btfsc
call
tiempoabrir
bcf
porta,md
bcf
porte,2
bsf
porta,e
tiempo3,1
btfsc
der
decf
tiempo3,1
call
visualizo
btfsc
btfsc
porte,1
goto
der
incf
tiempo4,1
bcf
porta,e
btfsc
bsf
porte,2
bsf
porta,mi
tiempo4,1
call
tiempocerrar
btfss
porta,setiar
bcf
porta,mi
call
cargartiempos
bcf
porte,2
btfss
porta,gardar
bcf
porta,2
call
cambiartiempos1
return
btfsc
porte,0
call
tienda
btfsc
porte,1
call
tienda
;$$$$$$$$$$$$$$$$$$$$$
cargartiempos
;selleciona la secuencia a cargar el set
y listo funcionando.
call
tiemposs
call
tiemposs
call
tiemposs
call
llenardecuni
call
tiemposs
call
visualizo
clrf
direccion
goto
rutina
movf
uni4,0
movwf
con5
btfss
porte,0
incf
con5,1
goto
derecho
decfsz
con5,1
bsf
porta,2
goto
cualx
bsf
porte,2
goto
estex
call cambiartiempos
tienda
cualx
bsf
porta,md
call
tiempoabrir
incf
direccion,1
bcf
porta,md
incf
direccion,1
bcf
porte,2
incf
direccion,1
bsf
porta,e
decfsz
con5,1
goto
cualx
izq
estex
call
visualizo
btfsc
porte,0
movf
direccion,0
goto
izq
bsf
estado,6 ;
bsf
estado,5
bcf
estado,5 ;
movwf
EEADR_EECON2 ;
bsf
estado,5 ;
btfsc
bcf
EEDATA_EECON1,7
goto
bsf
EEDATA_EECON1,0 ;
bcf
estado,5
bcf
estado,6
atril0
lee1
EEDATA_EECON1,1
atril0
btfsc
EEDATA_EECON1,0
movf
direccion,0
goto
lee1
bsf
estado,6
bcf
estado,5 ;
movwf
EEADR_EECON2
movf
EEDATA_EECON1,0
bcf
estado,6
bcf
estado,5
movf
tiempo1,0
bcf
estado,6 ;bank0
bsf
estado,6
movwf
tiempo1
movwf
EEDATA_EECON1
incf
direccion,1
bsf
estado,5
movf
direccion,0
bcf
EEDATA_EECON1,7
bsf
estado,6 ;
bcf
estado,5 ;
bsf
EEDATA_EECON1,2
movwf
EEADR_EECON2 ;
bsf
estado,5 ;
bcf
intcon,7
bcf
EEDATA_EECON1,7
movlw
0x55
bsf
EEDATA_EECON1,0 ;
;MOVLW 0x55
;Write 55h to
lee2
btfsc
EEDATA_EECON1,0
movwf
goto
lee2
;MOVWF EECON2
bcf
estado,5 ;
;EECON2
movf
EEDATA_EECON1,0
movlw
bcf
estado,5
;MOVLW 0xAA
bcf
estado,6 ;bank0
;Write AAh to
movwf
tiempo2
movwf
incf
direccion,1
;MOVWF EECON2
movf
direccion,0
;EECON2
bsf
estado,6 ;
bsf
bcf
estado,5 ;
;BSF EECON1, WR
movwf
EEADR_EECON2 ;
bsf
estado,5 ;
bsf
bcf
EEDATA_EECON1,7
bsf
EEDATA_EECON1,0 ;
atril1
btfsc
EEDATA_EECON1,0
goto
lee3
goto
bcf
estado,5 ;
;write to finish
movf
EEDATA_EECON1,0
bcf
estado,5
bcf
estado,6 ;bank0
bcf
movwf
tiempo3
incf
direccion,1
bcf
estado,5
return
bcf
estado,6
cambiartiempos
incf
direccion,1
btfsc
lee3
clrf
direccion
;*************************
bsf
estado,6
EEADR_EECON2
0xAA
EEADR_EECON2
EEDATA_EECON1,1
intcon,7
;BSF INTCON,
EEDATA_EECON1,1
atril1
EEDATA_EECON1,2
;*****************
bsf
estado,6
bsf
estado,5
;BSF
STATUS,
btfsc
RP0
EEDATA_EECON1,1
;Bank 3
goto
atril2
btfsc
atril3
;write to finish
EEDATA_EECON1,1
atril2
bcf
;write to finish
bcf
estado,5
EEDATA_EECON1,2
;BCF
bcf
estado,5
bcf
estado,6
;bank0
bcf
estado,6
movf
direccion,0
;MOVF ADDR,
incf
direccion,1
bsf
estado,6
W ;Address to
bsf
estado,6
movwf
EEADR_EECON2
;BSF
STATUS, RP1
;bank2
bsf
estado,5
;BSF
atril4
bcf
estado,6
movf
tiempo2,0
bsf
estado,6
movwf
EEDATA_EECON1
;VALUE,
btfsc
EEDATA_EECON1,1
;Data to
goto
;write to finish
bcf
estado,5
;BSF
EEDATA_EECON1,7
EEDATA_EECON1,2
estado,6
;bank0
movf
direccion,0
;MOVF ADDR,
bsf
estado,6
;bank2
movwf
EEADR_EECON2
bcf
estado,6
movf
tiempo3,0
0x55
bsf
estado,6
movwf
EEDATA_EECON1
;MOVLW 0x55
;Write 55h to
bsf
movwf
bcf
estado,5
;BSF
EEDATA_EECON1,7
;EECON2
memory
0xAA
;MOVLW 0xAA
bsf
;Write AAh to
movwf
EEDATA_EECON1,2
EEADR_EECON2
;MOVWF EECON2
;EECON2
bcf
bsf
EEDATA_EECON1,1
0x55
;MOVLW 0x55
intcon,7
;BSF INTCON,
;BCF INTCON,
;BSF EECON1, WR
bsf
EEADR_EECON2
;MOVWF EECON2
movlw
;VALUE,
;Data to
bcf
bcf
;BCF
W ;Address to
memory
bsf
estado,5
atril4
;Write 55h to
movwf
atril3
;MOVWF EECON2
;EECON2
EEADR_EECON2
movlw
bcf
0xAA
estado,5
;BCF
;MOVLW 0xAA
;Write AAh to
bcf
estado,6
;bank0
movwf
movf
direccion,0
;MOVF ADDR,
bsf
estado,6
;bank2
movwf
EEADR_EECON2
EEADR_EECON2
W ;Address to
;MOVWF EECON2
;EECON2
bsf
EEDATA_EECON1,1
;BSF EECON1, WR
bcf
estado,6
movf
tiempo1,0
bsf
intcon,7
;BSF INTCON,
;VALUE,
;Data to
bsf
estado,6
atril5
movwf
EEDATA_EECON1
btfsc
EEDATA_EECON1,1
bsf
estado,5
;BSF
atril5
bcf
;write to finish
EEDATA_EECON1,7
bsf
EEDATA_EECON1,2
EEDATA_EECON1,2
estado,5
bcf
estado,6
incf
direccion,1
bcf
intcon,7
return;
movlw
;************
0x55
;MOVLW 0x55
cambiartiempos1
clrf
direccion
;Write 55h to
movf
uni4,0
movwf
movwf
con5
;MOVWF EECON2
incf
con5,1
;EECON2
decfsz
con5,1
movlw
goto
cualy
;MOVLW 0xAA
goto
estey
;Write AAh to
EEADR_EECON2
0xAA
movwf
cualy
EEADR_EECON2
incf
direccion,1
;MOVWF EECON2
incf
direccion,1
;EECON2
incf
direccion,1
decfsz
con5,1
goto
cualy
bsf
EEDATA_EECON1,1
EECON1, WR
bsf
intcon,7
;*************************
atril11
estado,6
;BSF
bsf
btfsc
;BSF INTCON,
EEDATA_EECON1,1
STATUS, RP1
estado,5
;BSF
goto
atril11
;write to finish
atril10
btfsc
EEDATA_EECON1,1
atril10
;write to finish
EEDATA_EECON1,2
;BSF
estey
bsf
;BCF INTCON,
estado,5
bcf
estado,6
goto
incf
direccion,1
bcf
;*****************
bsf
estado,6
;BSF
STATUS, RP1
bsf
estado,5
;BSF
atril14
estado,5
bcf
estado,6
movf
direccion,0
bsf
estado,6
movwf
EEADR_EECON2
bcf
estado,6
atril12
movf
tiempo3,0
btfsc
EEDATA_EECON1,1
atril12
;write to finish
bcf
estado,5
bsf
estado,6
movwf
EEDATA_EECON1
bsf
estado,5
bcf
EEDATA_EECON1,7
bsf
EEDATA_EECON1,2
;BCF
estado,6
;bank0
movf
direccion,0
;MOVF ADDR,
bcf
intcon,7
movlw
0x55
movwf
EEADR_EECON2
movlw
0xAA
movwf
EEADR_EECON2
bcf
estado,6
bsf
EEDATA_EECON1,1
movf
tiempo2,0
bsf
intcon,7
bsf
estado,6
movwf
EEDATA_EECON1
W ;Address to
bsf
estado,6
movwf
EEADR_EECON2
;bank2
;VALUE,
;Data to
atril15
btfsc
goto
estado,5
;BSF
bcf
EEDATA_EECON1,2
bcf
estado,5
bcf
estado,6
incf
direccion,1
EEDATA_EECON1,7
EEDATA_EECON1,1
atril15
EEDATA_EECON1,2
return;
bcf
intcon,7
movlw
0x55
call
secuenciax
movwf
EEADR_EECON2
btfsc
portc,unico
movlw
0xAA
return
movwf
EEADR_EECON2
bsf
EEDATA_EECON1,1
bsf
intcon,7
movf
atril13
btfsc
EEDATA_EECON1,1
uni3,0
ciclon
movlw
0x20
movwf
con4
triciclo
call
tiempoespera
bcf
EEDATA_EECON1,2
decfsz
con4,1
bcf
estado,5
goto
triciclo
bcf
estado,6
decfsz uni3,1
incf
direccion,1
goto
ciclon
bsf
estado,6
call
tiempoespera
bsf
estado,5
call
tiempoespera
call
tiempoespera
call
tiempoespera
goto
atril13
atril14
btfsc
EEDATA_EECON1,1
call
tiempoespera
call
llenadau
call
tiempoespera
movf
decena,0
call
tiempoespera
movwf
dec2
call
tiempoespera
movf
unidad,0
call
tiempoespera
movwf
uni2
call
tiempoespera
movf
tiempo3,0
call
tiempoespera
movwf
enlinea
call
tiempoespera
call
llenadau
return
secuenciax
movf
unidad,0
movwf
uni3
;tiempo espera
bsf
porta,2
bsf
porte,2
movf
tiempo4,0
bsf
porta,md
movwf
enlinea
call
tiempoabrir
call
llenadau
bcf
porta,md
movf
unidad,0
bcf
porte,2
movwf
uni4
bsf
porta,e
call
primertiempo
bcf
porta,e
bsf
porte,2
clrf
decena
bsf
porta,mi
movf
enlinea,0
call
tiempocerrar
sublw
.49
bcf
porta,mi
btfsc
estado,0
bcf
porte,2
return
bcf
porta,2
incf
decena,1
bsf
porte,2
movf
enlinea,0
bsf
porta,md
sublw
.99
call
tiempoabrir
btfsc
estado,0
bcf
porta,md
return
bcf
porte,2
incf
decena,1
bsf
porta,e
movf
enlinea,0
call
segundotiempo
sublw
.149
bcf
porta,e
btfsc
estado,0
bsf
porte,2
return
bsf
porta,mi
incf
decena,1
call
tiempocerrar
movf
enlinea,0
bcf
porta,mi
sublw
.199
bcf
porte,2
btfsc
estado,0
return
return;
incf
decena,1
movf
tiempo1,0
movf
enlinea,0
movwf
enlinea
sublw
.249
call
llenadad
btfsc
estado,0
call
llenadau
return
movf
decena,0
incf
movwf
dec1
return
movf
unidad,0
movwf
uni1
movf
enlinea,0
movf
tiempo2,0
movwf
enlinea1
movwf
enlinea
clrf
unidad
call
llenadad
movf
enlinea1,0
llenardecuni
decena,1
llenadau
;secuencia
sublw
.4
btfsc
btfsc
estado,0
return
estado,0
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.59
sublw
.9
btfsc
estado,0
btfsc
estado,0
return
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.64
sublw
.14
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.69
sublw
.19
btfsc
estado,0
btfsc
estado,0
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.74
sublw
.24
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.79
sublw
.29
btfsc
estado,0
btfsc
estado,0
return
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.84
sublw
.34
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.89
sublw
.39
btfsc
estado,0
btfsc
estado,0
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.94
sublw
.44
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.99
sublw
.49
btfsc
estado,0
btfsc
estado,0
return
return
return
clrf
unidad
clrf
unidad
movf
enlinea1,0
movf
enlinea1,0
sublw
.104
sublw
.54
btfsc
estado,0
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.159
sublw
.109
btfsc
estado,0
btfsc
estado,0
return
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.164
sublw
.114
btfsc
estado,0
btfsc
estado,0
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.169
sublw
.119
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.174
sublw
.124
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.179
sublw
.129
btfsc
estado,0
btfsc
estado,0
return
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.184
sublw
.134
btfsc
estado,0
btfsc
estado,0
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.189
sublw
.139
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.194
sublw
.144
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.199
sublw
.149
btfsc
estado,0
btfsc
estado,0
return
return
return
clrf
unidad
clrf
unidad
movf
enlinea1,0
movf
enlinea1,0
sublw
.204
sublw
.154
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
movf
enlinea1,0
bsf
portc,trans1d
sublw
.209
call
tiempomuestra
btfsc
estado,0
bcf
portc,trans1d
movf
uni1,0
return
incf
unidad,1
movwf
numero
movf
enlinea1,0
call
lamuestra
sublw
.214
movwf
portd
btfsc
estado,0
bsf
portc,trans1u
call
tiempomuestra
incf
unidad,1
bcf
portc,trans1u
movf
enlinea1,0
movf
dec2,0
sublw
.219
movwf
numero
btfsc
estado,0
call
lamuestra
return
movwf
portd
incf
unidad,1
bsf
portc,trans2d
movf
enlinea1,0
call
tiempomuestra
sublw
.224
bcf
portc,trans2d
btfsc
estado,0
movf
uni2,0
movwf
numero
return
return
incf
unidad,1
call
lamuestra
movf
enlinea1,0
movwf
portd
sublw
.229
bsf
portc,trans2u
btfsc
estado,0
call
tiempomuestra
bcf
portc,trans2u
return
incf
unidad,1
movf
uni3,0
movf
enlinea1,0
movwf
numero
sublw
.234
call
lamuestra
btfsc
estado,0
movwf
portd
bsf
portc,trans3
incf
unidad,1
call
tiempomuestra
movf
enlinea1,0
bcf
portc,trans3
sublw
.239
movf
uni4,0
btfsc
estado,0
movwf
numero
return
call
lamuestra
incf
unidad,1
movwf
portd
movf
enlinea1,0
bsf
portc,trans4
sublw
.244
call
tiempomuestra
btfsc
estado,0
bcf
portc,trans4
return
return
return
tiempomuestra1
incf
unidad,1
movf
enlinea1,0
clrf
con1
sublw
.249
movlw
0x02
btfsc
estado,0
movwf
con2
decfsz
con1,1
goto
tm1
decfsz
con2,1
goto
tm1
tm1
return
clrf
unidad
return
visualizo
movf
dec1,0
movwf
numero
call
lamuestra
movwf
portd
return;
tiemposs
clrf
con1
clrf
con2
decfsz
con3,1
movlw
0x2
goto
tmseg
movwf
con3
return;
tiempomuestra
tms
decfsz
con1,1
clrf
con1
goto
tms
movlw
0x10
movwf
con2
decfsz
con2,1
goto
tms
tme
decfsz
con3,1
decfsz
con1,1
goto
tms
goto
tme
decfsz
con2,1
goto
tme
return;
tiempoespera
call
visualizo
call
visualizo
call
visualizo
return;
lamuestra
return;
tiempoabrir
movlw
0x40
movwf
con3
call
visualizo
call
visualizo
incf
numero,1
decfsz
numero,1
goto
m1
retlw
m1
decfsz
tmab
goto
retlw
decfsz
con3,1
79
goto
tmab
m2
return;
tiempocerrar
movlw
0x40
movwf
con3
call
visualizo
call
visualizo
decfsz
con3,1
goto
tmce
m2
06h ;1 0000 0110 06 0111 1001
decfsz
numero,1
goto
m3
tmce
decfsz
numero,1
goto
m4
retlw
decfsz
numero,1
m4
return;
primertiempo
movf
tiempo1,0
19
movwf
con3
m5
incf
con3,1
tmun
call
visualizo
call
visualizo
12
decfsz
con3,1
m6
goto
tmun
return;
segundotiempo
tiempo2,0
02
movwf
con3
m7
incf
con3,1
call
visualizo
call
visualizo
movf
numero,1
tmseg
78
goto
m5
retlw
decfsz
numero,1
goto
m6
retlw
decfsz
numero,1
goto
m7
retlw
decfsz
numero,1
goto
m8
retlw
m8
decfsz
numero,1
goto
m9
retlw
decfsz
numero,1
goto
m10
retlw
retlw
0x79
m10
m9
End
movlw
las otras salidas.
movwf
porta
clrf
portb
;puerto
de
tiempo de
Pc
equ
0x02
porta
equ
0x05
portb
equ
0x06
bcf
bcf
rutinsini
estado
equ
0x03
movlw
0xff
intcon
equ
0x0B
movwf
portb
eedata
equ
bsf
portb,7
eeadr
equ
0x08
0x09
call
tiempogradual
eecon1
equ
0x08
bcf
portb,7
eecon2
equ
0x09
call
tiempogradual
dato
equ
0x10
bsf
portb,7
t1
equ
0x11
call
tiempogradual
t2
equ
0x12
bcf
portb,7
con1
equ
0x13
call
tiempogradual
t11
equ
0x14
bsf
portb,7
t22
equ
0x15
call
tiempogradual
contr
equ
0x16
bcf
portb,7
call
tiempogradual
call
cargart1t2
con2
equ
0x17
numero
equ
0x18
numeroh
equ
0x19
decena
equ
0x20
unidad
equ
0x21
enlinea
equ
0x22
enlinea1 equ
0x23
lineal2
equ
0x24
con3
equ
con4
mas
tiempoinicial
0x25
movlw
0x02
equ
0x26
movwf
con3
equ
movlw
0x50
movwf
con4
btfss
menos
equ
cruce
equ
hot
equ
org
bsf
estado,5
bcf
secuenci
con4,1
goto
men
call
aumente
movlw
0x50
movwf
con4
btfss
;rutina de aumento.
goto
yas
call
decremente
;rutina
de
decremento.
0x50
movwf
con4
con3,1
goto
des
goto
uni
movwf
t22
call
tiempopwm
decfsz
t22,1
goto
segun
bcf
porta,hot
movf
t1,0
movwf
t11
incf
t11,1
prime
yas
decfsz
0xfa
primermita
con4,1
movlw
porta,hot
movlw
segun
men
decfsz
bcf
call
tiempopwm
decfsz
t11,1
goto
prime
bsf
porta,hot
des
call
visualiza1
;(opcional)visualizacion
goto
return
cargart1t2
;que
la
resistencia entrega.
movlw
0x00
uni
movwf
eeadr
bsf
estado,5
bsf
eecon1,0
call
visualiza
;(opcional)visualizacion del
porcentaje de calor
incf
con3,1
bcf
estado,5
incf
con3,1
movf
eedata,0
goto
cruce1
movwf
t1
bsf
estado,5
bcf
eecon1,0
;que
la
resistencia entrega.
cruce1
btfss
porta,2
bcf
estado,5
goto
cruce1
movlw
0x01
bcf
porta,hot
movwf
eeadr
bsf
estado,5
cruce2
btfsc
porta,2
bsf
eecon1,0
goto
cruce2
bcf
estado,5
call
pwm
goto
secuenci
RUTINAS
pwm
btfsc
t2,0
goto
segundamita
goto
primermita
segundamita
movf
eedata,0
movwf
t2
bsf
estado,5
bcf
eecon1,0
bcf
estado,5
movf
t1,0
caso de visualizacion
movwf
t11
movf
t2,0
movwf
t22
return
decremente
bcf
porta,hot
;cargat1
;cargat2
;cargar
variables
en
call
existentes
movf
xorlw
btfsc
goto
t1,0
0x00
;verifica si t1=0
estado,2
decre
eeadr
movf
t1,0
movwf
eedata
bsf
estado,5
bcf
intcon,7
bcf
bsf
eecon1,2
en 0
decf
t1,1
call
guardart1t2
return
decre
movf
movwf
t2,0
xorlw
0x00
;verifica si t2=0
btfsc
estado,2
return
movlw
0x55
movwf
eecon2
movlw
0xaa
movwf
eecon2
bsf
eecon1,1
btfss
eecon1,4;vigila
gua1
t2,1
grabacion correctamente
movlw
0xf9
goto
gua1
movwf t1
bcf
intcon,7
call
bcf
eecon1,1
bcf
estado,5
guardart1t2
final
return
return
guardast2
aumente
bcf
porta,hot
call
existentes
movf
t1,0
xorlw
0xf9
btfsc
estado,2
;verifica si t1=250
movlw
0x01
movwf
eeadr
movf
t2,0
movwf
eedata
bsf
estado,5
bcf
intcon,7
;guarda t2
aumen
bcf
incf
t1,1
bsf
eecon1,2
call
guardart1t2
movlw
0x55
movwf
eecon2
movlw
0xaa
movwf
eecon2
bsf
eecon1,1
btfss
goto
return
aumen
movf
t2,0
xorlw
0x01
;verifica si t2=1
btfsc
estado,2
return
gua2
;si es 1 es porque
goto
gua2
0x01
bcf
intcon,7
movwf
t2
bcf
eecon1,1
clrf
t1
bcf
estado,5
call
guardart1t2
return
visualiza
return
guardart1t2
call
cambioenlinea1
call
guardast1
call
unidades
call
guardast2
call
lamuestra1
call
tiempodecambio
movwf
portb
call
tiempodecambio
bsf
portb,7
return
return
visualiza1
guardast1
movlw
0x00
;guarda t1
call
cambioenlinea
de
la
call
decenas
nop
call
lamuestra
nop
movwf
portb
nop
bcf
portb,7
nop
nop
return
nop
lamuestra
movf
decena,0
nop
addwf
Pc,1
return
retlw
tiempodecambio
retlw
movlw
0xff
retlw
movwf
con1
retlw
movlw
0xff
retlw
movwf
con2
retlw
;viva
retlw
decfsz
con1,1
retlw
goto
retlw
decfsz con2,1
retlw
goto
viva
viva
return
return
tiempoinicial
movlw
0xff
asi en la tabla
movwf
con1
movf
unidad,0
movlw
0xff
addwf
Pc,1
movwf
con2
retlw
retlw
decfsz
con1,1
retlw
goto
retlw
decfsz con2,1
retlw
goto
retlw
return
retlw
retlw
btfss
enlinea,7
retlw
goto
troya
retlw
decf
enlinea,1
decf
enlinea,1
lamuestra1
viva2
viva2
viva2
decenas
return
decf
enlinea,1
clrf
decena
movlw 0xff
movf
enlinea,0
movwf
sublw
.24
movlw 0x01;ff
btfsc
estado,0
movwf
return
a los 60Hz
con1
con2
incf
decena,1
movf
enlinea,0
sublw
.49
decfsz con2,1
btfsc
estado,0
goto
return
tex1
decfsz
goto
con1,1
tex1
tex1
incf
decena,1
movf
enlinea,0
los 60Hz
return
sublw
.74
nop
btfsc
estado,0
nop
return
cambioenlinea1
incf
decena,1
movf
enlinea,0
movf
t1,0
sublw
.99
movwf
enlinea1
btfsc
estado,0
return
unidades
return
incf
decena,1
clrf
unidad
movf
enlinea,0
movf
enlinea1,0
sublw
.124
sublw
.4
btfsc
estado,0
btfsc
estado,0
return
return
incf
decena,1
incf
unidad,1
movf
enlinea,0
movf
enlinea1,0
sublw
.149
sublw
.9
btfsc
estado,0
btfsc
estado,0
return
return
incf
decena,1
incf
unidad,1
movf
enlinea,0
movf
enlinea1,0
sublw
.174
sublw
.14
btfsc
estado,0
btfsc
estado,0
return
return
incf
decena,1
incf
unidad,1
movf
enlinea,0
movf
enlinea1,0
sublw
.199
sublw
.19
btfsc
estado,0
btfsc
estado,0
return
return
incf
decena,1
incf
unidad,1
movf
enlinea,0
movf
enlinea1,0
sublw
.224
sublw
.24
btfsc
estado,0
btfsc
estado,0
return
return
incf
decena,1
return
cambioenlinea
incf
unidad,1
movf
enlinea1,0
sublw
.29
estado,0
clrf
enlinea
btfsc
btfsc
t1,1
return
bsf
enlinea,0
incf
unidad,1
btfsc
t1,2
movf
enlinea1,0
bsf
enlinea,1
sublw
.34
btfsc
t1,3
btfsc
estado,0
bsf
enlinea,2
return
btfsc
t1,4
incf
unidad,1
bsf
enlinea,3
movf
enlinea1,0
btfsc
t1,5
sublw
.39
bsf
enlinea,4
btfsc
estado,0
btfsc
t1,6
return
bsf
enlinea,5
incf
unidad,1
btfsc
t1,7
movf
enlinea1,0
bsf
enlinea,6
sublw
.44
btfsc
t2,0
btfsc
estado,0
bsf
enlinea,7
return
return
incf
unidad,1
movf
enlinea1,0
sublw
.99
sublw
.49
btfsc
estado,0
btfsc
estado,0
return
return
clrf
unidad
clrf
unidad
movf
enlinea1,0
movf
enlinea1,0
sublw
.104
sublw
.54
btfsc
estado,0
btfsc
estado,0
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.109
sublw
.59
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.114
sublw
.64
btfsc
estado,0
btfsc
estado,0
return
return
return
incf
unidad,1
enlinea1,0
incf
unidad,1
movf
movf
enlinea1,0
sublw
.119
sublw
.69
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.124
sublw
.74
btfsc
estado,0
btfsc
estado,0
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.129
sublw
.79
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.134
sublw
.84
btfsc
estado,0
btfsc
estado,0
return
return
return
incf
unidad,1
enlinea1,0
incf
unidad,1
movf
movf
enlinea1,0
sublw
.139
sublw
.89
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.144
sublw
.94
btfsc
estado,0
btfsc
estado,0
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.149
return
btfsc
estado,0
btfsc
estado,0
return
return
clrf
unidad
clrf
unidad
movf
enlinea1,0
movf
enlinea1,0
sublw
.154
sublw
.204
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.159
sublw
.209
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.164
sublw
.214
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.169
sublw
.219
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.174
sublw
.224
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.179
sublw
.229
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.184
sublw
.234
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.189
sublw
.239
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
incf
unidad,1
movf
enlinea1,0
movf
enlinea1,0
sublw
.194
sublw
.244
btfsc
estado,0
btfsc
estado,0
return
return
incf
unidad,1
incf
movf
enlinea1,0
return
sublw
.199
End
unidad,1
cout<<"on";
else
cout<<"off";
gotoxy(1,12);
cout<<" Sensor Bolsita ";
if(sim2=='1')
cout<<"on";
else
cout<<"off";
gotoxy(1,14);
cout<<" Switch Externo ";
if(sim3=='1')
cout<<"on";
else
cout<<"off";
gotoxy(43,8);
cout<<" 1) Valvula ";
if(valvulax=='1')
cout<<"on";
else
cout<<"off";
gotoxy(43,10);
cout<<" 2) Dosificar ";
if(dosificarx=='1')
cout<<"on";
else
cout<<"off";
gotoxy(43,12);
cout<<" 3) Sellador ";
if(selladorx=='1')
cout<<"on";
else
cout<<"off";
gotoxy(43,14);
cout<<" 4) Restistencia ";
if(calenturax=='1')
cout<<"on";
else
cout<<"off";
gotoxy(18,20);
cout<<"
PULSE 0 SI DESEA SALIR"<<endl<<endl;
gotoxy(29,16);
cout<<"Estado del puerto ";
gotoxy(29,17);
cout<<"de salida --> "<<salidatotal<<" ";
gotoxy(50,16);
cout<<calenturax<<" "<<selladorx<<" "<<dosificarx<<"
"<<valvulax;
gotoxy(50,17);
cout<<"R S D V";
gotoxy(8,22);
cout<<"
Ingrese salida que desea cambiar";
cout.flush();
opc=getch();
}while(opc!='0' && opc!='1' && opc!='2' &&
opc!='3' && opc!='4');
gotoxy(35,21);
cout<<"
";
if(opc=='1')
menu1();
if(opc=='2')
menu2();
if(opc=='3')
menu3();
if(opc=='4')
menu4();
}while(opc!='0');
}//FIN
void menu1()
{
if(valvulax=='0')
valvulax='1';
else
valvulax='0';
return;
}
void menu2()
{
if(dosificarx=='0')
dosificarx='1';
else
dosificarx='0';
return;
}
void menu3()
{
if(selladorx=='0')
selladorx='1';
else
selladorx='0';
return;
}
void menu4()
{
if(calenturax=='0')
calenturax='1';
else
calenturax='0';
return;
}
void puertosalidas()
{
salidatotal=0;
int puerto;
int datolec;
if(valvulax=='1')
salidatotal=salidatotal+1;
if(dosificarx=='1')
salidatotal=salidatotal+2;
if(selladorx=='1')
salidatotal=salidatotal+4;
if(calenturax=='1')
salidatotal=salidatotal+8;
puerto=peek(0x40,0x8);
if(salidatotal==1)
outportb(puerto,0x01);
if(salidatotal==2)
outportb(puerto,0x02);
if(salidatotal==3)
outportb(puerto,0x03);
if(salidatotal==4)
outportb(puerto,0x04);
if(salidatotal==5)
outportb(puerto,0x05);
if(salidatotal==6)
outportb(puerto,0x06);
if(salidatotal==7)
outportb(puerto,0x07);
if(salidatotal==8)
outportb(puerto,0x08);
if(salidatotal==9)
outportb(puerto,0x09);
if(salidatotal==10)
outportb(puerto,0x0a);
if(salidatotal==11)
outportb(puerto,0x0b);
if(salidatotal==12)
outportb(puerto,0x0c);
if(salidatotal==13)
outportb(puerto,0x0d);
if(salidatotal==14)
outportb(puerto,0x0e);
if(salidatotal==15)
outportb(puerto,0x0f);
return;
}
void mostrarlista();
void ventana();
char verificar(char codigo[70]);
void seleccionconfi(int x);
void eliminarconfi(int x);
void main()
{
char card='h';
do{
cargadeinformacion();
card=menuinformacion();
}while(card!='0');
}
char menuinformacion()
{
char opc='n';
do{
cout.flush();
clrscr();
gotoxy(15,3);
cout<<" MAQUINA SAMURAY'S SOCIETY ";
gotoxy(14,4);
cout<<" ===========================";
gotoxy(1,6);
cout<<" 1) Tiempo de selle "<<tiemposelle<<"ms";
gotoxy(30,6);
cout<<"
gotoxy(1,8);
cout<<" 3) Tiempo de espera "<<tiempoespera<<"ms";
gotoxy(30,8);
cout<<"
4) Tiempo de seguridad
"<<tiemposeguridad<<"ms";
gotoxy(1,10);
cout<<" 5) Tiempo de calentamiento inicial
"<<calentamiento<<"s";
gotoxy(1,12);
cout<<" 6) Contador Actual "<<contador;
gotoxy(1,14);
cout<<" 7) Configuraciones exixtentes ";
gotoxy(1,16);
cout<<" 8) Guardar tiempos actuales ";
gotoxy(1,8);
cout<<" 3) Tiempo de espera "<<tiempoespera<<"ms";
gotoxy(30,8);
cout<<"
4)
Tiempo
de
seguridad
"<<tiemposeguridad<<"ms";
gotoxy(1,10);
cout<<" 5) Tiempo de calentamiento inicial
"<<calentamiento<<"s";
gotoxy(1,13);
cout<<" ACEPTA LA CONFIGURACION?(S/N) ";
cout.flush();
contr=getch();
if(contr=='s')
contr='S';
if(contr!='S')
return;
gotoxy(1,15);
gotoxy(35,22);
cout<<"
PULSE 0 SI DESEA SALIR";
gotoxy(4,22);
cout<<"SELECCIONE LA OPCION DESEADA";
gotoxy(1,1);
cout.flush();
opc=getch();
}while(opc!='0' && opc!='8' &&opc!='7' &&
opc!='1' && opc!='2' && opc!='3' && opc!='4' &&
opc!='5' && opc!='6');
gotoxy(35,22);
cout<<"
";
if(opc=='1')
menu1();
if(opc=='2')
menu2();
if(opc=='3')
menu3();
if(opc=='4')
menu4();
if(opc=='5')
menu5();
if(opc=='6')
menu6();
if(opc=='7')
menu7();
if(opc=='8')
menu8();
return opc;
}
char verificar(char codigo[70])
{
if(codigo[0]=='F')
if(codigo[1]=='I')
if(codigo[2]=='N')
return 'F';
return 'V';
}
void menu8()
{
char contr;
int conteo;
char nombre[50];
cout.flush();
clrscr();
gotoxy(15,3);
cout<<" MAQUINA SAMURAY'S SOCIETY ";
gotoxy(14,4);
cout<<" ===========================";
gotoxy(1,6);
cout<<" 1) Tiempo de selle "<<tiemposelle<<"ms";
gotoxy(30,6);
cout<<" 2) Tiempo de ciclo "<<tiempociclo<<"ms";
cout<<"
3.MOSTRAR LISTADO
"<<endl<<endl;
cout<<"
SELECCIONE LA OPCION
DESEADA "<<endl<<endl<<endl;
cout<<"
USE 0 PARA SALIR
"<<endl<<endl;
cout.flush();
opc=getch();
}while(opc!='0' && opc!='1' && opc!='2' &&
opc!='3');
return opc;
}
void menu7()
{
int cnf;
int casco;
int sal;
casco=seleccionaconfiguracion();
cout<<endl<<endl;
switch(casco)
{
case '1':
cout<<"INGRESE EL CODIGO SELECCIONADO Y
ACEPTAR...";
cin>>cnf;
if(cnf<1)
return;
seleccionconfi(cnf);
break;case '2':
cout<<"INGRESE EL CODIGO A ELIMINAR Y
ACEPTAR...";
cin>>cnf;
if(cnf<1)
return;
if(cnf<1)
return;
eliminarconfi(cnf);
break;case '3':
mostrarlista();
break;
}
return;
}
void seleccionconfi(int x)
{
ofstream salda;
char se[40];
int res;
res=cambio();
cambio1();
if(res<x)
return;
ifstream entrada;
entrada.open("secuens.txt");
for(res=0;res<x;res++)
{
entrada>>se;
entrada>>se;
entrada>>tiemposelle;
entrada>>tiempociclo;
entrada>>tiempoespera;
entrada>>tiemposeguridad;
entrada>>calentamiento;
}
entrada.close();
salda.open("lainfo.txt");
salda<<tiemposelle<<endl;
salda<<tiempociclo<<endl;
salda<<tiempoespera<<endl;
salda<<tiemposeguridad<<endl;
salda<<calentamiento<<endl;
salda<<contador<<endl;
salda.close();
return;
}
void cambio1()
{
char codig[50];
char su='N';
ofstream salida;
ifstream entrada;
salida.open("secuens1.txt",ios::app);
salida<<endl;
salida<<"FIN FIN FIN FIN";
salida.close();
salida.open("secuens.txt");
entrada.open("secuens1.txt");
entrada>>codig;
su=verificar(codig);
while(su!='F')
{
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" "<<endl;
entrada>>codig;
su=verificar(codig);
}
salida.close();
entrada.close();
return;
}
void eliminarconfi(int x)
{
char codig[50];
char su;
ofstream salida;
int con;
ifstream entrada;
con=cambio();
if(con<x)
return;
salida.open("secuens1.txt");
entrada.open("secuens.txt");
int fdr=0;
for(int we=0;we<con;we++)
{
if(we+1!=x)
{
fdr++;
entrada>>codig;
salida<<fdr<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" "<<endl;
}
else
{
cout.flush();
clrscr();
cout<<endl<<endl<<endl;
cout<<"CONFIGURACION
ELIMINA"<<endl<<endl;
entrada>>codig;
cout<<codig<<" ";
entrada>>codig;
cout<<codig<<" ";
entrada>>codig;
entrada>>codig;
entrada>>codig;
entrada>>codig;
entrada>>codig;
}
}
cambio1();
salida.close();
entrada.close();
}
int cambio()
{
char codig[50];
char su='N';
ofstream salida;
int con=0;
ifstream entrada;
salida.open("secuens.txt",ios::app);
salida<<endl;
salida<<"FIN FIN FIN FIN";
salida.close();
salida.open("secuens1.txt");
entrada.open("secuens.txt");
entrada>>codig;
su=verificar(codig);
while(su!='F')
{
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" "<<endl;
con++;
entrada>>codig;
su=verificar(codig);
}
salida.close();
entrada.close();
return con;
}
void mostrarlista()
QUE
{
char esd;
int tantos;
int yr;
int re;
int dol;
char frio[50];
ifstream entrada;
tantos=cambio();
cambio1();
if(tantos==0)
{
cout.flush();
clrscr();
cout<<endl<<endl<<endl<<"No
tiene
sucuencias
guardadas";
getch();
return;
}
entrada.open("secuens.txt");
for(re=0;re<tantos;re++)
{
ventana();
for(dol=0;dol<7;dol++)
{
entrada>>frio;
gotoxy(2,8+dol*2);
cout<<"= "<<frio;
entrada>>frio;
gotoxy(7,8+dol*2);
cout<<"= ";
for(int tt=0;tt<19;tt++)
{
if(frio[tt]=='.')
cout<<" ";
else
cout<<frio[tt];
}
entrada>>frio;
gotoxy(30,8+dol*2);
cout<<"= "<<frio;
entrada>>frio;
gotoxy(39,8+dol*2);
cout<<"= "<<frio;
entrada>>frio;
gotoxy(49,8+dol*2);
cout<<"= "<<frio;
entrada>>frio;
gotoxy(58,8+dol*2);
cout<<"= "<<frio;
entrada>>frio;
gotoxy(67,8+dol*2);
cout<<"= "<<frio;
gotoxy(2,9+dol*2);
cout<<"===================================
=====================================";
gotoxy(73,8+dol*2);
cout<<"=";
gotoxy(73,9+dol*2);
cout<<"=";
if(re+dol+1==tantos)
break;
}
re=re+6;
cout.flush();
cout<<endl<<"PULSE TECLA PARA CONTINUAR
PULSE 0 PARA SALIR";
gotoxy(1,1);
esd=getch();
if(esd=='0')
{
entrada.close();
return;
}
cout.flush();
clrscr();
}
entrada.close();
return;
}
void ventana()
{
int x;
int y;
cout.flush();
clrscr();
gotoxy(15,3);
cout<<" MAQUINA SAMURAY'S SOCIETY ";
gotoxy(1,5);
cout<<"
=========================================
===============================";
gotoxy(1,6);
cout<<" = Cd =
NOMBRE
= SELLE = CICLO
= ESPERA = SEGURI = T.C =";
gotoxy(1,7);
cout<<"
=========================================
===============================";
/*for(y=7;y<23;y=y+2)
{for(x=2;x<73;x++)
{
gotoxy(x,y);
cout<<"=";
}}
for(x=2;x<8;x=x+5)
{for(y=6;y<22;y++)
{gotoxy(x,y);
cout<<"=";
}}
for(x=31;x<69;x=x+9)
{for(y=6;y<22;y++)
{gotoxy(x,y);
cout<<"=";
}}
for(y=6;y<22;y++)
{
gotoxy(73,y);
cout<<"=";
}*/
}
void cargadeinformacion()
{
ifstream entrada;
entrada.open("lainfo.txt");
entrada>>tiemposelle;
entrada>>tiempociclo;
entrada>>tiempoespera;
entrada>>tiemposeguridad;
entrada>>calentamiento;
entrada.close();
entrada.open("ulticont.txt");
entrada>>contador;
entrada.close();
return;
}
void menu1()
{
int dato;
do{
gotoxy(4,22);
cout<<"INGRESE TIEMPO DE SELLE Y ACEPTAR
(milisegundos)...";
cin>>dato;
if(dato<1)
return;
}while(dato>30000);
tiemposelle=dato;
if(tiemposelle>tiempociclo)
tiempociclo=tiemposelle;
guardainfo();
}
void menu2()
{
int dato;
do{
gotoxy(4,22);
cout<<"INGRESE TIEMPO DE CICLO Y ACEPTAR
(milisegundos)...";
cin>>dato;
if(dato<1)
return;
if(dato<tiemposelle)
return;
}while(dato>30000);
tiempociclo=dato;
guardainfo();
}
void menu3()
{
int dato;
do{
gotoxy(4,22);
cout<<"INGRESE TIEMPO DE ESPERA Y ACEPTAR
(milisegundos)...";
cin>>dato;
if(dato<1)
return;
}while(dato>30000);
tiempoespera=dato;
guardainfo();
}
void menu4()
{
int dato;
do{
gotoxy(4,22);
cout<<"INGRESE TIEMPO DE SEGURIDAD Y
ACEPTAR (milisegundos)...";
cin>>dato;
if(dato<1)
return;
}while(dato>30000);
tiemposeguridad=dato;
guardainfo();
}
void menu5()
{
int dato;
do{
gotoxy(4,22);
cout<<"INGRESE CALENTAMIENTO INICIAL Y
ACEPTAR (segundos)...";
cin>>dato;
if(dato<1)
return;
}while(dato>30000);
calentamiento=dato;
guardainfo();
}
void menu6()
{
int dato;
do{
gotoxy(4,22);
cout<<"Ingrese la Nueva cantidad actual...";
cin>>dato;
if(dato<1)
return;
}while(dato>30000);
contador=dato;
guardainfo();
}
void guardainfo()
{
ofstream salida;
salida.open("lainfo.txt");
salida<<tiemposelle<<endl;
salida<<tiempociclo<<endl;
salida<<tiempoespera<<endl;
salida<<tiemposeguridad<<endl;
salida<<calentamiento<<endl;
salida.close();
salida.open("ulticont.txt");
salida<<contador;
salida.close();
return;
}
cout<<"
4)
Tiempo
de
seguridad
"<<tiemposeguridad<<"ms";
gotoxy(1,10);
cout<<" 5) Tiempo de calentamiento inicial
"<<calentamiento<<"s";
gotoxy(1,12);
cout<<" 6) Contador Actual "<<contador;
gotoxy(1,14);
cout<<" 7) Cargar tiempos seleccionando de una lista
";
gotoxy(1,16);
cout<<" 8) Guardar tiempos actuales ";
gotoxy(35,22);
cout<<"
PULSE 0 SI DESEA SALIR";
gotoxy(4,22);
cout<<"Ingrese la opcion deseada...";
cout.flush();
opc=getch();
}while(opc!='0' && opc!='8' &&opc!='7' &&
opc!='1' && opc!='2' && opc!='3' && opc!='4' &&
opc!='5' && opc!='6');
gotoxy(35,22);
cout<<"
";
if(opc=='1')
menu1();
if(opc=='2')
menu2();
if(opc=='3')
menu3();
if(opc=='4')
menu4();
if(opc=='5')
menu5();
if(opc=='6')
menu6();
if(opc=='7')
menu7();
if(opc=='8')
menu8();
return opc;
}
char verificar(char codigo[70])
{
if(codigo[0]=='F')
if(codigo[1]=='I')
if(codigo[2]=='N')
return 'F';
return 'V';
}
void menu8()
{
char contr;
int conteo;
char nombre[50];
cout.flush();
clrscr();
gotoxy(15,3);
cout<<" MAQUINA SAMURAY'S SOCIETY ";
gotoxy(14,4);
cout<<" ===========================";
gotoxy(1,6);
cout<<" 1) Tiempo de selle "<<tiemposelle<<"ms";
gotoxy(30,6);
cout<<" 2) Tiempo de ciclo "<<tiempociclo<<"ms";
gotoxy(1,8);
cout<<" 3) Tiempo de espera "<<tiempoespera<<"ms";
gotoxy(30,8);
cout<<"
4)
Tiempo
de
seguridad
"<<tiemposeguridad<<"ms";
gotoxy(1,10);
cout<<" 5) Tiempo de calentamiento inicial
"<<calentamiento<<"s";
gotoxy(1,13);
cout<<" ACEPTA LA CONFIGURACION?(S/N) ";
cout.flush();
contr=getch();
if(contr=='s')
contr='S';
if(contr!='S')
return;
gotoxy(1,16);
cout<<"Ingrese un corto nombre para la nueva
configuracion (maximo 20 caracteres)"<<endl;
cout<<"(Para salir pulse 0 y aceptar) "<<endl<<endl;
cout<<"
...";
cout.flush();
gets(nombre);
conteo=cambio();
ofstream sale;
sale.open("secuens1.txt",ios::app);
sale<<endl;
sale<<conteo+1<<" ";
sale<<nombre<<" ";
sale<<tiemposelle<<" ";
sale<<tiempociclo<<" ";
sale<<tiempoespera<<" ";
sale<<tiemposeguridad<<" ";
sale<<calentamiento<<" "<<endl;
sale.close();
cambio1();
cout<<"
listo!!!";
cout.flush();
getch();
return;
}
char seleccionaconfiguracion()
{
char opc;
do{
cout<<"
MENU CONFIGURACIONES";
cout<<"
";
cout<<"
1.SELECCIONAR
"<<endl<<endl;
cout<<"
2.ELIMINAR
"<<endl<<endl;
cout<<"
3.MOSTRAR LISTADO
"<<endl<<endl;
cout<<"
SELECCIONE LA OPCION
DESEADA ";
cout.flush();
opc=getch();
}while(opc!='0' && opc!='1' && opc!='2' &&
opc!='3');
return opc;
}
void menu7()
{
int casco;
int sal;
sal=cambio();
cambio1();
casco=seleccionaconfiguracion();
switch(casco)
{
case '1':
// seleccionarconfi();
break;case '2':
// eliminarconfi();
break;case '3':
mostrarlista();
break;
}
return;
}
void cambio1()
{
char codig[50];
char su='N';
ofstream salida;
ifstream entrada;
salida.open("secuens1.txt",ios::app);
salida<<endl;
salida<<"FIN FIN FIN FIN";
salida.close();
salida.open("secuens.txt");
entrada.open("secuens1.txt");
entrada>>codig;
su=verificar(codig);
while(su!='F')
{
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
su=verificar(codig);
}
salida.close();
entrada.close();
return;
}
int cambio()
{
char codig[50];
char su='N';
ofstream salida;
int con=0;
ifstream entrada;
salida.open("secuens.txt",ios::app);
salida<<endl;
salida<<"FIN FIN FIN FIN";
salida.close();
salida.open("secuens1.txt");
entrada.open("secuens.txt");
entrada>>codig;
su=verificar(codig);
while(su!='F')
{
salida<<codig<<" ";
entrada>>frio;
gotoxy(67,8+dol*2);
cout<<"= "<<frio;
gotoxy(2,9+dol*2);
cout<<"===================================
=====================================";
gotoxy(73,8+dol*2);
cout<<"=";
gotoxy(73,9+dol*2);
cout<<"=";
if(re==tantos)
break;
re++;
}
cout.flush();
cout<<endl<<"Pulse tecla para ver mas o 0 para salir";
esd=getch();
if(esd=='0')
{
entrada.close();
return;
}
cout.flush();
clrscr();
}
entrada.close();
return;
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
entrada>>codig;
salida<<codig<<" ";
con++;
entrada>>codig;
su=verificar(codig);
}
salida.close();
entrada.close();
return con;
}
void mostrarlista()
{
char esd;
int tantos;
int yr;
int re;
int dol;
char frio[50];
ifstream entrada;
tantos=cambio();
cambio1();
if(tantos==0)
{
cout.flush();
clrscr();
cout<<endl<<endl<<endl<<"No
guardadas";
getch();
return;
}
entrada.open("secuens.txt");
for(re=0;re<tantos;re++)
{
ventana();
for(dol=0;dol<7;dol++)
{
entrada>>frio;
gotoxy(2,8+dol*2);
cout<<"= "<<frio;
entrada>>frio;
gotoxy(7,8+dol*2);
cout<<"= "<<frio;
entrada>>frio;
gotoxy(30,8+dol*2);
cout<<"= "<<frio;
entrada>>frio;
gotoxy(39,8+dol*2);
cout<<"= "<<frio;
entrada>>frio;
gotoxy(49,8+dol*2);
cout<<"= "<<frio;
entrada>>frio;
gotoxy(58,8+dol*2);
cout<<"= "<<frio;
}
void ventana()
{
int x;
int y;
cout.flush();
clrscr();
gotoxy(15,3);
cout<<" MAQUINA SAMURAY'S SOCIETY ";
tiene
sucuencias
gotoxy(1,5);
cout<<"
=========================================
===============================";
gotoxy(1,6);
cout<<" = Cd =
NOMBRE
= SELLE = CICLO
= ESPERA = SEGURI = T.C =";
gotoxy(1,7);
cout<<"
=========================================
===============================";
/*for(y=7;y<23;y=y+2)
{for(x=2;x<73;x++)
{
gotoxy(x,y);
cout<<"=";
}}
for(x=2;x<8;x=x+5)
{for(y=6;y<22;y++)
{gotoxy(x,y);
cout<<"=";
}}
for(x=31;x<69;x=x+9)
{for(y=6;y<22;y++)
{gotoxy(x,y);
cout<<"=";
}}
for(y=6;y<22;y++)
{
gotoxy(73,y);
cout<<"=";
}*/
}
void cargadeinformacion()
{
ifstream entrada;
entrada.open("lainfo.txt");
entrada>>tiemposelle;
entrada>>tiempociclo;
entrada>>tiempoespera;
entrada>>tiemposeguridad;
entrada>>calentamiento;
entrada.close();
entrada.open("ulticont.txt");
entrada>>contador;
entrada.close();
return;
}
void menu1()
{
int dato;
do{
gotoxy(4,22);
cout<<"Ingrese el Tiempo de selle (milisegundos)...";
cin>>dato;
if(dato<1)
return;
}while(dato>30000);
tiemposelle=dato;
if(tiemposelle>tiempociclo)
tiempociclo=tiemposelle;
guardainfo();
}
void menu2()
{
int dato;
do{
gotoxy(4,22);
cout<<"Ingrese el Tiempo de ciclo (milisegundos)...";
cin>>dato;
if(dato<1)
return;
if(dato<tiemposelle)
return;
}while(dato>30000);
tiempociclo=dato;
guardainfo();
}
void menu3()
{
int dato;
do{
gotoxy(4,22);
cout<<"Ingrese
el
(milisegundos)...";
cin>>dato;
if(dato<1)
return;
}while(dato>30000);
tiempoespera=dato;
guardainfo();
}
void menu4()
Tiempo
de
espera
{
int dato;
do{
gotoxy(4,22);
cout<<"Ingrese
el
Tiempo
de
seguridad
(milisegundos)...";
cin>>dato;
if(dato<1)
return;
}while(dato>30000);
tiemposeguridad=dato;
guardainfo();
}
void menu5()
{
int dato;
do{
gotoxy(4,22);
cout<<"Ingrese el Tiempo de calentamiento inicial
(segundos)...";
cin>>dato;
if(dato<1)
return;
}while(dato>30000);
calentamiento=dato;
guardainfo();
}
void menu6()
{
int dato;
do{
gotoxy(4,22);
cout<<"Ingrese la Nueva cantidad actual...";
cin>>dato;
if(dato<1)
return;
}while(dato>30000);
contador=dato;
guardainfo();
}
void guardainfo()
{
ofstream salida;
salida.open("lainfo.txt");
salida<<tiemposelle<<endl;
salida<<tiempociclo<<endl;
salida<<tiempoespera<<endl;
salida<<tiemposeguridad<<endl;
salida<<calentamiento<<endl;
salida.close();
salida.open("ulticont.txt");
salida<<contador;
salida.close();
return;
}
PROGRAMA
ACTUALIZACIONES,
NUEVOS
PRODUCTOS,
ELIMINACION DE PRODUCTOS.
Men principal que le da 4 opciones y una opcin (0) que le sirve para salir del
programa con solo presionarlo.
Luego de ingresar el nombre y pulsar enter nos pide el precio mayor es decir
que nos pedir un precio menor (2 precios). Debemos considerar las
posibilidades: Si el producto ingresado es para vender sea producido en la
empresa podr manejar precio detal y mayorista. Si el caso es de un producto
que es materia prima puede manejar solo un precio es decir marque el mismo
valor en ambos precios.
Ingresa la clave
Da enter y listo.
21.10.3 FACTURACION/CONSULTAS
21.10.3.1 CONSULTAS
Con los tres primeros dgitos del cdigo se realiza la bsqueda. En este
ejemplo se ha codificado los jugos con un cdigo en el que los primero tres
cdigos son las letras JUG. Luego pulsa enter para realizar la bsqueda.
ENTER
21.10.3.2 FACTURACION
La opcin NUEVA le permitir borrar todos los productos para iniciar una nueva
factura
Al tener una factura realizada puede imprimir su factura para lo que debe
implementar un data switch si va a utilizar el puerto paralelo para otra tarea de
modo que pueda trabajar la impresora.
Posee tres opciones de impresin FACTURA, COTIZA Y REMISION
La opcin FACTURA se utiliza para realizar su factura con IVA. Cabe recordar
que el programa discrimina el IVA es decir el precio de cada producto debe
tener ya el IVA incluido.
Otra opcin es PEDIDO esta opcin se utiliza para solicitar al inventario que
descargue los productos facturados, lo que en el caso de cotizaciones y
remisiones no ser necesario.
Al ingresar esta opcin el programa guarda en un archivo los productos as que
usted puede realizar varias facturas realizando PEDIDO en cada una de ellas y
todos los productos son almacenados en archivo para despus ser
descargados.
Tiene una opcin adicional FECHA con la cual puede cambiar la fecha del
ingreso. Esta fecha es independiente a la fecha del programa total ya que en
registro almacenamos lo realizado con la fecha general pero el ingreso puede
tener otra fecha distinta. Esto con el fin de dar flexibilidad en operaciones de
contabilidad interna de la empresa.
Al realizar la factura de ingreso en cada artculo nos pide los datos de (caja)
ubicacin real para lo que tenemos un espacio que debe ser numrico y de no
ms de 4 cifras es decir que de esta manera podemos tener un mismo
producto en 2 sitios o cajas diferentes. Luego nos pide la cantidad. El software
permite ubicar un mismo tipo de producto en sitios y cantidades diferentes.
Nos da la opcin de poner detalles que pueden ser color, algo de recordar,
vencimiento. Estos datos adicionales son de tipo alfanumrico y tiene la
posibilidad de dar un detalle de hasta 20 caracteres.
21.10.5 INVENTARIO
El programa de inventario le va a permitir realizar consultas y descargas del
archivo que guarda el inventario de produccin y materia prima.
Me muestra todos los productos que comienzan con las letras y que se
encuentran en inventarios. Es decir
inventario es mostrada.
Para datos errneos como sacar una cantidad mayor el software reconoce el
error. De igual manera al sacar todos los productos de un tem el programa
borra la referencia de base de datos con el fin de optimizar el espacio en
memoria.
Otro tipo de consulta que el software permite es por la caja o lugar de ubicacin
as que pulsamos cajas y buscamos el lugar deseado de bsqueda. As que
buscamos los productos y cantidades que se encuentren en un lugar
especfico. Podemos encontrar diferentes productos en una misma ubicacin.
Para dejar referencia le pide una clave. Estas claves se asignan en el archivo
mipais por referirse a mi paisano. Entonces el usuario da el dato de cuantos
pueden sacar y asigna claves de 4 dgitos. El usuario que saca productos
ingresa el cdigo pero la referencia en archivo es por medio del nombre
asignado.
Por
estn
listos
para
dichas
recuperaciones
que
como
veamos
#include<stdio.h>
void cajitas();
void cambilis1v();
void cambilis2v();
void cambilis1();
void cambilviz1();
void cambilviz2();
int pati;
char primid;
int visual[20];
void camb();
void cambio();
char nombre[6];
void cambilis();
char camino(char a);
char codigo1[10][60];
char detalles1[10][50];
int cantidad1[10];
int caja1[10];
void visualiza();
void sale(int cont);
void patis();
char verify(char name[15]);
char sd;
int sped,sd1;
char verificar(char codigo[70]);
char codigo[60];
char detalles[50];
char facata[15];
int cantidad;
int caja;
void siguiente(char desido);
void pedidout(char desido);
char desido;
void main()
{
primid='x';
desido='0';
char odis1[70];
int odis2;
char odi='N';
char odi3;
ifstream vizin;
int vizint;
int vip;
char su;
int cont=0;
int re=0;
su='N';
char q1q='y';
char papel='0';
char codi[10];
int pas=0;
char codisa[10];
char odis[60];
codi[0]='1';
fstream cou;
ifstream entrada;
ofstream salida;
ifstream entrada1;
ofstream salida1;
ifstream entrada7;
ofstream salida7;
ofstream salida2;
int canto,sa,tu;
char claus,pip;
vizin.open("imprimir.txt");
vizin>>primid;
vizin.close();
vizin.open("vizcaino.txt");
vizin>>vizint;
vizin.close();
if(vizint<2)
return;
if(vizint>9)
return;
if(vizint==5)
cambilis();
do{
sped=0;
pip='0';
papel='0';
canto=0;
sd1=10;
cont=0;
re=0;
char paso[70];
su='N';
codi[0]='1';
cout.flush();
clrscr();
entrada1.open("fecha.txt");
entrada1>>facata;
entrada1.close();
salida1.open("salida1.txt",ios::app);
salida1<<endl;
salida1<<"FIN FIN FIN FIN";
salida1.close();
entrada1.open("salida1.txt");
salida1.open("salida2.txt");
entrada1>>paso;
su=verificar(paso);
cout<<"Fecha:"<<facata<<"
INVENTARIOS
CANTIDAD CAJA "<<endl<<endl;
while(su!='F')
{
salida1<<paso<<" ";
cout<<paso<<"
";
entrada1>>vip;
salida1<<vip<<" ";
cout<<vip<<"
";
if(vip<10)
cout<<" ";
if(vip<100)
cout<<" ";
entrada1>>vip;
salida1<<vip<<" ";
cout<<vip<<" "<<endl<<"Detalles...";
visual[sped]=vip;
sped++;
entrada1>>paso;
salida1<<paso<<" "<<endl;
cout<<paso<<" "<<endl;
entrada1>>paso;
su=verificar(paso);
}
salida1<<paso;
salida1.close();
entrada1.close();
camb();
cout<<endl;
cout<<" INGRESE EL
PRODUCTO.(PEDIR/PEDIDO/CAJAS/TERMINAR/GU
ARDAR/0 SALIR)..";
if(desido=='0')
{
cout.flush();
gets(codisa);
}
if(desido!='0')
{
cout<<endl<<endl;
if(desido=='1')
salida7.open("pedidop.txt",ios::app);
if(desido=='2')
salida7.open("pedido1.txt",ios::app);
if(desido=='3')
salida7.open("a:pedido3.txt",ios::app);
salida7<<endl;
salida7<<"FIN ";
salida7<<"FIN ";
salida7.close();
if(desido=='1')
entrada7.open("pedidop.txt");
if(desido=='2')
entrada7.open("pedido1.txt");
if(desido=='3')
entrada7.open("a:pedido3.txt");
entrada7>>odis1;
entrada7>>odis2;
entrada7.close();
odi=verificar(odis1);
if(odi=='F')
{
cout<<"EL PEDIDO"<<desido<<" YA NO TIENE MAS
PRODUCTOS...(tecla para continuar)";
codisa[0]='M';
codisa[1]='M';
codisa[2]='M';
codisa[3]='M';
cout.flush();
getch();
pedidout(desido);
desido='0';
}
if(odi!='F')
{
codisa[0]=odis1[0];
codisa[1]=odis1[1];
codisa[2]=odis1[2];
codisa[3]=odis1[3];
codisa[4]=odis1[4];
codisa[5]=odis1[5];
codisa[6]=odis1[6];
codisa[7]='\0';
cout<<odis1<<" cantidad..."<<odis2<<endl<<endl;
cout<<"seleccione la opcion (aceptar enter / +
siguiente / 0 salir...";
cout.flush();
odi3=getch();
if(odi3=='+')
{
siguiente(desido);
codisa[0]='M';
codisa[1]='M';
codisa[2]='M';
codisa[3]='M';
}
if(odi3=='0')
{
pedidout(desido);
codisa[0]='M';
codisa[1]='M';
codisa[2]='M';
codisa[3]='M';
desido='0';
}
}
if(desido!='0')
pedidout(desido);
}
for(pas=0;pas<9;pas++)
codi[pas]=codisa[pas];
codi[9]='\0';
if(codi[0]=='0')
return;
//if(codi[0]=='\0')
//visualiza();
if(codi[0]=='C')
if(codi[1]=='A')
if(codi[2]=='J')
if(codi[3]=='A')
if(codi[4]=='S')
patis();
if(codi[0]=='T')
if(codi[1]=='E')
if(codi[2]=='R')
if(codi[3]=='M')
if(codi[4]=='I')
if(codi[5]=='N')
if(codi[6]=='A')
pip=camino('1');
if(codi[0]=='G')
if(codi[1]=='U')
if(codi[2]=='A')
if(codi[3]=='R')
if(codi[4]=='D')
if(codi[5]=='A')
if(codi[6]=='R')
cajitas();
if(pip!='0')
return;
if(codi[0]=='P')
if(codi[1]=='E')
if(codi[2]=='D')
if(codi[3]=='I')
if(codi[4]=='D')
if(codi[5]=='O')
{
desido='1';
}
if(codi[0]=='P')
if(codi[1]=='E')
if(codi[2]=='D')
if(codi[3]=='I')
if(codi[4]=='R')
{
desido='2';
}
salida.open("datos.txt",ios::app);
salida<<endl;
salida<<"FIN FIN
FIN
FIN ";
salida.close();
su='N';
entrada.open("datos.txt");
salida.open("datos1.txt");
cout.flush();
clrscr();
cout<<"
PRODUCTO
CANTIDAD CAJA "<<endl<<endl;
while(su!='F')
{
claus='0';
entrada>>codigo;
su=verificar(codigo);
if(su=='F')
goto fin;
entrada>>cantidad;
entrada>>caja;
entrada>>detalles;
if(papel!='1')
if(codigo[0]==codi[0])
if(codigo[1]==codi[1])
if(codigo[2]==codi[2])
if(codi[3]=='\0')
goto accion;
if(codigo[0]==codi[0])
if(codigo[1]==codi[1])
if(codigo[2]==codi[2])
if(codigo[3]==codi[3])
if(codigo[4]==codi[4])
if(codigo[5]==codi[5])
if(codigo[6]==codi[6])
{
accion:
for(tu=0;tu<60;tu++)
codigo1[cont][tu]=codigo[tu];
cout<<cont<<" "<<codigo<<" ";
cout<<cantidad<<"
";
if(cantidad<1000)
cout<<" ";
if(cantidad<100)
cout<<" ";
if(cantidad<10)
cout<<" ";
cout<<caja<<" "<<endl;
caja1[cont]=caja;
cantidad1[cont]=cantidad;
cout<<" Detalles..."<<detalles<<endl;
for(tu=0;tu<50;tu++)
detalles1[cont][tu]=detalles[tu];
cont++;
claus=1;
if(cont==10)
{
cout<<"Seleccione las opcion deseada.(mas
productos presione tecla)...";
cout.flush();
sd=getch();
cambio();
if(sd1<10)
{
cout.flush();
clrscr();
cout<<"
PRODUCTO
CANTIDAD CAJA "<<endl<<endl;
cout<<sd1<<" ";
for(sa=0;sa<58;sa++)
cout<<codigo1[sd1][sa];
cout<<cantidad1[sd1]<<"
";
if(cantidad1[sd1]<1000)
cout<<" ";
if(cantidad1[sd1]<100)
cout<<" ";
if(cantidad1[sd1]<10)
cout<<" ";
cout<<caja1[sd1]<<" "<<endl<<endl;
cout<<"Detalles...";
for(sa=0;sa<50;sa++)
{
cout<<detalles1[sd1][sa];
if(detalles1[sd1][sa]=='\0')
break;
}
cout<<endl<<endl;
cout<<"Ingrese la cantidad...";
cin>>canto;
if(canto<1)
canto=0;
if(canto>cantidad1[sd1])
{
cout<<"NO PUEDE SACAR MAS DE LO QUE HAY...";
canto=0;
getch();
}
cantidad1[sd1]=cantidad1[sd1]-canto;
papel='1';
if(canto>=1)
{
cout<<endl<<endl;
cout<<"Seleccione prioridad 1.ALTA"<<endl;
cout<<"
2.MEDIA"<<endl;
cout<<"
3.BAJA o cualquier tecla...";
cout.flush();
q1q=getch();
salida2.open("salida1.txt",ios::app);
for(sa=0;sa<60;sa++)
salida2<<codigo1[sd1][sa];
salida2<<" "<<canto<<" ";
salida2<<caja1[sd1]<<" ";
for(sa=0;sa<50;sa++)
salida2<<detalles1[sd1][sa];
salida2<<endl;
salida2.close();
salida1.open("salidas.txt",ios::app);
for(sa=0;sa<60;sa++)
salida1<<codigo1[sd1][sa];
salida1<<" "<<canto<<" ";
salida1<<caja1[sd1]<<" ";
for(sa=0;sa<50;sa++)
{
salida1<<detalles1[sd1][sa];
if(detalles1[sd1][sa]=='\0')
break;
}
salida1<<endl;
salida1.close();
if(primid=='1')
{
cou.open("LPT1",ios::out);
cou<<endl;
if(q1q=='1')
cou<<"!!!Alta ";
if(q1q=='2')
cou<<"media ";
for(sa=0;sa<40;sa++)
cou<<codigo1[sd1][sa];
cou<<" "<<canto<<" ";
cou<<caja1[sd1]<<" ";
if(detalles1[sd1][0]!='?')
for(sa=0;sa<50;sa++)
cou<<detalles1[sd1][sa];
cou<<endl;
cou.close();
}
codi[0]='M';
codi[1]='M';
codi[2]='M';
codi[3]='M';
}
}
for(re=0;re<cont;re++)
{
for(sa=0;sa<60;sa++)
{
salida<<codigo1[re][sa];
if(codigo1[re][sa]=='\0')
break;
}
salida<<" "<<cantidad1[re]<<" ";
salida<<caja1[re]<<" ";
for(sa=0;sa<50;sa++)
{
salida<<detalles1[re][sa];
if(detalles1[re][sa]=='\0')
break;
}
salida<<endl;
}
cont=0;
cout.flush();
clrscr();
cout<<"
PRODUCTO
CANTIDAD CAJA "<<endl<<endl;
}
}
if(claus=='0')
{
salida<<codigo<<" ";
salida<<cantidad<<" ";
salida<<caja<<" ";
salida<<detalles<<endl;
}
}
fin:
if(cont!=0)
{
cout<<"Seleccione las opcion deseada.(mas
productos presione tecla)...";
cout.flush();
sd=getch();
cambio();
if(sd1<cont)
{
cout.flush();
clrscr();
cout<<"
PRODUCTO
CANTIDAD CAJA "<<endl<<endl;
cout<<sd1<<" ";
for(sa=0;sa<58;sa++)
cout<<codigo1[sd1][sa];
cout<<cantidad1[sd1]<<"
";
if(cantidad1[sd1]<1000)
cout<<" ";
if(cantidad1[sd1]<100)
cout<<" ";
if(cantidad1[sd1]<10)
cout<<" ";
cout<<caja1[sd1]<<" "<<endl<<endl;
cout<<"Detalles...";
for(sa=0;sa<50;sa++)
{
if(detalles1[sd1][sa]=='\0')
break;
cout<<detalles1[sd1][sa];
}
cout<<endl<<endl;
cout<<"Ingrese la cantidad...";
cin>>canto;
if(canto<1)
canto=0;
if(canto>cantidad1[sd1])
{cout<<"NO PUEDE SACAR MAS DE LO QUE
HAY...";
canto=0;
getch();
}
cantidad1[sd1]=cantidad1[sd1]-canto;
if(canto>=1)
{
cout<<endl<<endl;
cout<<"Seleccione prioridad 1.ALTA"<<endl;
cout<<"
2.MEDIA"<<endl;
cout<<"
BAJA cualquier otra tecla...";
cout.flush();
q1q=getch();
salida2.open("salida1.txt",ios::app);
for(sa=0;sa<60;sa++)
salida2<<codigo1[sd1][sa];
salida2<<" "<<canto<<" ";
salida2<<caja1[sd1]<<" ";
for(sa=0;sa<50;sa++)
{
salida2<<detalles1[sd1][sa];
if(detalles1[sd1][sa])
break;
}
salida2<<endl;
salida2.close();
salida1.open("salidas.txt",ios::app);
for(sa=0;sa<60;sa++)
salida1<<codigo1[sd1][sa];
salida1<<" "<<canto<<" ";
salida1<<caja1[sd1]<<" ";
for(sa=0;sa<50;sa++)
{
salida1<<detalles1[sd1][sa];
if(detalles1[sd1][sa])
break;
}
salida1<<endl;
salida1.close();
if(primid=='1')
{
cou.open("LPT1",ios::out);
cou<<endl;
if(q1q=='1')
cou<<"!!!Alta ";
if(q1q=='2')
cou<<"media ";
for(sa=0;sa<40;sa++)
cou<<codigo1[sd1][sa];
cou<<" "<<canto<<" ";
cou<<caja1[sd1]<<" ";
if(detalles1[sd1][0]!='?')
for(sa=0;sa<50;sa++)
cou<<detalles1[sd1][sa];
cou<<endl;
cou.close();
}
}
}
for(re=0;re<cont;re++)
{
for(sa=0;sa<60;sa++)
{
salida<<codigo1[re][sa];
if(codigo1[re][sa]=='\0')
break;
}
salida<<" "<<cantidad1[re]<<" ";
salida<<caja1[re]<<" ";
for(sa=0;sa<50;sa++)
{
salida<<detalles1[re][sa];
if(detalles1[re][sa]=='\0')
break;
}
salida<<endl;
}
}
entrada.close();
salida.close();
cambilis();
}while(codi[0]!='0');
return;
}
void cambio()
{
if(sd=='0')
{
sd1=0;
return;
}
if(sd=='1')
{sd1=1;
return;
}
if(sd=='2')
{sd1=2;
return;
}
if(sd=='3')
{sd1=3;
return;
}
if(sd=='4')
{sd1=4;
return;
}
if(sd=='5')
{sd1=5;
return;
}
if(sd=='6')
{sd1=6;
return;
}
if(sd=='7')
{sd1=7;
return;
}
if(sd=='8')
{sd1=8;
return;
}
if(sd=='9')
{sd1=9;
return;
}
sd1=10;
return;
}
char verify(char name[15])
{
if(name[0]=='0')
return '0';
char bu1[15];
char bu2[15];
int cont;
ifstream entrada("mipais.txt");
entrada>>cont;
for(int res=0;res<cont;res++)
{
entrada>>bu1;
entrada>>bu2;
if(name[0]==bu2[0])
if(name[1]==bu2[1])
if(name[2]==bu2[2])
if(name[3]==bu2[3])
{
nombre[0]=bu1[0];
nombre[1]=bu1[1];
nombre[2]=bu1[2];
nombre[3]=bu1[3];
nombre[4]='\0';
entrada.close();
return '1';
}
}
entrada.close();
return 'M';
}
char verificar(char codigo[70])
{
if(codigo[0]=='F')
if(codigo[1]=='I')
if(codigo[2]=='N')
return 'F';
if(codigo[0]=='V')
if(codigo[1]=='O')
if(codigo[2]=='L')
if(codigo[3]=='V')
if(codigo[4]=='E')
if(codigo[5]=='R')
return 'V';
if(codigo[0]=='T')
if(codigo[1]=='E')
if(codigo[2]=='R')
if(codigo[3]=='M')
if(codigo[4]=='I')
if(codigo[5]=='N')
return 'E';
return 'N';
}
void menu0()
{
cout<<endl<<endl<<endl;
cout<<"
INGRESE LA CANTIDAD...";
return;
}
void menu()
{
cout<<endl<<endl<<endl;
cout<<"
INGRESE LA CANTIDAD...(0
si desea salir)$";
return;
}
void cajitas()
{
//lista x;
int cont;
char detalle[50];
char codig[70];
int cantida;
char mm;
int caj;
char su='N';
ofstream salida;
ifstream entrada;
cout.flush();
clrscr();
cout<<endl<<endl<<" INGRESE UN DISKET EN LA
UNIDAD A..."<<endl<<endl;
cout<<" PRESIONE TECLA PARA CONTINUAR.(DE
0 PARA SALIR)...";
cout.flush();
mm=getch();
if(mm=='0')
return;
salida.open("datos.txt",ios::app);
salida<<endl;
salida<<"FIN";
salida.close();
salida.open("datos1.txt");
entrada.open("datos.txt");
while(su!='F')
{
entrada>>codig;
su=verificar(codig);
if(su=='F')
break;
entrada>>cantida;
entrada>>caj;
entrada>>detalle;
if(cantida!=0)
{
salida<<codig<<" ";
salida<<cantida<<" ";
salida<<caj<<" ";
salida<<detalle<<endl;
}
}
salida.close();
entrada.close();
cambilis1v();
cambilis2v();
cout<<"terminamos bien....";
delay(4000);
return;
}
void cambilis2v()
{
char detalle[50];
char codig[70];
int cantida;
int caj;
char su='N';
ofstream salida;
ifstream entrada;
salida.open("datos1.txt",ios::app);
salida<<endl;
salida<<"FIN";
salida.close();
salida.open("a:datos.txt");
entrada.open("datos1.txt");
while(su!='F')
{
entrada>>codig;
su=verificar(codig);
if(su=='F')
return;
entrada>>cantida;
entrada>>caj;
entrada>>detalle;
if(cantida!=0)
{
salida<<codig<<" ";
salida<<cantida<<" ";
salida<<caj<<" ";
salida<<detalle<<endl;
}
}
salida.close();
entrada.close();
return;
}
void cambilis1v()
{
char detalle[50];
char codig[70];
int cantida;
int caj;
char su='N';
ofstream salida;
ifstream entrada;
salida.open("datos1.txt",ios::app);
salida<<endl;
salida<<"FIN";
salida.close();
salida.open("datos.txt");
entrada.open("datos1.txt");
while(su!='F')
{
entrada>>codig;
su=verificar(codig);
if(su=='F')
return;
entrada>>cantida;
entrada>>caj;
entrada>>detalle;
if(cantida!=0)
{
salida<<codig<<" ";
salida<<cantida<<" ";
salida<<caj<<" ";
salida<<detalle<<endl;
}
}
salida.close();
entrada.close();
return;
}
void cambilis()
{
char detalle[50];
char codig[70];
int cantida;
int caj;
char su='N';
ofstream salida;
ifstream entrada;
salida.open("datos1.txt",ios::app);
salida<<endl;
salida<<"FIN FIN FIN FIN ";
salida.close();
salida.open("vizcaino.txt");
salida<<5;
salida.close();
salida.open("datos.txt");
entrada.open("datos1.txt");
while(su!='F')
{
entrada>>codig;
su=verificar(codig);
if(su=='F')
{
salida.close();
entrada.close();
salida.open("vizcaino.txt");
salida<<7;
salida.close();
return;
}
entrada>>cantida;
entrada>>caj;
entrada>>detalle;
if(cantida!=0)
{
salida<<codig<<" ";
salida<<cantida<<" ";
salida<<caj<<" ";
salida<<detalle<<endl;
}
}
salida.close();
entrada.close();
return;
}
void camb()
{
char su='N';
char paso[70];
ifstream entrada1;
ofstream salida1;
entrada1.open("salida2.txt");
salida1.open("salida1.txt");
entrada1>>paso;
su=verificar(paso);
while(su!='F')
{
salida1<<paso<<" ";
entrada1>>paso;
salida1<<paso<<" ";
entrada1>>paso;
salida1<<paso<<" ";
entrada1>>paso;
salida1<<paso<<" "<<endl;
entrada1>>paso;
su=verificar(paso);
}
salida1.close();
entrada1.close();
return;
}
char camino(char a)
{
char nino[50];
int ger=0;
ifstream entrada1;
ofstream salida3;
char it='W';
char su='0';
char sua='0';
char sas[15];
char name[15];
char paso[70];
char ma[70];
switch(a)
{
case '1':
sas[0]='F';
sas[1]='A';
sas[2]='C';
sas[3]='\0';
void patis()
{
char su;
su='S';
int sa;
cout.flush();
clrscr();
char domo1[70];
char domo2[50];
char domo3[50];
int cos;
ifstream tal;
cout<<"ingrese el numero de caja...";
cin>>pati;
cambilis1();
cambilis();
cout.flush();
clrscr();
tal.open("datos1.txt");
cout<<"
PRODUCTOS EN UNA CANASTILLA
CANTIDAD CAJA "<<endl<<endl;
tal>>domo1;
su=verificar(domo1);
while(su!='F')
{
tal>>domo2;
tal>>cos;
tal>>domo3;
if(cos==pati)
{
for(sa=0;sa<54;sa++)
cout<<domo1[sa];
cout<<"
";
cout<<domo2<<"
";
cout<<cos<<endl;
cout<<"Detalles...";
for(sa=0;sa<50;sa++)
{
cout<<domo3[sa];
if(domo3[sa]=='\0')
break;
}
cout<<endl;
}
tal>>domo1;
su=verificar(domo1);
}
tal.close();
cout.flush();
getch();
return;
}
void cambilviz1()
{
char detalle[50];
char codig[70];
int cantida;
char ndat;
int caj;
char su='N';
ofstream salida;
ifstream entrada;
salida.open("datos.txt",ios::app);
salida<<endl;
salida<<"FIN FIN FIN FIN";
salida.close();
entrada.open("ndato.txt");
entrada>>ndat;
entrada.close();
if(ndat=='2')
salida.open("datos2.txt");
if(ndat=='3')
salida.open("datos3.txt");
if(ndat=='4')
salida.open("datos4.txt");
if(ndat=='5')
salida.open("datos5.txt");
if(ndat=='6')
salida.open("datos6.txt");
entrada.open("datos.txt");
while(su!='F')
{
entrada>>codig;
su=verificar(codig);
if(su=='F')
return;
entrada>>cantida;
entrada>>caj;
entrada>>detalle;
if(cantida!=0)
{
salida<<codig<<" ";
salida<<cantida<<" ";
salida<<caj<<" ";
salida<<detalle<<endl;
}
}
salida.close();
entrada.close();
return;
}
void cambilviz2()
{
char ndat;
char detalle[50];
char codig[70];
int cantida;
int caj;
char su='N';
ofstream salida;
ifstream entrada;
entrada.open("ndato.txt");
entrada>>ndat;
entrada.close();
if(ndat=='2')
salida.open("datos2.txt",ios::app);
if(ndat=='3')
salida.open("datos3.txt",ios::app);
if(ndat=='4')
salida.open("datos4.txt",ios::app);
if(ndat=='5')
salida.open("datos5.txt",ios::app);
if(ndat=='6')
salida.open("datos6.txt",ios::app);
salida<<endl;
salida<<endl;
salida<<"FIN FIN FIN FIN";
salida.close();
salida.open("datos.txt");
if(ndat=='2')
entrada.open("datos2.txt");
if(ndat=='3')
entrada.open("datos3.txt");
if(ndat=='4')
entrada.open("datos4.txt");
if(ndat=='5')
entrada.open("datos5.txt");
if(ndat=='6')
entrada.open("datos6.txt");
while(su!='F')
{
entrada>>codig;
su=verificar(codig);
if(su=='F')
{
salida.close();
entrada.close();
salida.open("salidas.txt",ios::app);
salida<<endl;
salida<<" x<"<<ndat<<">x"<<endl<<endl;
salida.close();
salida.open("ndato.txt");
if(ndat=='2')
{
ndat='3';
salida<<ndat;
salida.close();
return;
}
if(ndat=='3')
{
ndat='4';
salida<<ndat;
salida.close();
return;
}
if(ndat=='4')
{
ndat='5';
salida<<ndat;
salida.close();
return;
}
if(ndat=='5')
{
ndat='6';
salida<<ndat;
salida.close();
return;
}
if(ndat=='6')
{
ndat='2';
salida<<ndat;
salida.close();
return;
}
salida.close();
return;
}
entrada>>cantida;
entrada>>caj;
entrada>>detalle;
if(cantida!=0)
{
salida<<codig<<" ";
salida<<cantida<<" ";
salida<<caj<<" ";
salida<<detalle<<endl;
}
}
salida.close();
entrada.close();
return;
}
void cambilis1()
{
char detalle[50];
char codig[70];
int cantida;
int caj;
char su='N';
ofstream salida;
ifstream entrada;
salida.open("datos.txt",ios::app);
salida<<endl;
salida<<"FIN FIN FIN FIN";
salida.close();
salida.open("datos1.txt");
entrada.open("datos.txt");
while(su!='F')
{
entrada>>codig;
su=verificar(codig);
if(su=='F')
return;
entrada>>cantida;
entrada>>caj;
entrada>>detalle;
if(cantida!=0)
{
salida<<codig<<" ";
salida<<cantida<<" ";
salida<<caj<<" ";
salida<<detalle<<endl;
}
}
salida.close();
entrada.close();
return;
}
void siguiente(char desido)
{
char das[70];
int das2;
char su='N';
ofstream salida;
ifstream entrada;
if(desido=='1')
salida.open("pedidop.txt",ios::app);
if(desido=='2')
salida.open("pedido1.txt",ios::app);
if(desido=='3')
salida.open("a:pedido3.txt",ios::app);
salida<<endl;
salida<<"FIN FIN";
salida.close();
if(desido=='1')
{
salida.open("pedido10.txt");
entrada.open("pedidop.txt");
}
if(desido=='2')
{
salida.open("pedido20.txt");
entrada.open("pedido1.txt");
}
if(desido=='3')
{
salida.open("pedido30.txt");
entrada.open("a:pedido3.txt");
}
entrada>>das;
su=verificar(das);
if(su=='F')
{
entrada.close();
salida.close();
return;
}
entrada>>das2;
entrada>>das;
su=verificar(das);
while(su!='F')
{
entrada>>das2;
su=verificar(das);
if(su=='F')
goto dsa;
salida<<das<<" ";
salida<<das2<<endl;
entrada>>das;
}
dsa:
salida<<" FIN FIN";
salida.close();
entrada.close();
if(desido=='1')
{
salida.open("pedidop.txt");
entrada.open("pedido10.txt");
}
if(desido=='2')
{
salida.open("pedido1.txt");
entrada.open("pedido20.txt");
}
if(desido=='3')
{
salida.open("a:pedido3.txt");
entrada.open("pedido30.txt");
}
entrada>>das;
su=verificar(das);
while(su!='F')
{
entrada>>das2;
su=verificar(das);
if(su=='F')
goto dsa1;
salida<<das<<" ";
salida<<das2<<endl;
entrada>>das;
}
dsa1:
salida.close();
entrada.close();
return;
}
void pedidout(char desido)
{
char das[70];
char das2[10];
char su='N';
ofstream salida;
ifstream entrada;
if(desido=='1')
salida.open("pedidop.txt",ios::app);
if(desido=='2')
salida.open("pedido1.txt",ios::app);
if(desido=='3')
salida.open("a:pedido3.txt",ios::app);
salida<<endl;
salida<<"FIN FIN";
salida.close();
if(desido=='1')
{
salida.open("pedido10.txt");
entrada.open("pedidop.txt");
}
if(desido=='2')
{
salida.open("pedido20.txt");
entrada.open("pedido1.txt");
}
if(desido=='3')
{
salida.open("pedido30.txt");
entrada.open("a:pedido3.txt");
}
entrada>>das;
su=verificar(das);
while(su!='F')
{
entrada>>das2;
su=verificar(das);
if(su=='F')
goto dsa;
salida<<das<<" ";
salida<<das2<<endl;
entrada>>das;
}
dsa:
salida<<" FIN FIN";
salida.close();
entrada.close();
if(desido=='1')
{
salida.open("pedidop.txt");
entrada.open("pedido10.txt");
}
if(desido=='2')
{
salida.open("pedido1.txt");
entrada.open("pedido20.txt");
}
if(desido=='3')
{
salida.open("a:pedido3.txt");
entrada.open("pedido30.txt");
}
entrada>>das;
su=verificar(das);
while(su!='F')
{
entrada>>das2;
su=verificar(das);
if(su=='F')
goto dsa1;
salida<<das<<" ";
salida<<das2<<endl;
entrada>>das;
}
dsa1:
salida.close();
entrada.close();
return;
}
programa que permite actualizar, crear productos,
eliminar productos y guardar informacion
#include<iostream.h>
#include<conio.h>
#include<string.h>
#include<dos.h>
#include<stdio.h>
#include<fstream.h>
struct producto{
char codigo[10];
char
nombre[50];
double preciocliente;
double preciovecino;
double cantidad;
char
ubicacion[3];
double precio;
char
iva;
char
fecha1[12];
char
credito;
char
fecha2[12];
char
provedor[5];
};
producto escogido;
double totalx1;
double totalx2;
double totalx3;
producto nuevo;
producto elimina;
producto actualiza;
char problems;
char menu();
void muestranu(char cual);
void actualizarpro();
void eliminarpro();
void menuavanzado();
void guardarlainfo();
void recuperasistem();
char alexmira();
void seguroalex();
void nuevoproducto();
char verificaralex(char guia[70]);
double revisapreschar();
double revisacantchar();
char revisacodigo(char un[20]);
char buscarunco(char un[20]);
char buscarpro(char un[20]);
void meternuevo();
void eliminarproducto();
void datonumer(char charted[70]);
void main()
{
ifstream clavein;
char clave[10];
char clave1[70];
char clave2[70];
char sipro;
char uni[20];
char dale='M';
char opc;
problems='n';
char opca;
cout.flush();
clrscr();
cout<<"INGRESE SU CLAVE...";
clave[0]=getch();
gotoxy(19,1);
cout<<"X";
clave[1]=getch();
gotoxy(20,1);
cout<<"X";
clave[2]=getch();
gotoxy(21,1);
cout<<"X";
clave[3]=getch();
gotoxy(22,1);
cout<<"X";
clavein.open("laclave.txt");
clavein>>clave1;
clavein>>clave2;
clavein.close();
if(clave1[9]==clave[0])
if(clave1[19]==clave[1])
if(clave1[29]==clave[2])
if(clave1[39]==clave[3])
goto buenaclave;
if(clave2[9]==clave[0])
if(clave2[19]==clave[1])
if(clave2[29]==clave[2])
if(clave2[39]==clave[3])
goto buenaclave;
return;
buenaclave:
dale=alexmira();
if(dale!='B')
problems='s';
if(dale=='B')
seguroalex();
do{
opc=menu();
switch(opc)
{
case '1':
sipro='o';
cout.flush();
clrscr();
cout<<endl<<endl<<"
ACTUALIZAR PRODUCTO"<<endl<<endl;
cout<<"INGRESE EL CODIGO QUE DESEA
ACTUALIZAR Y ENTER...";
cout.flush();
gets(uni);
sipro=buscarpro(uni);
if(sipro=='S')
actualizarpro();
dale=alexmira();
if(dale!='B')
problems='s';
if(dale=='B')
seguroalex();
break;
case '2':
nuevoproducto();
dale=alexmira();
if(dale!='B')
problems='s';
if(dale=='B')
seguroalex();
break;
case '3':
sipro='o';
cout.flush();
clrscr();
cout<<endl<<endl<<"
ELIMINAR
PRODUCTO"<<endl<<endl;
cout<<"INGRESE EL CODIGO QUE DESEA
ELIMINAR Y ENTER...";
cout.flush();
gets(uni);
sipro=buscarpro(uni);
if(sipro=='S')
eliminarpro();
dale=alexmira();
if(dale!='B')
problems='s';
if(dale=='B')
seguroalex();
break;
case '4':
menuavanzado();
break;
}
}while(opc!='0');
}
char menu()
{
char menu1='o';
do{
cout.flush();
clrscr();
cout<<endl<<endl;
if(problems=='s')
{
cout<<"TIENE PROBLEMAS CON EL ARCHIVO
PRINSIPAL!!!"<<endl;
cout<<"SOLUCIONE PRIMERO ANTES DE
CONTINUAR...VAYA A OPCION 4 AVANZADO";
cout<<endl<<endl;
}
cout<<"
PRINSIPAL"<<endl<<endl;
cout<<"
1.ACTUALIZAR PRODUCTO
"<<endl<<endl;
cout<<"
2.INGRESAR NUEVO
PRODUCTO "<<endl<<endl;
cout<<"
3.ELIMINAR PRODUCTO
"<<endl<<endl;
cout<<"
4.OPCIONES AVANZADAS
"<<endl<<endl;
cout<<"
0.SALIR"<<endl<<endl;
cout<<"
SELECCIONE LA OPCION
DESEADA";
cout.flush();
menu1=getch();
if(problems=='s')
{
if(menu1=='1')
menu1='W';
if(menu1=='2')
menu1='W';
if(menu1=='3')
menu1='W';
}
}while(menu1!='4' && menu1!='0' && menu1!='1' &&
menu1!='2' && menu1!='3');
return menu1;
}
void datonumer(char charted[70])
{
double datos[7];
double a0,a1,a2;
a2=36*36;
a1=36;
a0=1;
totalx1=0;
totalx2=0;
totalx3=0;
for(int p=0;p<7;p++)
{
if(charted[p]=='0')
datos[p]=0;
if(charted[p]=='1')
datos[p]=1;
if(charted[p]=='2')
datos[p]=2;
if(charted[p]=='3')
datos[p]=3;
if(charted[p]=='4')
datos[p]=4;
if(charted[p]=='5')
datos[p]=5;
if(charted[p]=='6')
datos[p]=6;
if(charted[p]=='7')
datos[p]=7;
if(charted[p]=='8')
datos[p]=8;
if(charted[p]=='9')
datos[p]=9;
if(charted[p]=='A')
datos[p]=10;
if(charted[p]=='B')
datos[p]=11;
if(charted[p]=='C')
datos[p]=12;
if(charted[p]=='D')
datos[p]=13;
if(charted[p]=='E')
datos[p]=14;
if(charted[p]=='F')
datos[p]=15;
if(charted[p]=='G')
datos[p]=16;
if(charted[p]=='H')
datos[p]=17;
if(charted[p]=='I')
datos[p]=18;
if(charted[p]=='J')
datos[p]=19;
if(charted[p]=='K')
datos[p]=20;
if(charted[p]=='L')
datos[p]=21;
if(charted[p]=='M')
datos[p]=22;
if(charted[p]=='N')
datos[p]=23;
if(charted[p]=='O')
datos[p]=24;
if(charted[p]=='P')
datos[p]=25;
if(charted[p]=='Q')
datos[p]=26;
if(charted[p]=='R')
datos[p]=27;
if(charted[p]=='S')
datos[p]=28;
if(charted[p]=='T')
datos[p]=29;
if(charted[p]=='U')
datos[p]=30;
if(charted[p]=='V')
datos[p]=31;
if(charted[p]=='W')
datos[p]=32;
if(charted[p]=='X')
datos[p]=33;
if(charted[p]=='Y')
datos[p]=34;
if(charted[p]=='Z')
datos[p]=35;
}
totalx1=datos[0]*a2+datos[1]*a1+datos[2]*a0;
totalx2=datos[3]*a2+datos[4]*a1+datos[5]*a0;
totalx3=datos[6]*a0;
return;
}
void nuevoproducto()
{
char siono='o';
char sino='o';
char uncodigo[20];
char uncodigo1[20];
int ppa;
char dido[70];
ofstream pasout;
char cantchar[20];
char preschar[20];
mues0:
cout.flush();
clrscr();
cout<<endl<<endl;
cout<<"
NUEVO
PRODUCTO"<<endl<<endl;
cout<<" (TRABAJE EN MAYUSCULAS PORFAVOR
/ PARA SALIR PULSE 0 Y ENTER)"<<endl<<endl;
cout<<"RECUERDE: EL PROGRAMA CONSULTA
POR MEDIO DE LAS 3 PRIMERAS LETRAS DEL
CODIGO"<<endl<<endl;
cout<<"INGRESE EL CODIGO (7 DIGITOS) Y PULSE
ENTER...";
cout.flush();
gets(uncodigo);
cout<<endl;
if(uncodigo[0]=='0')
return;
siono=revisacodigo(uncodigo);
if(siono=='N')
goto mues0;
for(int perro=0;perro<7;perro++)
nuevo.codigo[perro]=uncodigo[perro];
nuevo.codigo[7]='\0';
muestranu('0');
cout<<"INGRESE EL NOMBRE DEL PRODUCTO
MAXIMO 40 CARACTERES Y PULSE
ENTER"<<endl;
cout<<"NOMBRE...";
cout.flush();
gets(dido);
if(dido[0]=='0')
return;
for(ppa=0;ppa<45;ppa++)
{
if(dido[ppa]==' ')
nuevo.nombre[ppa]='.';
else
nuevo.nombre[ppa]=dido[ppa];
if(dido[ppa]=='\0')
for(ppa=ppa;ppa<45;ppa++)
nuevo.nombre[ppa]='.';
}
nuevo.nombre[45]='\0';
mues1:
cout<<endl<<"INGRESE EL PRECIO MAYOR Y
PULSE ENTER...$";
cout.flush();
gets(cantchar);
if(cantchar[0]=='0')
return;
pasout.open("cantchar.txt");
pasout<<cantchar;
pasout.close();
nuevo.preciocliente=revisacantchar();
if(nuevo.preciocliente==0)
{
muestranu('1');
goto mues1;
}
mues2:
cout<<endl<<"INGRESE EL PRECIO MENOR Y
PULSE ENTER...$";
cout.flush();
gets(preschar);
if(preschar[0]=='0')
return;
pasout.open("preschar.txt");
pasout<<preschar;
pasout.close();
nuevo.preciovecino=revisapreschar();
if(nuevo.preciovecino==0)
{
muestranu('2');
goto mues2;
}
cout<<endl<<"INGRESE LA UBICACION (2
CARACTERES)!OPCIONAL...";
gotoxy(1,20);
cout<<"SI NO USA UBICACION PULSE ENTER";
gotoxy(48,18);
cout.flush();
gets(uncodigo1);
if(uncodigo1[0]=='0')
return;
if(uncodigo1[0]=='\0' || uncodigo1[0]==' ')
{
nuevo.ubicacion[0]='a';
nuevo.ubicacion[1]='1';
nuevo.ubicacion[2]='\0';
}
if(uncodigo1[0]!='\0' && uncodigo1[0]!=' ')
{
nuevo.ubicacion[0]=uncodigo1[0];
if(uncodigo1[1]=='\0' || uncodigo1[1]==' ')
nuevo.ubicacion[1]='0';
else
nuevo.ubicacion[1]=uncodigo1[1];
nuevo.ubicacion[2]='\0';
}
cout.flush();
clrscr();
cout<<endl<<endl;
cout<<"
NUEVO
PRODUCTO"<<endl<<endl;
cout<<endl<<endl;
cout<<"EL NUEVO PRODUCTO QUEDARA DE LA
SIGUIENTE MANERA"<<endl<<endl;
cout<<nuevo.codigo<<" "<<nuevo.nombre<<"
Ub."<<nuevo.ubicacion<<endl<<endl;
cout<<"PRECIO MAYOR $"<<nuevo.preciocliente<<"
PRECIO MENOR
$"<<nuevo.preciovecino<<endl<<endl;
cout<<"ACEPTA EL NUEVO PRODUCTO? (S/N)...";
cout.flush();
sino=getch();
cout<<sino;
if(sino=='S' || sino=='s')
{
cout<<endl<<endl<<"SEGURO QUE LO ACEPTA???
(S/N)...";
cout.flush();
sino=getch();
cout<<sino;
}
if(sino=='S' || sino=='s')
{
meternuevo();
cout.flush();
clrscr();
cout<<endl<<endl<<"EL NUEVO PRODUCTO!!!
"<<endl<<endl;
cout<<nuevo.codigo<<" "<<nuevo.nombre<<"
Ub."<<nuevo.ubicacion<<endl<<endl;
cout<<"PRECIO MAYOR $"<<nuevo.preciocliente<<"
PRECIO MENOR
$"<<nuevo.preciovecino<<endl<<endl;
cout<<endl<<endl<<"SU PRODUCTO HA SIDO
INGRESADO!!!"<<endl<<endl;
cout<<"PULSE TECLA PARA SALIR";
cout.flush();
getch();
}
return;
}
char revisacodigo(char un[20])
{
char devuelve='N';
if(un[0]!='A' && un[0]!='B'&& un[0]!='C'&& un[0]!='D'&&
un[0]!='E'&& un[0]!='F'&& un[0]!='G'&& un[0]!='H'&&
un[0]!='I'&& un[0]!='J'&& un[0]!='K'&& un[0]!='L'&&
un[0]!='M'&& un[0]!='N'&& un[0]!='O'&& un[0]!='P'&&
un[0]!='Q'&& un[0]!='R'&& un[0]!='S'&& un[0]!='T'&&
un[0]!='U'&& un[0]!='V'&& un[0]!='W'&& un[0]!='X'&&
un[0]!='Y'&& un[0]!='Z')
{
cout<<"LO SIENTO AL MENOS EL PRIMER
CARACTER DEBE SER UNA LETRA"<<endl;
cout<<endl<<"CODIGO ERRONEO!!!";
cout.flush();
getch();
return 'N';
}
for(int v0=1;v0<7;v0++)
{
if(un[v0]!='A'&& un[v0]!='B'&& un[v0]!='C'&&
un[v0]!='D'&& un[v0]!='E'&& un[v0]!='F'&&
un[v0]!='G'&& un[v0]!='H'&& un[v0]!='I'&& un[v0]!='J'&&
un[v0]!='K'&& un[v0]!='L'&& un[v0]!='M'&&
un[v0]!='N'&& un[v0]!='O'&& un[v0]!='P'&&
un[v0]!='Q'&& un[v0]!='R'&& un[v0]!='S'&&
un[v0]!='T'&& un[v0]!='U'&& un[v0]!='V'&&
un[v0]!='W'&& un[v0]!='X'&& un[v0]!='Y'&&
un[v0]!='Z'&& un[v0]!='1'&& un[v0]!='2'&& un[v0]!='3'&&
un[v0]!='4'&& un[v0]!='5'&& un[v0]!='6'&& un[v0]!='7'&&
un[v0]!='8'&& un[v0]!='9'&& un[v0]!='0')
{
cout<<"LO SIENTO CODIGO ERRONEO!!!";
cout.flush();
getch();
return 'N';
}
}
devuelve=buscarunco(un);
if(devuelve!='S')
return 'N';
return 'S';
}
//*************************************************************
*********
//*************************************************************
*********
//*************************************************************
*********
//*************************************************************
*********
//*************************************************************
*********
void meternuevo()
{
char contex;
double datonum1x;
double datonum1y;
double datonum1z;
double datonum2x;
double datonum2y;
double datonum2z;
char elques[10];
char su;
char sus[70];
ifstream entra;
ofstream sale;
char menuac;
contex='0';
datonumer(nuevo.codigo);
datonum1x=totalx1;
datonum1y=totalx2;
datonum1z=totalx3;
entra.open("alex.txt");
entra>>sus;
su=verificaralex(sus);
while(su!='F')
{
datonumer(sus);
datonum2x=totalx1;
datonum2y=totalx2;
datonum2z=totalx3;
cout.flush();
clrscr();
if(datonum2x>datonum1x)
goto acrax;
if(datonum2x>=datonum1x &&
datonum2y>datonum1y)
goto acrax;
if(datonum2x>=datonum1x &&
datonum2y>=datonum1y && datonum2z>datonum1z)
goto acrax;
if(datonum2x<=datonum1x)
{
contex='1';
elques[0]=sus[0];
elques[1]=sus[1];
elques[2]=sus[2];
elques[3]=sus[3];
elques[4]=sus[4];
elques[5]=sus[5];
elques[6]=sus[6];
elques[7]='\0';
}
entra>>sus;
entra>>sus;
entra>>sus;
entra>>sus;
entra>>sus;
entra>>sus;
su=verificaralex(sus);
}
acrax:
entra.close();
entra.open("alex.txt");
sale.open("alexpaso.txt");
entra>>sus;
su=verificaralex(sus);
while(su!='F')
{
if(contex=='0')
{
contex='2';
sale<<nuevo.codigo<<" ";
sale<<nuevo.nombre<<" ";
sale<<nuevo.preciocliente<<" ";
sale<<nuevo.preciovecino<<" ";
sale<<nuevo.cantidad<<" ";
sale<<nuevo.ubicacion<<endl;
}
if(contex=='1')
if(sus[0]==elques[0])
if(sus[1]==elques[1])
if(sus[2]==elques[2])
if(sus[3]==elques[3])
if(sus[4]==elques[4])
if(sus[5]==elques[5])
if(sus[6]==elques[6])
{
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<endl;
sale<<nuevo.codigo<<" ";
sale<<nuevo.nombre<<" ";
sale<<nuevo.preciocliente<<" ";
sale<<nuevo.preciovecino<<" ";
sale<<nuevo.cantidad<<" ";
sale<<nuevo.ubicacion<<endl;
goto porsias;
}
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<endl;
porsias:
entra>>sus;
su=verificaralex(sus);
}
sale<<"+++++";
entra.close();
sale.close();
entra.open("alexpaso.txt");
sale.open("alex.txt");
entra>>sus;
su=verificaralex(sus);
while(su!='F')
{
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<endl;
entra>>sus;
su=verificaralex(sus);
}
sale<<"+++++";
entra.close();
sale.close();
seguroalex();
return;
}
char buscarunco(char un[20])
{
char su='k';
char sus[70];
ifstream entra("alex.txt");
entra>>sus;
su=verificaralex(sus);
while(su!='F')
{
if(sus[0]==un[0])
if(sus[1]==un[1])
if(sus[2]==un[2])
if(sus[3]==un[3])
if(sus[4]==un[4])
if(sus[5]==un[5])
if(sus[6]==un[6])
{
cout<<"EL CODIGO YA EXISTE!!!";
entra.close();
cout.flush();
getch();
return'N';
}
entra>>sus;
entra>>sus;
entra>>sus;
entra>>sus;
entra>>sus;
entra>>sus;
su=verificaralex(sus);
}
entra.close();
return 'S';
}
void eliminarpro()
{
char su;
char sus[70];
ifstream entra;
ofstream sale;
char menuac;
cout.flush();
clrscr();
cout<<endl<<endl;
cout<<"
ELIMINAR"<<endl<<endl;
cout<<escogido.codigo<<" "<<escogido.nombre<<"
Ub."<<escogido.ubicacion<<endl<<endl;
cout<<"PRECIO MAYOR
$"<<escogido.preciocliente<<" PRECIO MENOR
$"<<escogido.preciovecino<<endl<<endl;
cout<<"ESTA SEGURO QUE DESEA ELIMINAR
PRODUCTO??? (S/N)...";
cout.flush();
menuac=getch();
cout<<menuac;
if(menuac!='S')
return;
cout<<endl<<endl<<"COMPLETAMENTE SEGURO
QUE DESEA ELIMINARLO??? (S/N)...";
cout.flush();
menuac=getch();
if(menuac!='S')
return;
cout<<menuac;
entra.open("alex.txt");
sale.open("alexpaso.txt");
entra>>sus;
su=verificaralex(sus);
while(su!='F')
{
if(sus[0]==escogido.codigo[0])
if(sus[1]==escogido.codigo[1])
if(sus[2]==escogido.codigo[2])
if(sus[3]==escogido.codigo[3])
if(sus[4]==escogido.codigo[4])
if(sus[5]==escogido.codigo[5])
if(sus[6]==escogido.codigo[6])
{
entra>>sus;
entra>>sus;
entra>>sus;
entra>>sus;
entra>>sus;
entra>>sus;
su=verificaralex(sus);
if(su=='F')
goto acabartex;
}
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<endl;
entra>>sus;
su=verificaralex(sus);
}
acabartex:
sale<<"+++++";
entra.close();
sale.close();
entra.open("alexpaso.txt");
sale.open("alex.txt");
entra>>sus;
su=verificaralex(sus);
while(su!='F')
{
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<endl;
entra>>sus;
su=verificaralex(sus);
}
sale<<"+++++";
entra.close();
sale.close();
seguroalex();
cout<<endl<<endl<<"PRODUCTO ELIMINADO!!!!
"<<endl<<endl;
cout<<"PULSE TECLA PARA SALIR";
cout.flush();
getch();
return;
}
void actualizarpro()
{
char su;
char cantchar[20];
char uncodigo1[20];
char preschar[20];
ofstream pasout;
char sus[70];
int ppa;
char dido[70];
ifstream entra;
ofstream sale;
char menuac;
filigrana:
do{
cout.flush();
clrscr();
cout<<endl<<endl;
cout<<"
ACTUALIZAR"<<endl<<endl;
cout<<escogido.codigo<<" "<<escogido.nombre<<"
Ub."<<escogido.ubicacion<<endl<<endl;
cout<<"PRECIO MAYOR
$"<<escogido.preciocliente<<" PRECIO MENOR
$"<<escogido.preciovecino<<endl<<endl;
cout<<"
1.ACTUALIZAR NOMBRE
"<<endl;
cout<<"
2.ACTUALIZAR PRECIOS
"<<endl;
cout<<"
3.ACTUALIZAR UBICACION
"<<endl;
cout<<"
0.SALIR"<<endl<<endl;
cout<<"
SELECCIONE LA OPCION
DESEADA";
cout.flush();
menuac=getch();
switch(menuac)
{
case '1':
cout<<endl<<endl;
cout<<"INGRESE EL NOMBRE DEL PRODUCTO
MAXIMO 40 CARACTERES Y PULSE
ENTER"<<endl;
cout<<"NOMBRE...";
cout.flush();
gets(dido);
if(dido[0]=='0')
break;
for(ppa=0;ppa<45;ppa++)
{
if(dido[ppa]==' ')
escogido.nombre[ppa]='.';
else
escogido.nombre[ppa]=dido[ppa];
if(dido[ppa]=='\0')
for(ppa=ppa;ppa<45;ppa++)
escogido.nombre[ppa]='.';
}
escogido.nombre[45]='\0';
break;
case '2':
cout<<endl<<endl<<"INGRESE EL PRECIO MAYOR
Y PULSE ENTER...$";
cout.flush();
gets(cantchar);
pasout.open("cantchar.txt");
pasout<<cantchar;
pasout.close();
escogido.preciocliente=revisacantchar();
if(escogido.preciocliente==0)
break;
cout<<endl<<"INGRESE EL PRECIO MENOR Y
PULSE ENTER...$";
cout.flush();
gets(preschar);
pasout.open("preschar.txt");
pasout<<preschar;
pasout.close();
escogido.preciovecino=revisapreschar();
if(escogido.preciovecino==0)
break;
break;
case '3':
cout<<endl<<endl<<"INGRESE LA UBICACION (2
CARACTERES)!OPCIONAL...";
cout.flush();
gets(uncodigo1);
if(uncodigo1[0]=='0')
break;
if(uncodigo1[0]=='\0' || uncodigo1[0]==' ')
{
escogido.ubicacion[0]='a';
escogido.ubicacion[1]='1';
escogido.ubicacion[2]='\0';
}
if(uncodigo1[0]!='\0' && uncodigo1[0]!=' ')
{
escogido.ubicacion[0]=uncodigo1[0];
if(uncodigo1[1]=='\0' || uncodigo1[1]==' ')
escogido.ubicacion[1]='0';
else
escogido.ubicacion[1]=uncodigo1[1];
escogido.ubicacion[2]='\0';
}
break;
}
}while(menuac!='0' && menuac!='1' && menuac!='2'
&& menuac!='3');
if(menuac=='1' || menuac=='2' || menuac=='3')
goto filigrana;
entra.open("alex.txt");
sale.open("alexpaso.txt");
entra>>sus;
su=verificaralex(sus);
while(su!='F')
{
if(sus[0]==escogido.codigo[0])
if(sus[1]==escogido.codigo[1])
if(sus[2]==escogido.codigo[2])
if(sus[3]==escogido.codigo[3])
if(sus[4]==escogido.codigo[4])
if(sus[5]==escogido.codigo[5])
if(sus[6]==escogido.codigo[6])
{
sale<<escogido.codigo<<" ";
sale<<escogido.nombre<<" ";
sale<<escogido.preciocliente<<" ";
sale<<escogido.preciovecino<<" ";
sale<<escogido.cantidad<<" ";
sale<<escogido.ubicacion<<" "<<endl;
entra>>sus;
entra>>sus;
entra>>sus;
entra>>sus;
entra>>sus;
entra>>sus;
su=verificaralex(sus);
if(su=='F')
goto acabarte;
}
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<endl;
entra>>sus;
su=verificaralex(sus);
}
acabarte:
sale<<"+++++";
entra.close();
sale.close();
entra.open("alexpaso.txt");
sale.open("alex.txt");
entra>>sus;
su=verificaralex(sus);
while(su!='F')
{
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<endl;
entra>>sus;
su=verificaralex(sus);
}
sale<<"+++++";
entra.close();
sale.close();
return;
}
void muestranu(char cual)
{
cout.flush();
clrscr();
cout<<endl<<endl;
cout<<"
NUEVO
PRODUCTO"<<endl<<endl;
cout<<" (TRABAJE EN MAYUSCULAS PORFAVOR
/ PARA SALIR PULSE 0 Y ENTER)"<<endl<<endl;
cout<<"RECUERDE: EL PROGRAMA CONSULTA
POR MEDIO DE LAS 3 PRIMERAS LETRAS DEL
CODIGO"<<endl<<endl;
cout<<"INGRESE EL CODIGO (7 DIGITOS) Y PULSE
ENTER..."<<nuevo.codigo;
cout<<endl<<endl;
if(cual=='1' || cual=='2')
{
cout<<"INGRESE EL NOMBRE DEL PRODUCTO
MAXIMO 40 CARACTERES Y PULSE
ENTER"<<endl;
cout<<"NOMBRE...";
for(int pas=0;pas<45;pas++)
{
if(nuevo.nombre[pas]=='.')
cout<<' ';
else
cout<<nuevo.nombre[pas];
}
cout<<endl;
}
if(cual=='2')
cout<<endl<<"INGRESE EL PRECIO MAYOR Y
PULSE ENTER...$"<<nuevo.preciocliente<<endl;
return;
}
char buscarpro(char un[20])
{
int r;
char su='k';
char sus[70];
char sus1[70];
double sus2;
double sus3;
double sus4;
char sus5[10];
ifstream entra;
entra.open("alex.txt");
entra>>sus;
su=verificaralex(sus);
while(su!='F')
{
entra>>sus1;
entra>>sus2;
entra>>sus3;
entra>>sus4;
entra>>sus5;
if(sus[0]==un[0])
if(sus[1]==un[1])
if(sus[2]==un[2])
if(sus[3]==un[3])
if(sus[4]==un[4])
if(sus[5]==un[5])
if(sus[6]==un[6])
{
for(r=0;r<8;r++)
escogido.codigo[r]=sus[r];
for(r=0;r<50;r++)
escogido.nombre[r]=sus1[r];
escogido.preciocliente=sus2;
escogido.preciovecino=sus3;
escogido.cantidad=sus4;
for(r=0;r<3;r++)
escogido.ubicacion[r]=sus5[r];
entra.close();
return'S';
}
entra>>sus;
su=verificaralex(sus);
}
entra.close();
return 'N';
}
double revisacantchar()
{
int pra;
char elchar[20];
double estesi;
ifstream pasoin;
pasoin.open("cantchar.txt");
pasoin>>elchar;
pasoin.close();
if(elchar[0]=='0')
return 0;
if(elchar[0]=='\0')
{
cout<<endl;
cout<<"NO ES UN NUMERO?!?";
cout.flush();
getch();
return 0;
}
if(elchar[0]!='1' && elchar[0]!='2' && elchar[0]!='3' &&
elchar[0]!='4' && elchar[0]!='5' && elchar[0]!='6' &&
elchar[0]!='7' && elchar[0]!='8' && elchar[0]!='9')
{
cout<<endl;
cout<<"NO ES UN NUMERO?!?";
cout.flush();
getch();
return 0;
}
for(pra=0;pra<20;pra++)
{
if(elchar[pra]!='0' && elchar[pra]!='1' && elchar[pra]!='2'
&& elchar[pra]!='3' && elchar[pra]!='4' &&
elchar[pra]!='5' && elchar[pra]!='6' && elchar[pra]!='7'
&& elchar[pra]!='8' && elchar[pra]!='9')
{
if(elchar[pra]=='\0')
{
pasoin.open("cantchar.txt");
pasoin>>estesi;
pasoin.close();
return estesi;
}
else
{
cout<<endl;
cout<<"NO ES UN NUMERO?!?";
cout.flush();
getch();
return 0;
}
}
}
return 0;
}
double revisapreschar()
{
int pra;
char elchar[20];
double estesi;
ifstream pasoin;
pasoin.open("preschar.txt");
pasoin>>elchar;
pasoin.close();
if(elchar[0]=='0')
return 0;
if(elchar[0]=='\0')
{
cout<<endl;
cout<<"NO ES UN NUMERO?!?";
cout.flush();
getch();
return 0;
}
if(elchar[0]!='1' && elchar[0]!='2' && elchar[0]!='3' &&
elchar[0]!='4' && elchar[0]!='5' && elchar[0]!='6' &&
elchar[0]!='7' && elchar[0]!='8' && elchar[0]!='9')
{
cout<<endl;
cout<<"NO ES UN NUMERO?!?";
cout.flush();
getch();
return 0;
}
for(pra=0;pra<20;pra++)
{
if(elchar[pra]!='0' && elchar[pra]!='1' && elchar[pra]!='2'
&& elchar[pra]!='3' && elchar[pra]!='4' &&
elchar[pra]!='5' && elchar[pra]!='6' && elchar[pra]!='7'
&& elchar[pra]!='8' && elchar[pra]!='9')
{
if(elchar[pra]=='\0')
{
pasoin.open("preschar.txt");
pasoin>>estesi;
pasoin.close();
return estesi;
}
else
{
cout<<endl;
cout<<"NO ES UN NUMERO?!?";
cout.flush();
getch();
return 0;
}
}
}
return 0;
}
void menuavanzado()
{
char acepto;
ifstream clavein;
ofstream claveout;
char clave[10];
char clave1[70];
char clave2[70];
int cual;
int cualtos;
char menur='o';
ifstream elseguro("elseguro.txt");
elseguro>>cual;
elseguro>>cualtos;
elseguro.close();
clavein.open("laclave.txt");
clavein>>clave1;
clavein>>clave2;
clavein.close();
do{
cout.flush();
clrscr();
cout<<endl<<endl;
if(problems=='s')
{
cout<<"TIENE PROBLEMAS CON EL ARCHIVO
PRINSIPAL!!!"<<endl;
cout<<"SOLUCIONE PRIMERO ANTES DE
CONTINUAR...VAYA A OPCION 3 RECUPERAR";
cout<<endl<<endl;
}
cout<<"
AVANZADO"<<endl<<endl;
cout<<"
1.CAMBIAR CLAVE1
"<<endl<<endl;
cout<<"
2.CAMBIAR CLAVE2
"<<endl<<endl;
cout<<"
3.RECUPERAR SISTEMA
seguro en "<<cual<<endl;
cout<<"
productos
"<<cualtos<<endl<<endl;
cout<<"
4.GUARDAR LA INFORMACION
"<<endl<<endl;
cout<<"
0.SALIR"<<endl<<endl;
cout<<"
SELECCIONE LA OPCION
DESEADA";
cout.flush();
menur=getch();
}while(menur!='4' && menur!='0' && menur!='1' &&
menur!='2' && menur!='3');
switch(menur)
{
case '3':
recuperasistem();
break;
case '1':
cout.flush();
clrscr();
cout<<"INGRESE SU CLAVE...";
clave[0]=getch();
gotoxy(19,1);
cout<<"X";
clave[1]=getch();
gotoxy(20,1);
cout<<"X";
clave[2]=getch();
gotoxy(21,1);
cout<<"X";
clave[3]=getch();
gotoxy(22,1);
cout<<"X";
if(clave1[9]==clave[0])
if(clave1[19]==clave[1])
if(clave1[29]==clave[2])
if(clave1[39]==clave[3])
goto buenaclave1;
break;
buenaclave1:
cout<<endl<<endl;
cout<<"SU CLAVE ACTUAL
ES..."<<clave[0]<<clave[1]<<clave[2]<<clave[3]<<endl
<<endl;
cout<<"INGRESE SU NUEVA CLAVE(4 DIGITOS) Y
PRESIONE ENTER...";
cout.flush();
gets(clave);
cout<<endl<<endl;
cout<<"SU NUEVA CLAVE
ES..."<<clave[0]<<clave[1]<<clave[2]<<clave[3]<<endl
<<endl;
cout<<"ACEPTA LA NUEVA CLAVE?...(S/N)";
acepto=getch();
if(acepto=='s')
goto siacepto1;
if(acepto=='S')
goto siacepto1;
cout<<endl<<endl;
cout<<"NO??? SU CLAVE SIGUE SIENDO
"<<clave1[9]<<clave1[19]<<clave1[29]<<clave1[39]<<
endl<<endl;
cout<<"PULSE TECLA PARA SALIR";
cout.flush();
getch();
break;
siacepto1:
clave1[9]=clave[0];
clave1[19]=clave[1];
clave1[29]=clave[2];
clave1[39]=clave[3];
claveout.open("laclave.txt");
claveout<<clave1<<endl;
claveout<<clave2<<endl;
claveout.close();
cout<<endl<<endl;
cout<<"CLAVE ACEPTADA!!! SU NUEVA CLAVE ES
"<<clave1[9]<<clave1[19]<<clave1[29]<<clave1[39]<<
endl<<endl;
cout<<"PULSE TECLA PARA SALIR";
cout.flush();
getch();
break;
case '2':
cout.flush();
clrscr();
cout<<"INGRESE SU CLAVE...";
clave[0]=getch();
gotoxy(19,1);
cout<<"X";
clave[1]=getch();
gotoxy(20,1);
cout<<"X";
clave[2]=getch();
gotoxy(21,1);
cout<<"X";
clave[3]=getch();
gotoxy(22,1);
cout<<"X";
if(clave2[9]==clave[0])
if(clave2[19]==clave[1])
if(clave2[29]==clave[2])
if(clave2[39]==clave[3])
goto buenaclave2;
break;
buenaclave2:
cout<<endl<<endl;
cout<<"SU CLAVE ACTUAL
ES..."<<clave[0]<<clave[1]<<clave[2]<<clave[3]<<endl
<<endl;
cout<<"INGRESE SU NUEVA CLAVE(4 DIGITOS) Y
PRESIONE ENTER...";
cout.flush();
gets(clave);
cout<<endl<<endl;
cout<<"SU NUEVA CLAVE
ES..."<<clave[0]<<clave[1]<<clave[2]<<clave[3]<<endl
<<endl;
cout<<"ACEPTA LA NUEVA CLAVE?...(S/N)";
acepto=getch();
if(acepto=='s')
goto siacepto2;
if(acepto=='S')
goto siacepto2;
cout<<endl<<endl;
cout<<"NO??? SU CLAVE SIGUE SIENDO
"<<clave2[9]<<clave2[19]<<clave2[29]<<clave2[39]<<
endl<<endl;
cout<<"PULSE TECLA PARA SALIR";
cout.flush();
getch();
break;
siacepto2:
clave2[9]=clave[0];
clave2[19]=clave[1];
clave2[29]=clave[2];
clave2[39]=clave[3];
claveout.open("laclave.txt");
claveout<<clave1<<endl;
claveout<<clave2<<endl;
claveout.close();
cout<<endl<<endl;
cout<<"CLAVE ACEPTADA!!! SU NUEVA CLAVE ES
"<<clave2[9]<<clave2[19]<<clave2[29]<<clave2[39]<<
endl<<endl;
cout<<"PULSE TECLA PARA SALIR";
cout.flush();
getch();
break;
case '4':
guardarlainfo();
break;
}
return;
}
void recuperasistem()
{
int asegurado1;
char asegurado2;
char dale;
ifstream clavein;
char clave[10];
char clave1[70];
char clave2[70];
int conteo=0;
int trabaj=0;
char su;
char sus[70];
ifstream entra;
ofstream sale;
cout.flush();
clrscr();
if(problems!='s')
{
cout<<"LO SIENTO PERO EL SISTEMA ESTA
BIEN...";
cout.flush();
getch();
return;
}
cout<<"INGRESE SU CLAVE...";
clave[0]=getch();
gotoxy(19,1);
cout<<"X";
clave[1]=getch();
gotoxy(20,1);
cout<<"X";
clave[2]=getch();
gotoxy(21,1);
cout<<"X";
clave[3]=getch();
gotoxy(22,1);
cout<<"X";
clavein.open("laclave.txt");
clavein>>clave1;
clavein>>clave2;
clavein.close();
if(clave1[9]==clave[0])
if(clave1[19]==clave[1])
if(clave1[29]==clave[2])
if(clave1[39]==clave[3])
goto buenaclaver;
if(clave2[9]==clave[0])
if(clave2[19]==clave[1])
if(clave2[29]==clave[2])
if(clave2[39]==clave[3])
goto buenaclaver;
return;
buenaclaver:
entra.open("elseguro.txt");
entra>>asegurado1;
entra>>asegurado2;
entra.close();
sale.open("alex.txt");
if(asegurado1==1)
entra.open("alex1.txt");
if(asegurado1==2)
entra.open("alex2.txt");
if(asegurado1==3)
entra.open("alex3.txt");
if(asegurado1==4)
entra.open("alex4.txt");
if(asegurado1==5)
entra.open("alex5.txt");
if(asegurado1==6)
entra.open("alex6.txt");
if(asegurado1==7)
entra.open("alex7.txt");
if(asegurado1==8)
entra.open("alex8.txt");
if(asegurado1==9)
entra.open("alex9.txt");
if(asegurado1==10)
entra.open("alex10.txt");
if(asegurado1==11)
entra.open("alex11.txt");
if(asegurado1==12)
entra.open("alex12.txt");
if(asegurado1==13)
entra.open("alex13.txt");
if(asegurado1==14)
entra.open("alex14.txt");
if(asegurado1==15)
entra.open("alex15.txt");
entra>>sus;
su=verificaralex(sus);
while(su!='F')
{
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" "<<endl;
entra>>sus;
conteo++;
trabaj++;
if(trabaj==100)
{
cout<<" RECUPERANDO...";
trabaj=0;
}
su=verificaralex(sus);
if(conteo==20000)
{
cout.flush();
clrscr();
cout<<endl<<endl<<"!!!PROBLEMAS LLAMAR
TECNICO PULSE TECLA";
cout.flush();
getch();
cout<<"!!!PROBLEMAS LLAMAR TECNICO PULSE
TECLA";
cout.flush();
getch();
return;
}
}
sale<<"+++++";
sale.close();
entra.close();
problems='M';
dale=alexmira();
if(dale!='B')
problems='s';
if(dale=='B')
seguroalex();
if(problems!='s')
{
cout.flush();
clrscr();
cout<<endl<<endl;
cout<<"SE HA RECUPERADO!!! EL ULTIMO
ARCHIVO GUARDADO..."<<endl<<endl;
cout<<"REVISE LAS ULTIMAS
OPERACIONES."<<endl<<endl;
cout<<"PULSE TECLA PARA CONTINUAR";
cout.flush();
getch();
}
return;
}
void guardarlainfo()
{
char asegurado1;
char asegurado2;
ifstream clavein;
char clave[10];
char clave1[70];
char clave2[70];
int conteo=0;
int trabaj=0;
char su;
char sus[70];
ifstream entra;
ofstream sale;
cout.flush();
clrscr();
cout<<"INGRESE SU CLAVE...";
clave[0]=getch();
gotoxy(19,1);
cout<<"X";
clave[1]=getch();
gotoxy(20,1);
cout<<"X";
clave[2]=getch();
gotoxy(21,1);
cout<<"X";
clave[3]=getch();
gotoxy(22,1);
cout<<"X";
clavein.open("laclave.txt");
clavein>>clave1;
clavein>>clave2;
clavein.close();
if(clave1[9]==clave[0])
if(clave1[19]==clave[1])
if(clave1[29]==clave[2])
if(clave1[39]==clave[3])
goto buenaclaveg;
if(clave2[9]==clave[0])
if(clave2[19]==clave[1])
if(clave2[29]==clave[2])
if(clave2[39]==clave[3])
goto buenaclaveg;
return;
buenaclaveg:
cout.flush();
clrscr();
cout<<"INGRESE DISQUET PARA
GUARDAR LA INFORMACION DE LOS
PRODUCTOS"<<endl<<endl;
cout<<"PULSE TECLA PARA
CONTINUAR";
cout.flush();
getch();
sale.open("a:asegurado.txt");
entra.open("elseguro.txt");
entra>>asegurado1;
entra>>asegurado2;
sale<<asegurado1<<endl;
sale<<asegurado2<<endl;
sale.close();
entra.close();
sale.open("a:producto.txt");
entra.open("alex.txt");
entra>>sus;
su=verificaralex(sus);
while(su!='F')
{
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" "<<endl;
entra>>sus;
conteo++;
trabaj++;
if(trabaj==100)
{
cout<<" TRABAJANDO...";
trabaj=0;
}
su=verificaralex(sus);
if(conteo==20000)
{
cout<<"!!!PROBLEMAS LLAMAR TECNICO PULSE
TECLA";
cout.flush();
getch();
cout<<"!!!PROBLEMAS LLAMAR TECNICO PULSE
TECLA";
cout.flush();
getch();
return;
}
}
sale<<"+++++";
sale.close();
entra.close();
}
void seguroalex()
{
char su;
int contador=0;
int elseguro;
int cuantos;
char sus[70];
ofstream salex1;
ofstream salex;
ifstream entralex;
entralex.open("elseguro.txt");
entralex>>elseguro;
entralex>>cuantos;
entralex.close();
elseguro++;
if(elseguro==15)
elseguro=1;
salex1.open("alexmira.txt");
if(elseguro==1)
salex.open("alex1.txt");
if(elseguro==2)
salex.open("alex2.txt");
if(elseguro==3)
salex.open("alex3.txt");
if(elseguro==4)
salex.open("alex4.txt");
if(elseguro==5)
salex.open("alex5.txt");
if(elseguro==6)
salex.open("alex6.txt");
if(elseguro==7)
salex.open("alex7.txt");
if(elseguro==8)
salex.open("alex8.txt");
if(elseguro==9)
salex.open("alex9.txt");
if(elseguro==10)
salex.open("alex10.txt");
if(elseguro==11)
salex.open("alex11.txt");
if(elseguro==12)
salex.open("alex12.txt");
if(elseguro==13)
salex.open("alex13.txt");
if(elseguro==14)
salex.open("alex14.txt");
if(elseguro==15)
salex.open("alex15.txt");
entralex.open("alex.txt");
entralex>>sus;
su=verificaralex(sus);
while(su!='F')
{
salex<<sus<<" ";
salex1<<sus<<" ";
entralex>>sus;
salex<<sus<<" ";
salex1<<sus<<" ";
entralex>>sus;
salex<<sus<<" ";
salex1<<sus<<" ";
entralex>>sus;
salex<<sus<<" ";
salex1<<sus<<" ";
entralex>>sus;
salex<<sus<<" ";
salex1<<sus<<" ";
entralex>>sus;
salex<<sus<<endl;
salex1<<sus<<endl;
entralex>>sus;
contador++;
su=verificaralex(sus);
}
salex<<endl<<"+++++";
salex1<<endl<<"+++++";
salex.close();
salex1.close();
entralex.close();
salex.open("elseguro.txt");
salex<<elseguro<<endl;
salex<<contador;
salex.close();
return;
}
char alexmira()
{
char su;
int elseguro;
int yuv;
int cuantos;
char sus[70];
ofstream salex;
ifstream entralex;
entralex.open("elseguro.txt");
entralex>>elseguro;
entralex>>cuantos;
entralex.close();
entralex.open("alex.txt");
for(yuv=0;yuv<cuantos;yuv++)
{
entralex>>sus;
su=verificaralex(sus);
if(su=='F')
goto nadapaila;
entralex>>sus;
su=verificaralex(sus);
if(su=='F')
goto nadapaila;
entralex>>sus;
su=verificaralex(sus);
if(su=='F')
goto nadapaila;
entralex>>sus;
su=verificaralex(sus);
if(su=='F')
goto nadapaila;
entralex>>sus;
su=verificaralex(sus);
if(su=='F')
goto nadapaila;
entralex>>sus;
su=verificaralex(sus);
if(su=='F')
goto nadapaila;
}
entralex>>sus;
su=verificaralex(sus);
if(su!='F')
{
nadapaila:
cout<<endl<<endl;
cout<<"PILAS!! archivo daado. Recupere en
AVANZADO"<<endl;
cout<<"mientras el problema no se solucione el
programa le avisara"<<endl;
cout<<"presione tecla para continuar"<<endl;
cout.flush();
getch();
return 'M';
}
return 'B';
}
char verificaralex(char guia[70])
{
if(guia[0]=='+')
if(guia[1]=='+')
if(guia[2]=='+')
if(guia[3]=='+')
if(guia[4]=='+')
return 'F';
return 'N';
}
class lista{
private:
nodo *cabeza;
public:
lista();
void
mostrar(nodo *&p);
void destruir(int
cont);///////////////////////////////////
void
ubicar(nodo*&q,nodo*&p,char
n[50],int cont);
int
iniciaralex(char archalex[10]);
void
char
void
};
void marcia();
void losingresos();
void ingresar();
void cambilis(double reas);
int primo1;
int primo2;
int primo3;
char facata[12];
char detalles[40];
double tomax;
void fecha();
void fecha1();
void cambiarfecha();
void imfecha();
void ingreso();
char codi[10][10];
char nomb[10][50];
char ingres;
char menu();
void guardado();
char clavep(char z[12]);
char clave2(char z[12]);
char verificaralex(char guia[70]);
char tads;
void main()
{
lhdmmlc:
char archalex[70];
char sw;
ifstream entralex;
ifstream ferew;
ifstream fere;
ifstream solo;
ofstream salir;
ofstream fare;
ofstream farew;
/*
salir.open("numer1.txt");
salir<<0<<" ";
salir<<0<<" ";
salir.close();
salir.open("INVEN.txt");
salir<<"VENTA.FERRETERIA";
salir<<endl;
salir.close();
*/
int siza;
int cont;
int ww;
int numer;
int yes;
double dess;
double tias;
double tia;
double tios;
double tioas;
int dw;
int dwr;
char sus[50];
char elegido[50];
char maria[150];
char murcigay[40];
char a,t;
lista x;
fecha();
ingreso();
do{
{
case'A':
cont=0;
cout.flush();
clrscr();
solo.open("numer1.txt");
solo>>numer;
solo>>dess;
solo.close();
solo.open("inven1.txt");
dess=0;
tioas=0;
solo>>maria;
cout<<maria<<" fecha:";
cout<<facata<<"
CAJA CANTIDAD "<<endl;
for(yes=0;yes<numer;yes++)
{
solo>>maria;
cout<<maria;
solo>>tias;
solo>>tios;
cout<<" ";
cout<<tios;
if(tios<10)
cout<<" ";
if(tios<100)
cout<<" ";
cout<<"
";
cout<<tias<<endl;
tioas=tioas+tios;
solo>>detalles;
dess=0;
}
solo.close();
cout<<endl;
if(ingres!='0')
{
cout<<"ESTOS DATOS YA
FUERON INGRESADOS AL SISTEMA"<<endl;
cout<<"INGRESE PALABRA
NUEVO PARA INICIAR LISTA...";
cout.flush();
gets(murcigay);
if(murcigay[0]=='N')
if(murcigay[1]=='U')
if(murcigay[2]=='E')
if(murcigay[3]=='V')
if(murcigay[4]=='O')
{
marcia();
goto lhdmmlc;
}
sus[0]='0';
}
if(ingres=='0')
{
cout<<"OPCIONES...(NUEVA,BORRAR,ELI
MINAR,FECHA,INGRESO)"<<endl;
cout<<"Ingrese el nombre del
producto.(de 0 para salir)...";
cout.flush();
gets(sus);
}
cout.flush();
clrscr();
tads='0';
switch(sus[0])
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='A')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'B':
if(sus[1]=='O')
if(sus[2]=='R')
if(sus[3]=='R')
if(sus[4]=='A')
if(sus[5]=='R')
{
fare.open("numer1.txt");
fare<<numer-1<<" ";
fare<<0;
fare.close();
fere.open("inven1.txt");
fare.open("inven11.txt");
fere>>sus;
fare<<sus<<endl;
for(dwr=0;dwr<numer-1;dwr++)
{
for(dw=0;dw<4;dw++)
{
fere>>sus;
fare<<sus<<" ";
}
fare<<endl;
}
fare.close();
fere.close();
fere.open("inven11.txt");
fare.open("inven1.txt");
fere>>sus;
fare<<sus<<endl;
for(dwr=0;dwr<numer-1;dwr++)
{
for(dw=0;dw<4;dw++)
{
fere>>sus;
fare<<sus<<" ";
}
fare<<endl;
}
fare.close();
fere.close();
break;
}
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='B')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
solo>>maria;
cout<<maria;
solo>>tias;
cout<<"..Cant.";
cout<<tias;
solo>>tios;
cout<<"..Precio..$";
cout<<tios<<endl;
tioas=tioas+tios;
solo>>tia;
dess=dess+tia;
}
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='C')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
cout<<endl;
cout<<"digite el codigo que desea
case'C':
eliminar...";
cout.flush();
gets(elegido);
siza=0;
fere.open("inven1.txt");
fare.open("inven11.txt");
fere>>sus;
fare<<sus<<endl;
for(dwr=0;dwr<numer;dwr++)
{
for(dw=0;dw<4;dw++)
{
fere>>sus;
if(dw==0)
{
if(sus[0]==elegido[0])
if(sus[1]==elegido[1])
if(sus[2]==elegido[2])
if(sus[3]==elegido[3])
if(sus[4]==elegido[4])
if(sus[5]==elegido[5])
if(sus[6]==elegido[6])
{
fere>>sus;
fere>>sus;
fere>>sus;
dw=5;
siza++;
}
}
if(dw!=5)
{
fare<<sus<<" ";
fare<<endl;
}
case'D':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='D')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'E':
if(sus[1]=='L')
if(sus[2]=='I')
if(sus[3]=='M')
if(sus[4]=='I')
if(sus[5]=='N')
{
solo.open("numer1.txt");
solo>>numer;
solo>>dess;
solo.close();
solo.open("inven1.txt");
dess=0;
tioas=0;
solo>>maria;
cout<<maria<<endl;
for(yes=0;yes<numer;yes++)
{
}
}
if(siza!=0)
{
farew.open("numer1.txt");
farew<<numer-siza<<" ";
farew<<0;
farew.close();
siza=0;
}
fare.close();
fere.close();
fere.open("numer1.txt");
fere>>numer;
fere>>dess;
fere.close();
fere.open("inven11.txt");
fare.open("inven1.txt");
fere>>sus;
fare<<sus<<endl;
for(dwr=0;dwr<numer;dwr++)
{
for(dw=0;dw<4;dw++)
{
fere>>sus;
fare<<sus<<" ";
}
fare<<endl;
}
fare.close();
fere.close();
break;
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
}
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='E')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'F':
case'H':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='H')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'I':
if(sus[1]=='E')
if(sus[2]=='C')
if(sus[3]=='H')
if(sus[4]=='A')
{
cambiarfecha();
break;
}
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='F')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
if(sus[1]=='N')
if(sus[2]=='G')
if(sus[3]=='R')
if(sus[4]=='E')
if(sus[5]=='S')
if(sus[6]=='O')
{
losingresos();
break;
}
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='I')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'G' :
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='G')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
case'J':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='J')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'N':
if(sus[1]=='U')
if(sus[2]=='E')
if(sus[3]=='V')
if(sus[4]=='A')
{
fare.open("numer1.txt");
fare<<0<<" ";
fare<<0;
fare.close();
fare.open("inven1.txt");
fare<<"INVENTARIOS ";
fare.close();
break;
}
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='N')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'K':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='K')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'L':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='L')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'O':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='O')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'M':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='M')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'P':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='P')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='T')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'Q':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='Q')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'U':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='U')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'R':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='R')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'V':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='V')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'S':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='S')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'T':
case'W':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='W')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'X':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='X')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'Y':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='Y')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'Z':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='Z')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
}
adioschao:
sw='+';
}while(sus[0]!='0');
return;
}
void marcia()
{
char x;
ofstream papa;
ifstream entrada;
entrada.open("inv1.txt");
entrada>>x;
entrada.close();
if(x=='0')
{
cout.flush();
clrscr();
cout<<" LA LISTA DE ENTRADA AUN SE
ENCUENTRA ESPERANDO INGRESO!!!!"<<endl;
cout<<"PRESIONE TECLA PARA SALIR...";
cout.flush();
getch();
return;
}
papa.open("inv1.txt");
papa<<0<<endl<<endl;
papa.close();
papa.open("inven1.txt");
papa<<"NUEVAS.COMPRAS"<<endl<<endl;
papa.close();
papa.open("numer1.txt");
papa<<"0 0"<<endl<<endl;
papa.close();
}
void ingreso()
{
ifstream salia("inv1.txt");
salia>>ingres;
salia.close();
}
void cambiarfecha()
{
cout.flush();
clrscr();
char ranura[20];
cout<<"INGRESE LA FECHA ACTUAL...";
cout.flush();
gets(ranura);
ranura[2]='/';
ranura[5]='/';
ranura[8]='\0';
for(int re=0;re<9;re++)
{
if(ranura[re]==' ')
ranura[re]='0';
facata[re]=ranura[re];
}
return;
}
void fecha()
{
ifstream entrada("fecha1.txt");
entrada>>facata;
entrada.close();
return;
}
void cambilis(double reas)
{
primo1=0;
primo2=0;
primo3=0;
while(reas>1000000)
{
reas=reas-1000000;
primo1++;
}
while(reas>1000)
{
reas=reas-1000;
primo2++;
}
while(reas>1)
{
reas=reas-1;
primo3++;
}
primo3++;
if(primo3==1000)
{
primo3=0;
primo2++;
if(primo2==1000)
{
primo2=0;
primo1++;
}
}
return;
}
void losingresos()
{
ifstream ferew;
ifstream fere;
ifstream solo;
ofstream salir;
ofstream fare;
ofstream farew;
int siza;
int cont;
int ww;
int numer;
int yes;
double dess;
double tias;
double tia;
double tios;
double tioas;
int dw;
int dwr;
char sus[50];
char elegido[50];
char maria[150];
char a,t;
//lista x;
fecha();
ingreso();
do{
//
cont=0;
cout.flush();
clrscr();
solo.open("numer1.txt");
solo>>numer;
solo>>dess;
solo.close();
solo.open("inven1.txt");
dess=0;
tioas=0;
solo>>maria;
cout<<"INGRESO DE
"<<maria<<" fecha:";
cout<<facata<<"
CAJA
CANTIDAD "<<endl;
for(yes=0;yes<numer;yes++)
{
solo>>maria;
cout<<maria;
solo>>tias;
solo>>tios;
cout<<" ";
cout<<tios;
if(tios<10)
cout<<" ";
if(tios<100)
cout<<" ";
cout<<"
";
cout<<tias<<endl;
tioas=tioas+tios;
solo>>detalles;
dess=0;
}
solo.close();
cout<<endl;
if(ingres!='0')
{
sus[0]='0';
}
if(ingres=='0')
{
cout<<"REVISE SU LISTA.
OPCIONES...(FINALIZAR, de 0 para salir)...";
cout.flush();
gets(sus);
}
cout.flush();
clrscr();
switch(sus[0])
{
case'F':
if(sus[1]=='I')
if(sus[2]=='N')
if(sus[3]=='A')
if(sus[4]=='L')
if(sus[5]=='I')
if(sus[6]=='Z')
if(sus[7]=='A')
if(sus[8]=='R')
{
ingresar();
ingres='9';
break;
}
break;
}
}while(sus[0]!='0');
return;
}
void ingresar()
{
int nuez;
ifstream trem("numer1.txt");
trem>>nuez;
trem.close();
char codigo[70];
int cant;
int caja;
char deta[50];
ifstream entrada("inven1.txt");
ofstream salida("datos.txt",ios::app);
entrada>>codigo;
for(int ter=0;ter<nuez;ter++)
{
entrada>>codigo;
entrada>>cant;
entrada>>caja;
entrada>>deta;
salida<<codigo<<" ";
salida<<cant<<" ";
salida<<caja<<" ";
salida<<deta<<endl;
while(p->codigo[2]==cliente->codigo[2])
{
cout<<" "<<p->codigo<<"."<<p>nombre<<"..Cant."<<p->cantidad<<".."<<p>ubicacion<<endl;
cout<<" $"<<p->preciovecino;
if(p->preciovecino<100000)
cout<<" ";
if(p->preciovecino<10000)
cout<<" ";
if(p->preciovecino<1000)
cout<<" ";
if(p->preciovecino<100)
cout<<" ";
if(p->preciovecino<10)
cout<<" ";
cout<<" $"<<p->preciocliente;
cout<<" -->"<<papo<<endl;
for(int reas=0;reas<8;reas++)
codi[papo][reas]=p->codigo[reas];
papo++;
if(papo==10)
{
papo=0;
cout<<"salir(PRESIONE
+)/continuar(enter)/seleccione...";
cout.flush();
ri=getch();
ri=comono(cont,ri);
cout.flush();
clrscr();
if(ri=='+')
return;
entrada.close();
salida.close();
ofstream salia("inv1.txt");
salia<<1;
salia.close();
}
void lista::ubicar(nodo*&q,nodo*&p,char n[50],int
cont)/////////////////////////////
{
q=NULL;
p=cabeza;
for(int f=0;f<cont;f++)
{
if(n[0]>p->codigo[0])
{
q=p;
p=p->siguiente;
}
else
break;
}
if(n[0]==p->codigo[0])
{
for(int ry=f;ry<cont;ry++)
{
if(n[0]==p->codigo[0]&&n[1]>p->codigo[1])
{
q=p;
p=p->siguiente;
}
else
break;
}
if(n[1]==p->codigo[1])
{
for(int fab=ry;fab<cont;fab++)
{
if(n[1]==p->codigo[1]&&n[2]>p->codigo[2])
{
q=p;
p=p->siguiente;
}
else
break;
}
}
}
}
void guardado()
{
return;
}
void lista::consultar(int cont,char
sus[50])///////////////////////////////////////
{
char res;
nodo *p,*q,*cliente;
cliente=new nodo;
int papo=0;
for(int dd=0;dd<cont;dd++)
cliente->codigo[dd]=sus[dd];
ubicar(q,p,cliente->codigo,cont);
if(p->codigo[0]==cliente->codigo[0])
{
if(p->codigo[1]==cliente->codigo[1])
{
char ri;
}
p=p->siguiente;
}
}
}
if(papo!=0)
{
cout<<"salir(PRESIONE
+)/continuar(enter)/seleccione...";
cout.flush();
res=getch();
res=comono(cont,res);
cout.flush();
clrscr();
}
return;
}
char lista::comono(int cont,char
ri)///////////////////////////////////////
{
switch(ri)
{
case '0':
consultar1(cont,0);
return '+';
break;
case '1':
consultar1(cont,1);
return '+';
break;
case '2':
consultar1(cont,2);
return '+';
break;
case '3':
consultar1(cont,3);
return '+';
break;
case '4':
consultar1(cont,4);
return '+';
break;
case '5':
consultar1(cont,5);
return '+';
break;
case '6':
consultar1(cont,6);
return '+';
break;
case '7':
consultar1(cont,7);
return '+';
break;
case '8':
consultar1(cont,8);
return '+';
break;
case '9':
consultar1(cont,9);
return '+';
break;
case '+':
return '+';
break;
}
return 'N';
}
void lista::consultar1(int cont,int
drull)///////////////////////////////////////
{
int arroz;
cout.flush();
ofstream sale;
clrscr();
nodo *p,*q,*cliente;
cliente=new nodo;
for(int dd=0;dd<8;dd++)
cliente->nombre[dd]=codi[drull][dd];
ubicar(q,p,cliente->nombre,cont);
if(p->codigo[1]==cliente->nombre[1])
{
if(p->codigo[1]==cliente->nombre[1])
{
char ri;
while(p->codigo[2]==cliente->nombre[2])
{
if(p->codigo[3]==cliente->nombre[3])
if(p->codigo[4]==cliente->nombre[4])
if(p->codigo[5]==cliente->nombre[5])
if(p->codigo[6]==cliente->nombre[6])
if(p->codigo[7]==cliente->nombre[7])
{
ifstream entr;
double cant;
double toti;
double numero;
double descuento;
double descu;
tads='1';
cout<<" "<<p->codigo<<".."<<p>nombre<<"...precio..$"<<p->preciocliente<<endl;
cout<<endl;
cout<<"INGRESE EL NUMERO DE CAJA...";
cin>>toti;
if(toti<1)
return;
cout<<"INGRESE LA CANTIDAD...";
cin>>cant;
cout<<"INGRESE LA DETALLES...";
cout.flush();
gets(detalles);
if(detalles[0]=='\0')
{
detalles[0]='?';
detalles[1]='?';
detalles[2]='?';
detalles[3]='\0';
}
for(arroz=0;arroz<50;arroz++)
{
if(detalles[arroz]==' ')
detalles[arroz]='.';
if(detalles[arroz]=='\0')
break;
cout<<" ";
}
if(cant==0)
return;
cout<<endl;
descu=(1-(toti/(cant*p->preciocliente)))*100;
entr.open("numer1.txt");
entr>>numero;
entr>>descuento;
entr.close();
sale.open("numer1.txt");
sale<<numero+1<<" ";
sale<<((descuento*numero)+descu)/(numero+1);
sale.close();
sale.open("inven1.txt",ios::app);
sale<<p->codigo<<"..";
sale<<p->nombre<<" "<<cant<<" "<<toti<<"
"<<detalles<<endl;
sale.close();
}
p=p->siguiente;
}
}
}
}
lista::lista()////////////////////////////////////////////////////////////////
{
cabeza=NULL;
}
void lista::destruir(int
cont)////////////////////////////////////////////////
{
nodo *p;
p=cabeza;
for(int w=0;w<cont;w++)
{
cabeza=cabeza->siguiente;
delete p;
p=cabeza;
}
}
int lista::iniciaralex(char
archalex[10])//////////////////////////////////////
{
nodo *p,*q,*nuevo;
int cont;
ifstream entrada(archalex);
if(!entrada)
{
cout<<"llamar a juan";
cout.flush();
getch();
}
entrada>>cont;
cabeza=new nodo;
entrada>>cabeza>codigo;
entrada>>cabeza>nombre;
private:
nodo *cabeza;
public:
lista();
void
mostrar(nodo *&p);
void destruir(int
cont);///////////////////////////////////
void
ubicar(nodo*&q,nodo*&p,char
n[50],int cont);
void
terminard(int cont);
void
terminar(int cont);
entrada>>cabeza>preciocliente;
entrada>>cabeza>preciovecino;
entrada>>cabeza>cantidad;
entrada>>cabeza>ubicacion;p=cabeza;
nuevo=new nodo;
for(int jav=1;jav<cont;jav++)
{
entrada>>nuevo>codigo;
entrada>>nuevo>nombre;
entrada>>nuevo>preciocliente;
entrada>>nuevo>preciovecino;
entrada>>nuevo>cantidad;
entrada>>nuevo>ubicacion;p->siguiente=nuevo;
nuevo=new nodo;
p=p->siguiente;
p->siguiente=NULL;
}
entrada.close();
return cont;
}
void
void
};
char verificar(char guia[70]);
char verificame(char guia[70]);
char verific(char sus[10]);
char clavep(char z[12]);
char clave2(char z[12]);
double buscapro(char codo[70]);
void main()
{
ifstream entrada;
ofstream salida;
salida.open("datos.txt",ios::app);
salida<<endl<<"FIN FIN
FIN
FIN
FIN
FIN";
salida.close();
ofstream papa("toditos.txt");
papa<<"
LISTADO GENERAL"<<endl;
papa<<"
'''''''''''''''''"<<endl;
papa<<"#CODIGO
#NOMBRE
$VENTA $COMPRA #CANT"<<endl;
papa<<"'''''''
'''''''''''
''''''' '''''''
'''''''"<<endl;
papa.close();
double tantosw;
int cont;
int ww;
char su;
char sus[50];
char a,t;
cout.flush();
clrscr();
cout<<"PORFAVOR ESPERE MIENTRAS TERMINA
LA TRANSFERENCIA..."<<endl;
cout<<endl;
cout<<endl;
entrada.open("alex.txt");
papa.open("toditos.txt",ios::app);
entrada>>sus;
su=verificame(sus);
while(su!='F')
{
tantosw=buscapro(sus);
papa<<sus<<" ";
entrada>>sus;
papa<<sus<<" ";
entrada>>sus;
papa<<sus<<" ";
if(sus[1]=='\0')
{
cout<<"
";
goto uno;
}
if(sus[2]=='\0')
{
cout<<" ";
goto uno;
}
if(sus[3]=='\0')
{
cout<<" ";
goto uno;
}
if(sus[4]=='\0')
{
cout<<" ";
goto uno;
}
if(sus[5]=='\0')
{
cout<<" ";
goto uno;
}
if(sus[6]=='\0')
{
cout<<" ";
goto uno;
}
uno:
entrada>>sus;
papa<<sus<<" ";
if(sus[1]=='\0')
{
cout<<"
";
goto uno1;
}
if(sus[2]=='\0')
{
cout<<" ";
goto uno1;
}
if(sus[3]=='\0')
{
cout<<" ";
goto uno1;
}
if(sus[4]=='\0')
{
cout<<" ";
goto uno1;
}
if(sus[5]=='\0')
{
cout<<" ";
goto uno1;
}
if(sus[6]=='\0')
{
cout<<" ";
goto uno1;
}
uno1:
papa<<tantosw<<endl;
entrada>>sus;
entrada>>sus;
entrada>>sus;
su=verificame(sus);
}
papa.close();
entrada.close();
}
lista::lista()////////////////////////////////////////////////////////////////
{
cabeza=NULL;
}
void lista::destruir(int
cont)////////////////////////////////////////////////
{
nodo *p;
p=cabeza;
for(int w=0;w<cont;w++)
{
cabeza=cabeza->siguiente;
delete p;
p=cabeza;
}
}
char primid;
int visual[20];
void camb();
void cambio();
char nombre[6];
void cambilis(char as);
char camino(char a);
char codigo1[10][60];
char detalles1[10][50];
int cantidad1[10];
int caja1[10];
void visualiza();
void sale(int cont);
void patis();
char verify(char name[15]);
char sd;
int sped,sd1;
char verificar(char codigo[50]);
char codigo[60];
char detalles[50];
char facata[15];
int cantidad;
int caja;
void siguiente(char desido);
void pedidout(char desido);
char desido;
void main()
{
ofstream salida1;
ifstream entrada;
char a;
char as;
char dansa[70];
cout.flush();
clrscr();
cout<<"DESEA RECUPERAR SEGURO!!!(S/N)";
cout.flush();
a=getch();
if(a=='n')
return;
if(a=='N')
return;
cout<<endl;
cout<<endl;
cout<<" ESTA SEGURO SEGURO!!!(S/N)";
cout.flush();
a=getch();
if(a=='n')
return;
if(a=='N')
return;
cout<<endl;
cout<<endl;
cout<<"Ingrese su nombre y hora del
arreglo..."<<endl<<endl;
cout.flush();
gets(dansa);
salida1.open("salidas.txt",ios::app);
salida1<<endl;
salida1<<"REPARACION DE "<<dansa<<endl<<endl;
salida1.close();
entrada.open("ndato.txt");
entrada>>as;
entrada.close();
if(as!='2' && as!='3' && as!='4' && as!='5' && as!='6')
{
salida1.open("salidas.txt",ios::app);
salida1<<endl;
salida1<<"NO!! FUE POSIBLE REPARAR(LLAMAR A
SOPORTE TECNICO)...presione tecla para salir";
cout<<endl;
cout<<endl;
cout<<"NO!! FUE POSIBLE REPARAR(LLAMAR A
SOPORTE TECNICO)...presione tecla para salir";
cout.flush();
getch();
return;
}
cambilis(as);
salida1.open("salida1.txt");
salida1<<endl;
salida1<<"SE.HA.REALIZADO.RECUPERACION.SI.E
S.NECESARIO.ACTUALICE 0 0
.................................................................."<<endl;
salida1.close();
cout.flush();
clrscr();
cout<<endl;
cout<<endl;
cout<<"NO OLVIDE REVISAR EL HISTORICO DE
COMPRAS PARA REANUDAR EL
PROCESO"<<endl;
cout<<" EN EL QUE SE ENCONTRABA ANTES DE
LA FALLA. INGRESE DE NUEVO LAS"<<endl;
cout<<"DESCARGAS QUE ESTAN JUSTO
DESPUES DE LA ULTIMA COMPRA
REGISTRADA."<<endl;
cout<<"POR MOTIVO DE REPARACION! pulse tecla
para salir...";
cout.flush();
getch();
return;
}
char verificar(char codigo[70])
{
if(codigo[0]=='F')
if(codigo[1]=='I')
if(codigo[2]=='N')
return 'F';
if(codigo[0]=='V')
if(codigo[1]=='O')
if(codigo[2]=='L')
if(codigo[3]=='V')
if(codigo[4]=='E')
if(codigo[5]=='R')
return 'V';
if(codigo[0]=='T')
if(codigo[1]=='E')
if(codigo[2]=='R')
if(codigo[3]=='M')
if(codigo[4]=='I')
if(codigo[5]=='N')
return 'E';
return 'N';
}
void cambilis(char as)
{
char codig[70];
char detalle[70];
char cantida[20];
char caj[20];
char su='N';
ofstream salida;
ofstream sali;
ifstream entrada;
salida.open("datos.txt");
sali.open("datos.txt");
switch(as)
{
case '2':
entrada.open("datos6.txt");
break;
case '3':
entrada.open("datos2.txt");
break;
case '4':
entrada.open("datos3.txt");
break;
case '5':
entrada.open("datos4.txt");
break;
case '6':
entrada.open("datos5.txt");
break;
}
entrada>>codig;
su=verificar(codig);
while(su!='F')
{
entrada>>cantida;
entrada>>caj;
entrada>>detalle;
salida<<codig<<" ";
salida<<cantida<<" ";
salida<<caj<<" ";
salida<<detalle<<" "<<endl;
sali<<codig<<" ";
sali<<cantida<<" ";
sali<<caj<<" ";
sali<<detalle<<" "<<endl;
entrada>>codig;
su=verificar(codig);
}
sali<<endl;
sali<<endl;
sali<<"FIN FIN FIN FIN FIN";
salida<<endl;
salida<<endl;
salida<<"FIN FIN FIN FIN FIN";
salida.close();
sali.close();
entrada.close();
return;
}
double revisacantchar();
char revisacodigo(char un[20]);
char buscarunco(char un[20]);
char buscarpro(char un[20]);
void meternuevo();
void eliminarproducto();
void main()
{
ifstream entra;
ofstream sale;
char sus[70];
char su;
cout.flush();
clrscr();
cout<<endl<<endl<<"INGRESE EL DISQUET CON LA
INFORMACION Y PULSE ENTER...";
cout<<endl<<endl<<"SI DESEA SALIR Y ABORTAR
EL PROCESO PULSE 0";
gotoxy(55,3);
cout.flush();
su=getch();
if(su=='0')
return;
cout<<endl<<endl<<"TRABAJANDO!!!";
entra.open("a:producto.txt");
sale.open("alex.txt");
entra>>sus;
su=verificaralex(sus);
while(su!='F')
{
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<" ";
entra>>sus;
sale<<sus<<endl;
entra>>sus;
su=verificaralex(sus);
}
sale<<"+++++";
entra.close();
sale.close();
seguroalex();
seguroalex();
}
void seguroalex()
{
char su;
int contador=0;
int elseguro;
int cuantos;
char sus[70];
ofstream salex1;
ofstream salex;
ifstream entralex;
entralex.open("elseguro.txt");
entralex>>elseguro;
entralex>>cuantos;
entralex.close();
elseguro++;
if(elseguro==15)
elseguro=1;
salex1.open("alexmira.txt");
if(elseguro==1)
salex.open("alex1.txt");
if(elseguro==2)
salex.open("alex2.txt");
if(elseguro==3)
salex.open("alex3.txt");
if(elseguro==4)
salex.open("alex4.txt");
if(elseguro==5)
salex.open("alex5.txt");
if(elseguro==6)
salex.open("alex6.txt");
if(elseguro==7)
salex.open("alex7.txt");
if(elseguro==8)
salex.open("alex8.txt");
if(elseguro==9)
salex.open("alex9.txt");
if(elseguro==10)
salex.open("alex10.txt");
if(elseguro==11)
salex.open("alex11.txt");
if(elseguro==12)
salex.open("alex12.txt");
if(elseguro==13)
salex.open("alex13.txt");
if(elseguro==14)
salex.open("alex14.txt");
if(elseguro==15)
salex.open("alex15.txt");
entralex.open("alex.txt");
entralex>>sus;
su=verificaralex(sus);
while(su!='F')
{
salex<<sus<<" ";
salex1<<sus<<" ";
entralex>>sus;
salex<<sus<<" ";
salex1<<sus<<" ";
entralex>>sus;
salex<<sus<<" ";
salex1<<sus<<" ";
entralex>>sus;
salex<<sus<<" ";
salex1<<sus<<" ";
entralex>>sus;
salex<<sus<<" ";
salex1<<sus<<" ";
entralex>>sus;
salex<<sus<<endl;
salex1<<sus<<endl;
entralex>>sus;
contador++;
su=verificaralex(sus);
}
salex<<endl<<"+++++";
salex1<<endl<<"+++++";
salex.close();
salex1.close();
entralex.close();
salex.open("elseguro.txt");
salex<<elseguro<<endl;
salex<<contador;
salex.close();
return;
}
char verificaralex(char guia[70])
{
if(guia[0]=='+')
if(guia[1]=='+')
if(guia[2]=='+')
if(guia[3]=='+')
if(guia[4]=='+')
return 'F';
return 'N';
}
#include<conio.h>
#include<string.h>
#include<dos.h>
#include<stdio.h>
#include<fstream.h>
struct producto{
char codigo[10];
char
nombre[50];
double preciocliente;
double preciovecino;
double cantidad;
char
ubicacion[3];
double precio;
char
iva;
char
fecha1[12];
char
credito;
char
fecha2[12];
char
provedor[5];
};
producto escogido;
producto nuevo;
producto elimina;
producto actualiza;
char problems;
char menu();
void actualizarpro();
void eliminarpro();
void menuavanzado();
void guardarlainfo();
void recuperasistem();
char alexmira();
void seguroalex();
void nuevoproducto();
char verificaralex(char guia[70]);
double revisapreschar();
double revisacantchar();
char revisacodigo(char un[20]);
char buscarunco(char un[20]);
char buscarpro(char un[20]);
void meternuevo();
void eliminarproducto();
void main()
{
seguroalex();
}
void seguroalex()
{
char su;
int contador=0;
int elseguro;
int cuantos;
char sus[70];
ofstream salex1;
ofstream salex;
ifstream entralex;
entralex.open("elseguro.txt");
entralex>>elseguro;
entralex>>cuantos;
entralex.close();
elseguro++;
if(elseguro==15)
elseguro=1;
salex1.open("alexmira.txt");
if(elseguro==1)
salex.open("alex1.txt");
if(elseguro==2)
salex.open("alex2.txt");
if(elseguro==3)
salex.open("alex3.txt");
if(elseguro==4)
salex.open("alex4.txt");
if(elseguro==5)
salex.open("alex5.txt");
if(elseguro==6)
salex.open("alex6.txt");
if(elseguro==7)
salex.open("alex7.txt");
if(elseguro==8)
salex.open("alex8.txt");
if(elseguro==9)
salex.open("alex9.txt");
if(elseguro==10)
salex.open("alex10.txt");
if(elseguro==11)
salex.open("alex11.txt");
if(elseguro==12)
salex.open("alex12.txt");
if(elseguro==13)
salex.open("alex13.txt");
if(elseguro==14)
salex.open("alex14.txt");
if(elseguro==15)
salex.open("alex15.txt");
entralex.open("alex.txt");
entralex>>sus;
su=verificaralex(sus);
while(su!='F')
{
salex<<sus<<" ";
salex1<<sus<<" ";
entralex>>sus;
salex<<sus<<" ";
salex1<<sus<<" ";
entralex>>sus;
salex<<sus<<" ";
salex1<<sus<<" ";
entralex>>sus;
salex<<sus<<" ";
salex1<<sus<<" ";
entralex>>sus;
salex<<sus<<" ";
salex1<<sus<<" ";
entralex>>sus;
salex<<sus<<endl;
salex1<<sus<<endl;
entralex>>sus;
contador++;
su=verificaralex(sus);
}
salex<<endl<<"+++++";
salex1<<endl<<"+++++";
salex.close();
salex1.close();
entralex.close();
salex.open("elseguro.txt");
salex<<elseguro<<endl;
salex<<contador;
salex.close();
return;
}
char verificaralex(char guia[70])
{
if(guia[0]=='+')
if(guia[1]=='+')
if(guia[2]=='+')
if(guia[3]=='+')
if(guia[4]=='+')
return 'F';
return 'N';
}
struct nodo{
char codigo[10];
char
nombre[50];
double preciocliente;
double preciovecino;
int
cantidad;
char
ubicacion[3];
double precio;
char
iva;
char
fecha1[12];
char
credito;
char
fecha2[12];
char
provedor[5];
nodo
*siguiente;
};
class lista{
private:
nodo *cabeza;
public:
lista();
void
mostrar(nodo *&p);
void destruir(int
cont);///////////////////////////////////
void
ubicar(nodo*&q,nodo*&p,char
n[50],int cont);
int
iniciaralex(char archalex[10]);
void
consultar(int cont,char sus[50]);
char
comono(int cont,char ri);
void
consultar1(int cont,int drull);
};
void borraped();
void cambilis(double reas);
char tads;
double tads1;
int primo1;
int primo2;
int primo3;
char facata[12];
double tomax;
void fecha();
void imfecha();
char codi[10][10];
char nomb[10][50];
char nombri[50];
void buscapro(char codo[10]);
char verificaralex(char guia[70]);
char verificar(char guia[70]);
char menu();
void imprimir();
void imprimir1();
void imprimir2();
char clavep(char z[12]);
char clave2(char z[12]);
char verificaralex(char guia[70]);
void inicial();
char casa(int cont1);
char aumento(char abc);
double revisapreschar();
double revisacantchar();
void main()
{
inicial();
char disque[70];
int ssl=0;
char sqsq;
ifstream entralex;
ifstream ferew;
ifstream fere;
ifstream solo;
ofstream salir;
ofstream fare;
ofstream farew;
salir.open("pedido1.txt",ios::app);
salir<<endl;
salir<<"FIN FIN FIN ";
salir.close();
salir.open("pedixdo.txt");
solo.open("pedido1.txt");
solo>>disque;
sqsq='N';
sqsq=verificar(disque);
while(sqsq!='F')
{
ssl++;
salir<<disque<<" ";
solo>>disque;
salir<<disque<<endl;
solo>>disque;
sqsq=verificar(disque);
}
salir<<endl;
salir<<"FIN FIN FIN";
solo.close();
salir.close();
solo.close();
solo.open("factuk.txt");
dess=0;
tioas=0;
solo>>maria;
cout<<maria<<" fecha:";
fecha();
cout<<facata<<endl;
for(yes=0;yes<numer;yes++)
{
solo>>maria;
cout<<maria;
solo>>tias;
cout<<"Cant.";
cout<<tias;
solo>>tios;
cout<<".Precio.$";
cout<<tios<<endl;
tioas=tioas+tios;
solo>>tia;
dess=dess+tia;
salir.open("pedido2.txt");
salir<<ssl;
salir.close();
}
if(numer>0)
cout<<"TOTAL...$"<<tioas;
if((dess-tioas)>0)
cout<<"
DESCUENTO..."<<(dess-tioas)/dess*100<<"%";
cout<<endl;
solo.close();
cout<<endl;
salir.open("pedido1.txt");
solo.open("pedixdo.txt");
solo>>disque;
sqsq=verificar(disque);
while(sqsq!='F')
{
salir<<disque<<" ";
solo>>disque;
salir<<disque<<endl;
solo>>disque;
sqsq=verificar(disque);
}
salir<<endl;
solo.close();
salir.close();
salir.open("lasdehoy.txt");
salir<<endl;
salir.close();
int siza;
char mahoma2;
int mahoma1;
int cont;
int ww;
int numer;
char lasde1[60];
int lasde2;
int mahoma;
int yes;
double dess;
double tias;
double tia;
double tios;
double tioas;
char sw;
int dw;
int dwr;
char archalex[10];
char sus[50];
char elegido[50];
char maria[150];
char a,t;
lista x;
do{
cont=0;
cout.flush();
clrscr();
solo.open("numerok.txt");
solo>>numer;
solo>>dess;
cout<<"OPCIONES...(NUEVA,BORRAR,ELI
MINAR,FACTURA,COTIZA,REMISION,PEDIDO)"<<e
ndl;
cout<<"Ingrese el nombre del
producto.(de 0 para salir)...";
cout.flush();
gets(sus);
cout.flush();
clrscr();
tads='0';
switch(sus[0])
{
case'A':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='A')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'B':
if(sus[1]=='O')
if(sus[2]=='R')
if(sus[3]=='R')
if(sus[4]=='A')
if(sus[5]=='R')
{
fere.open("pedido2.txt");
fere>>mahoma;
fere.close();
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='B')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
if(mahoma<2)
borraped();
if(mahoma>=2)
{
mahoma--;
fare.open("pedido2.txt");
fare<<mahoma;
fare.close();
fere.open("pedido1.txt");
fare.open("pedido3.txt");
for(dwr=0;dwr<mahoma;dwr++)
{
fere>>lasde1;
fare<<lasde1<<" ";
fere>>lasde2;
fare<<lasde2<<endl;
}
fere.close();
fare.close();
case'C':
if(sus[1]=='O')
if(sus[2]=='T')
if(sus[3]=='I')
if(sus[4]=='Z')
if(sus[5]=='A')
{
imprimir1();
fare.open("numerok.txt");
fare<<0<<" ";
fare<<0;
fare.close();
fare.open("factuk.txt");
fere.open("pedido3.txt");
fare.open("pedido1.txt");
for(dwr=0;dwr<mahoma;dwr++)
{
fere>>lasde1;
fare<<lasde1<<" ";
fere>>lasde2;
fare<<lasde2<<endl;
}
fere.close();
fare.close();
}
fare<<"FACTURACION/CONSULTAS"<<en
dl;
fare.open("numerok.txt");
fare<<numer-1<<" ";
fare<<0;
fare.close();
fere.open("factuk.txt");
fare.open("factu1k.txt");
fere>>sus;
fare<<sus<<endl;
for(dwr=0;dwr<numer-1;dwr++)
{
for(dw=0;dw<4;dw++)
{
fere>>sus;
fare<<sus<<" ";
}
fare<<endl;
}
fare.close();
fere.close();
fere.open("factu1k.txt");
fare.open("factuk.txt");
fere>>sus;
fare<<sus<<endl;
for(dwr=0;dwr<numer-1;dwr++)
{
for(dw=0;dw<4;dw++)
{
fere>>sus;
fare<<sus<<" ";
}
fare<<endl;
}
fare.close();
fere.close();
break;
}
entralex.open("alexarch.txt");
entralex>>archalex;
fare.close();
fare.open("controlk.txt");
fare<<"1";
fare.close();
borraped();
break;
}
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='C')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'D':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='D')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
{
fare<<sus<<" ";
fare<<endl;
}
}
}
if(siza!=0)
{
farew.open("numerok.txt");
farew<<numer-siza<<" ";
farew<<0;
farew.close();
siza=0;
}
case'E':
if(sus[1]=='L')
if(sus[2]=='I')
if(sus[3]=='M')
if(sus[4]=='I')
if(sus[5]=='N')
fare.close();
fere.close();
fere.open("numerok.txt");
fere>>numer;
fere>>dess;
fere.close();
{
solo.open("numerok.txt");
solo>>numer;
solo>>dess;
solo.close();
solo.open("factuk.txt");
dess=0;
tioas=0;
solo>>maria;
cout<<maria<<endl;
for(yes=0;yes<numer;yes++)
{
solo>>maria;
cout<<maria;
solo>>tias;
cout<<"..Cant.";
cout<<tias;
solo>>tios;
cout<<"..Precio..$";
cout<<tios<<endl;
tioas=tioas+tios;
solo>>tia;
dess=dess+tia;
}
fere.open("factu1k.txt");
fare.open("factuk.txt");
fere>>sus;
fare<<sus<<endl;
for(dwr=0;dwr<numer;dwr++)
{
for(dw=0;dw<4;dw++)
{
fere>>sus;
fare<<sus<<" ";
}
fare<<endl;
}
fare.close();
fere.close();
break;
}
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='E')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
cout<<endl;
cout<<"digite el codigo que desea
eliminar...";
cout.flush();
gets(elegido);
siza=0;
fere.open("factuk.txt");
fare.open("factu1k.txt");
fere>>sus;
fare<<sus<<endl;
for(dwr=0;dwr<numer;dwr++)
{
for(dw=0;dw<4;dw++)
{
fere>>sus;
if(dw==0)
{
if(sus[0]==elegido[0])
if(sus[1]==elegido[1])
if(sus[2]==elegido[2])
if(sus[3]==elegido[3])
if(sus[4]==elegido[4])
if(sus[5]==elegido[5])
if(sus[6]==elegido[6])
{
fere>>sus;
fere>>sus;
fere>>sus;
dw=5;
siza++;
}
}
if(dw!=5)
case'F':
if(sus[1]=='A')
if(sus[2]=='C')
if(sus[3]=='T')
if(sus[4]=='U')
if(sus[5]=='R')
{
imprimir();
fare.open("numerok.txt");
fare<<0<<" ";
fare<<0;
fare.close();
fare.open("factuk.txt");
break;
fare<<"FACTURACION/CONSULTAS"<<en
case'I':
dl;
fare.close();
fare.open("controlk.txt");
fare<<"1";
fare.close();
borraped();
break;
}
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='F')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='I')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'J':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='J')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'G' :
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='G')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'K':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='K')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'H':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='H')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
case'L':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='L')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='O')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'M':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='M')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'N':
if(sus[1]=='U')
if(sus[2]=='E')
if(sus[3]=='V')
if(sus[4]=='A')
{
fare.open("numerok.txt");
fare<<0<<" ";
fare<<0;
fare.close();
fare.open("factuk.txt");
case'P':
if(sus[1]=='E')
if(sus[2]=='D')
if(sus[3]=='I')
if(sus[4]=='D')
if(sus[5]=='O')
{
fere.open("pedido2.txt");
fere>>mahoma;
fere.close();
fere.open("pedido1.txt");
fare.open("pedidop.txt",ios::app);
fare<<endl;
for(dwr=0;dwr<mahoma;dwr++)
{
fere>>lasde1;
fare<<lasde1<<" ";
fere>>lasde2;
fare<<lasde2<<endl;
}
fere.close();
fare.close();
fare<<"FACTURACION/CONSULTAS"<<en
dl;
borraped();
fare.close();
borraped();
break;
}
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='N')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'O':
cout<<endl<<endl<<endl;
cout<<"....LISTO SU
PEDIDO!!!!!"<<endl<<endl;
cout<<"
...pulse tecla
para continuar...";
cout.flush();
getch();
break;
}
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='P')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'Q':
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'T':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='Q')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'R':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='T')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'U':
if(sus[1]=='E')
if(sus[2]=='M')
if(sus[3]=='I')
if(sus[4]=='S')
if(sus[5]=='I')
{
imprimir2();
break;
}
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='R')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='U')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'V':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='V')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'S':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='S')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
case'W':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='W')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'X':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='X')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'Y':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='Y')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
case'Z':
entralex.open("alexarch.txt");
entralex>>archalex;
sw=verificaralex(archalex);
while(sw!='F')
{
if(archalex[0]=='Z')
{
cont=x.iniciaralex(archalex);
x.consultar(cont,sus);
x.destruir(cont);
}
if(tads!='0')
{
entralex.close();
goto adioschao;
}
entralex>>archalex;
sw=verificaralex(archalex);
}
entralex.close();
break;
}
adioschao:
sw='+';
}while(sus[0]!='0');
return;
}
void fecha()
{
ifstream entrada("fecha.txt");
entrada>>facata;
entrada.close();
}
void cambilis(double reas)
{
primo1=0;
primo2=0;
primo3=0;
while(reas>1000000)
{
reas=reas-1000000;
primo1++;
}
while(reas>1000)
{
reas=reas-1000;
primo2++;
}
while(reas>1)
{
reas=reas-1;
primo3++;
}
primo3++;
if(primo3==1000)
{
primo3=0;
primo2++;
if(primo2==1000)
{
primo2=0;
primo1++;
}
}
return;
}
void buscapro(char codo[10])
{
char jiz1[70];
char sux;
double mixq=0;
double mixq1=0;
ifstream enr;
enr.open("datos1.txt");
enr>>jiz1;
sux=verificar(jiz1);
while(sux!='F')
{
enr>>mixq1;
if(codo[0]==jiz1[0])
if(codo[1]==jiz1[1])
if(codo[2]==jiz1[2])
if(codo[3]==jiz1[3])
if(codo[4]==jiz1[4])
if(codo[5]==jiz1[5])
if(codo[6]==jiz1[6])
mixq=mixq+mixq1;
enr>>jiz1;
enr>>jiz1;
enr>>jiz1;
sux=verificar(jiz1);
}
enr.close();
cout<<mixq;
return;
}
void imfecha()
{
char estado='0';
char df='0';
char su='N';
char kk[10];
ifstream des;
char guia1[50];
char guia2[50];
char nit[50];
int you;
nuev:
df='0';
cout.flush();
clrscr();
cout<<endl<<endl<<endl;
cout<<"Si el cliente esta en archivo pulse la tecla (+) y
de enter "<<endl<<endl;
cout<<"Ingrese el nombre del cliente...";
cout.flush();
gets(nombri);
if(nombri[0]!='+')
df='1';
if(nombri[0]=='+')
{
estado='0';
des.open("clientes.txt");
cout<<endl<<"Ingrese las 3 primeras letras del
nombre...";
cout.flush();
gets(kk);
des>>guia1;
su=verificar(guia1);
while(su!='F')
{
des>>guia2;
if(guia1[0]==kk[0])
if(guia1[1]==kk[1])
if(guia1[2]==kk[2])
{
cout<<endl;
cout<<guia1<<endl;
cout<<guia2<<endl;
cout<<"acepta el cliente (s/n)? ...";
su=getch();
if(su=='S')
{
for(you=0;you<40;you++)
{
nit[you]=guia2[you];
nombri[you]=guia1[you];
}
df='1';
goto loca;
}
}
des>>guia1;
su=verificar(guia1);
}
des.close();
}
if(df=='0')
goto nuev;
fstream cou;
cou.open("LPT1",ios::out);
cou<<nombri<<facata[0]<<facata[1]<<" ";
cou<<facata[3]<<facata[4]<<" "<<facata[6]<<facata[7];
cou<<endl;
cou<<nit<<endl;
cou<<endl;
cou<<endl;
cou<<endl;
cou.close();
}
void imprimir2()
{
imfecha();
double numero;
char uno[60];
double cant;
double dess;
double pres1;
double pres2;
double total1;
double total2;
fstream cou;
int pi;
int pe;
int po;
ifstream entrada;
ofstream salida;
cout.flush();
clrscr();
total1=0;
total2=0;
entrada.open("numerok.txt");
entrada>>numero;
entrada>>dess;
entrada.close();
entrada.open("factuk.txt");
cou.open("LPT1",ios::out);
entrada>>uno;
cout<<"
"<<endl;
cout<<"
"<<endl;
cout<<endl;
cout<<endl;
cou<<endl;
cou<<endl;
cou<<endl;
for(pe=0;pe<numero;pe++)
{
entrada>>uno;
entrada>>cant;
entrada>>pres1;
entrada>>pres2;
for(pi=0;pi<55;pi++)
{
if(pi==6)
{
pi=pi+2;
}
if(uno[pi]=='\0')
break;
}
cout<<cant;
if(cant<1000)
cout<<" ";
if(cant<100)
cout<<" ";
if(cant<10)
cout<<" ";
cout<<" ";
cou<<cant;
if(cant<1000)
cou<<" ";
if(cant<100)
cou<<" ";
if(cant<10)
cou<<" ";
cou<<" ";
for(pi=3;pi<41;pi++)
{
if(uno[pi]=='\0')
{
for(po=pi;po<40;po++)
uno[po]='.';
uno[po]='\0';
}
if(uno[pi]=='.')
{
cout<<" ";
cou<<" ";
}
else
{
cout<<uno[pi];
cou<<uno[pi];
}
}
cout<<" ";
if(pres1/cant<10000000)
cout<<" ";
if(pres1/cant<1000000)
cout<<" ";
if(pres1/cant<100000)
cout<<" ";
if(pres1/cant<10000)
cout<<" ";
if(pres1/cant<1000)
cout<<" ";
if(pres1/cant<100)
cout<<" ";
cout<<(pres1/cant);
cou<<" ";
if(pres1/cant<10000000)
cou<<" ";
if(pres1/cant<1000000)
cou<<" ";
if(pres1/cant<100000)
cou<<" ";
if(pres1/cant<10000)
cou<<" ";
if(pres1/cant<1000)
cou<<" ";
if(pres1/cant<100)
cou<<" ";
cou<<" ";
if(pres1<100000000)
cout<<" ";
if(pres1<10000000)
cout<<" ";
if(pres1<1000000)
cout<<" ";
if(pres1<100000)
cout<<" ";
if(pres1<10000)
cout<<" ";
if(pres1<1000)
cout<<" ";
if(pres1<100)
cout<<" ";
cout<<pres1<<endl;
if(pres1<100000000)
cou<<" ";
if(pres1<10000000)
cou<<" ";
if(pres1<1000000)
cou<<" ";
if(pres1<100000)
cou<<" ";
if(pres1<10000)
cou<<" ";
if(pres1<1000)
cou<<" ";
if(pres1<100)
cou<<" ";
cou<<endl;
total1=total1+pres1;
total2=total2+pres2;
}
while(numero<20)
{
cou<<endl;
numero++;
}
cou.close();
entrada.close();
return;
}
void borraped()
{
ofstream rey;
rey.open("pedido1.txt");
rey<<endl;
rey.close();
rey.open("pedido2.txt");
rey<<"0"<<endl;
rey.close();
}
void imprimir1()
{
imfecha();
double numero;
char uno[60];
double cant;
double dess;
double pres1;
double pres2;
double total1;
double total2;
fstream cou;
int pi;
int pe;
int po;
ifstream entrada;
ofstream salida;
cout.flush();
clrscr();
total1=0;
total2=0;
entrada.open("numerok.txt");
entrada>>numero;
entrada>>dess;
entrada.close();
salida.open("lasdehoy.txt",ios::app);
entrada.open("factuk.txt");
cou.open("LPT1",ios::out);
entrada>>uno;
salida<<"NUEVA "<<facata<<endl;
cout<<"
"<<endl;
cout<<"
"<<endl;
cout<<endl;
cout<<endl;
cou<<endl;
cou<<endl;
cou<<endl;
for(pe=0;pe<numero;pe++)
{
entrada>>uno;
entrada>>cant;
entrada>>pres1;
entrada>>pres2;
for(pi=0;pi<55;pi++)
{
salida<<uno[pi];
if(pi==6)
{
salida<<" ";
pi=pi+2;
}
if(uno[pi]=='\0')
break;
}
salida<<" ";
salida<<cant<<" ";
salida<<pres1<<endl;
cout<<cant;
if(cant<1000)
cout<<" ";
if(cant<100)
cout<<" ";
if(cant<10)
cout<<" ";
cout<<" ";
cou<<cant;
if(cant<1000)
cou<<" ";
if(cant<100)
cou<<" ";
if(cant<10)
cou<<" ";
cou<<" ";
for(pi=3;pi<40;pi++)
{
if(uno[pi]=='\0')
{
for(po=pi;po<39;po++)
uno[po]='.';
uno[po]='\0';
}
if(uno[pi]=='.')
{
cout<<" ";
cou<<" ";
}
else
{
cout<<uno[pi];
cou<<uno[pi];
}
}
cout<<" ";
if(pres1/cant<10000000)
cout<<" ";
if(pres1/cant<1000000)
cout<<" ";
if(pres1/cant<100000)
cout<<" ";
if(pres1/cant<10000)
cout<<" ";
if(pres1/cant<1000)
cout<<" ";
if(pres1/cant<100)
cout<<" ";
cout<<(pres1/cant);
cou<<" ";
if(pres1/cant<10000000)
cou<<" ";
if(pres1/cant<1000000)
cou<<" ";
if(pres1/cant<100000)
cou<<" ";
if(pres1/cant<10000)
cou<<" ";
if(pres1/cant<1000)
cou<<" ";
if(pres1/cant<100)
cou<<" ";
cou<<(pres1/cant);
cou<<" ";
if(pres1<100000000)
cout<<" ";
if(pres1<10000000)
cout<<" ";
if(pres1<1000000)
cout<<" ";
if(pres1<100000)
cout<<" ";
if(pres1<10000)
cout<<" ";
if(pres1<1000)
cout<<" ";
if(pres1<100)
cout<<" ";
cout<<pres1<<endl;
if(pres1<100000000)
cou<<" ";
if(pres1<10000000)
cou<<" ";
if(pres1<1000000)
cou<<" ";
if(pres1<100000)
cou<<" ";
if(pres1<10000)
cou<<" ";
if(pres1<1000)
cou<<" ";
if(pres1<100)
cou<<" ";
cou<<pres1<<endl;
total1=total1+pres1;
total2=total2+pres2;
}
while(numero<20)
{
cou<<endl;
numero++;
}
//cou.close();
cout<<endl;
cout<<endl;
//cout<<"
DESCUENTO $"<<(total2total1)<<""<<endl;
cout<<"
TOTAL
"<<total1<<endl;
//cou<<"
DESCUENTO $"<<(total2total1)<<""<<endl;
if((total1-(total1*16/100))<100000000)
cou<<" ";
if((total1-(total1*16/100))<10000000)
cou<<" ";
if((total1-(total1*16/100))<1000000)
cou<<" ";
if((total1-(total1*16/100))<100000)
cou<<" ";
if((total1-(total1*16/100))<10000)
cou<<" ";
if((total1-(total1*16/100))<1000)
cou<<" ";
cou<<endl;
cou<<endl;
if(((total1*16/100))<100000000)
cou<<" ";
if(((total1*16/100))<10000000)
cou<<" ";
if((total1*16/100)<1000000)
cou<<" ";
if(((total1*16/100))<100000)
cou<<" ";
if(((total1*16/100))<10000)
cou<<" ";
if(((total1*16/100))<1000)
cou<<" ";
cou<<endl;
cou<<endl;
if(total1<100000000)
cou<<" ";
if(total1<10000000)
cou<<" ";
if(total1<1000000)
cou<<" ";
if(total1<100000)
cou<<" ";
if(total1<10000)
cou<<" ";
if(total1<1000)
cou<<" ";
cambilis(total1);
if(total1>=1000000)
{
cou<<"
"<<primo1<<".";
if(primo2<100)
cou<<"0";
if(primo2<10)
cou<<"0";
cou<<primo2<<".";
if(primo3<100)
cou<<"0";
if(primo3<10)
cou<<"0";
cou<<primo3<<endl;
}
if(total1<1000000)
if(total1>=1000)
{
cou<<"
"<<primo2<<".";
if(primo3<100)
cou<<"0";
if(primo3<10)
cou<<"0";
cou<<primo3<<endl;
}
if(total1<1000)
{
cou<<"
"<<primo3<<endl;
}
cout.flush();
getch();
cou.close();
entrada.close();
salida.close();
return;
}
void imprimir()
{
imfecha();
double numero;
char uno[60];
double cant;
double dess;
double pres1;
double pres2;
double total1;
double total2;
fstream cou;
int pi;
int pe;
int po;
ifstream entrada;
ofstream salida;
cout.flush();
clrscr();
total1=0;
total2=0;
entrada.open("numerok.txt");
entrada>>numero;
entrada>>dess;
entrada.close();
salida.open("lasdehoy.txt",ios::app);
entrada.open("factuk.txt");
cou.open("LPT1",ios::out);
entrada>>uno;
salida<<"NUEVA "<<facata<<endl;
cout<<"
"<<endl;
cout<<"
"<<endl;
cout<<endl;
cout<<endl;
cou<<endl;
cou<<endl;
cou<<endl;
for(pe=0;pe<numero;pe++)
{
entrada>>uno;
entrada>>cant;
entrada>>pres1;
entrada>>pres2;
for(pi=0;pi<55;pi++)
{
salida<<uno[pi];
if(pi==6)
{
salida<<" ";
pi=pi+2;
}
if(uno[pi]=='\0')
break;
}
salida<<" ";
salida<<cant<<" ";
salida<<pres1<<endl;
cout<<cant;
if(cant<1000)
cout<<" ";
if(cant<100)
cout<<" ";
if(cant<10)
cout<<" ";
cout<<" ";
cou<<cant;
if(cant<1000)
cou<<" ";
if(cant<100)
cou<<" ";
if(cant<10)
cou<<" ";
cou<<" ";
for(pi=3;pi<40;pi++)
{
if(uno[pi]=='\0')
{
for(po=pi;po<39;po++)
uno[po]='.';
uno[po]='\0';
}
if(uno[pi]=='.')
{
cout<<" ";
cou<<" ";
}
else
{
cout<<uno[pi];
cou<<uno[pi];
}
}
cout<<" ";
if(pres1/cant<10000000)
cout<<" ";
if(pres1/cant<1000000)
cout<<" ";
if(pres1/cant<100000)
cout<<" ";
if(pres1/cant<10000)
cout<<" ";
if(pres1/cant<1000)
cout<<" ";
if(pres1/cant<100)
cout<<" ";
cout<<(pres1/cant);
cou<<" ";
if(pres1/cant<10000000)
cou<<" ";
if(pres1/cant<1000000)
cou<<" ";
if(pres1/cant<100000)
cou<<" ";
if(pres1/cant<10000)
cou<<" ";
if(pres1/cant<1000)
cou<<" ";
if(pres1/cant<100)
cou<<" ";
cou<<(pres1/cant);
cou<<" ";
if(pres1<100000000)
cout<<" ";
if(pres1<10000000)
cout<<" ";
if(pres1<1000000)
cout<<" ";
if(pres1<100000)
cout<<" ";
if(pres1<10000)
cout<<" ";
if(pres1<1000)
cout<<" ";
if(pres1<100)
cout<<" ";
cout<<pres1<<endl;
if(pres1<100000000)
cou<<" ";
if(pres1<10000000)
cou<<" ";
if(pres1<1000000)
cou<<" ";
if(pres1<100000)
cou<<" ";
if(pres1<10000)
cou<<" ";
if(pres1<1000)
cou<<" ";
if(pres1<100)
cou<<" ";
cou<<pres1<<endl;
total1=total1+pres1;
total2=total2+pres2;
}
while(numero<20)
{
cou<<endl;
numero++;
}
//cou.close();
cout<<endl;
cout<<endl;
//cout<<"
DESCUENTO $"<<(total2total1)<<""<<endl;
cout<<"
"<<total1(total1*16/100)<<endl;
cout<<"
"<<(total1*16/100)<<endl;
cout<<"
"<<total1<<endl;
//cou<<"
DESCUENTO $"<<(total2total1)<<""<<endl;
tomax=total1/1.16;
if(tomax<100000000)
cou<<" ";
if(tomax<10000000)
cou<<" ";
if(tomax<1000000)
cou<<" ";
if(tomax<100000)
cou<<" ";
if(tomax<10000)
cou<<" ";
if(tomax<1000)
cou<<" ";
cambilis(tomax);
if(tomax>=1000000)
{
cou<<"
"<<primo1<<".";
if(primo2<100)
cou<<"0";
if(primo2<10)
cou<<"0";
cou<<primo2<<".";
if(primo3<100)
cou<<"0";
if(primo3<10)
cou<<"0";
cou<<primo3<<endl;
}
if(tomax<1000000)
if(tomax>=1000)
{
cou<<"
"<<primo2<<".";
if(primo3<100)
cou<<"0";
if(primo3<10)
cou<<"0";
cou<<primo3<<endl;
}
if(tomax<1000)
{
cou<<"
"<<primo3<<endl;
}
cou<<endl;
tomax=total1-(total1/1.16);
if(tomax<100000000)
cou<<" ";
if(tomax<10000000)
cou<<" ";
if(tomax<1000000)
cou<<" ";
if(tomax<100000)
cou<<" ";
if(tomax<10000)
cou<<" ";
if(tomax<1000)
cou<<" ";
cambilis(tomax);
if(tomax>=1000000)
{
cou<<"
"<<primo1<<".";
if(primo2<100)
cou<<"0";
if(primo2<10)
cou<<"0";
cou<<primo2<<".";
if(primo3<100)
cou<<"0";
if(primo3<10)
cou<<"0";
cou<<primo3<<endl;
}
if(tomax<1000000)
if(tomax>=1000)
{
cou<<"
"<<primo2<<".";
if(primo3<100)
cou<<"0";
if(primo3<10)
cou<<"0";
cou<<primo3<<endl;
}
if(tomax<1000)
{
cou<<"
"<<primo3<<endl;
}
cou<<endl;
if(total1<100000000)
cou<<" ";
if(total1<10000000)
cou<<" ";
if(total1<1000000)
cou<<" ";
if(total1<100000)
cou<<" ";
if(total1<10000)
cou<<" ";
if(total1<1000)
cou<<" ";
cambilis(total1);
if(total1>=1000000)
{
cou<<"
"<<primo1<<".";
if(primo2<100)
cou<<"0";
if(primo2<10)
cou<<"0";
cou<<primo2<<".";
if(primo3<100)
cou<<"0";
if(primo3<10)
cou<<"0";
cou<<primo3<<endl;
}
if(total1<1000000)
if(total1>=1000)
{
cou<<"
"<<primo2<<".";
if(primo3<100)
cou<<"0";
if(primo3<10)
cou<<"0";
cou<<primo3<<endl;
}
if(total1<1000)
{
cou<<"
"<<primo3<<endl;
}
cout.flush();
getch();
cou.close();
entrada.close();
salida.close();
return;
}
cout<<" ";
cout<<" $"<<p->preciocliente;
cout<<" -->"<<papo<<endl;
for(int reas=0;reas<8;reas++)
codi[papo][reas]=p->codigo[reas];
papo++;
if(papo==10)
{
papo=0;
cout<<"salir(PRESIONE
+)/continuar(enter)/seleccione...";
cout.flush();
ri=getch();
ri=comono(cont,ri);
cout.flush();
clrscr();
if(ri=='+')
return;
}
p=p->siguiente;
}
}
}
if(papo!=0)
{
cout<<"salir(PRESIONE
+)/continuar(enter)/seleccione...";
cout.flush();
res=getch();
res=comono(cont,res);
cout.flush();
clrscr();
}
return;
}
char lista::comono(int cont,char
ri)///////////////////////////////////////
{
switch(ri)
{
case '0':
consultar1(cont,0);
return '+';
break;
case '1':
consultar1(cont,1);
return '+';
break;
case '2':
consultar1(cont,2);
return '+';
break;
case '3':
consultar1(cont,3);
return '+';
break;
case '4':
consultar1(cont,4);
return '+';
break;
case '5':
consultar1(cont,5);
return '+';
break;
case '6':
consultar1(cont,6);
return '+';
break;
case '7':
consultar1(cont,7);
return '+';
break;
case '8':
consultar1(cont,8);
return '+';
break;
case '9':
consultar1(cont,9);
return '+';
break;
case '+':
return '+';
break;
}
return 'N';
}
void lista::consultar1(int cont,int
drull)///////////////////////////////////////
{
char preschar[20];
char cantchar[20];
ofstream pasout;
ifstream pasoin;
int tan=0;
int wqe;
ofstream sale;
cout.flush();
clrscr();
nodo *p,*q,*cliente;
cliente=new nodo;
for(int dd=0;dd<8;dd++)
cliente->nombre[dd]=codi[drull][dd];
ubicar(q,p,cliente->nombre,cont);
if(p->codigo[1]==cliente->nombre[1])
{
if(p->codigo[1]==cliente->nombre[1])
{
char ri;
while(p->codigo[2]==cliente->nombre[2])
{
if(p->codigo[3]==cliente->nombre[3])
if(p->codigo[4]==cliente->nombre[4])
if(p->codigo[5]==cliente->nombre[5])
if(p->codigo[6]==cliente->nombre[6])
if(p->codigo[7]==cliente->nombre[7])
{
ifstream entr;
double cant;
double toti;
double numero;
double numero12;
double descuento;
double descu;
if(p->codigo[0]=='N')
if(p->codigo[1]=='A')
if(p->codigo[2]=='D')
if(p->codigo[3]=='A')
{
tan=8;
cout<<"Ingrese el nombre del producto...";
cout.flush();
gets(p->nombre);
cout<<endl;
for(wqe=0;wqe<50;wqe++)
{
if(p->nombre[wqe]==' ')
p->nombre[wqe]='.';
if(p->nombre[wqe]=='\0')
p->nombre[wqe]='.';
}
p->nombre[45]='\0';
}
cout<<" "<<p->codigo<<".."<<p>nombre<<"...precio..$";
if(tan==8)
cout<<" "<<endl;
if(tan==0)
cout<<p->preciocliente<<endl;
cout<<endl;
tads='1';
cout<<"Cantidad en existencia...";
buscapro(p->codigo);
cout<<endl;
cout<<endl;
cout<<"Cual es la cantidad a vender...";
cout.flush();
gets(cantchar);
pasout.open("cantchar.txt");
pasout<<cantchar;
pasout.close();
cant=revisacantchar();
if(cant==0)
return;
cout<<"....precio venta unitario...";
cout.flush();
gets(preschar);
pasout.open("preschar.txt");
pasout<<preschar;
pasout.close();
toti=revisapreschar();
if(tan==8)
p->preciovecino=toti;
if(tan!=8)
if(toti<p->preciovecino*3/4)
toti=0;
if(toti>p->preciovecino*9)
toti=0;
toti=toti*cant;
if(toti==0)
return;
cout<<endl;
cout<<" "<<p->codigo<<".."<<p>nombre<<"Cant."<<cant<<".unidad..$"<<toti/cant<<e
ndl;
cout<<endl;
cout<<"precio total...$"<<toti<<"...."<<endl;
descu=(1-(toti/(cant*p->preciocliente)))*100;
if(tan==8)
descu=0;
if(descu>0)
cout<<"DESCUENTO.."<<descu<<"%";
}
}
lista::lista()////////////////////////////////////////////////////////////////
{
cabeza=NULL;
}
void lista::destruir(int
cont)////////////////////////////////////////////////
{
nodo *p;
p=cabeza;
for(int w=0;w<cont;w++)
{
cabeza=cabeza->siguiente;
delete p;
p=cabeza;
}
}
int lista::iniciaralex(char
archalex[10])//////////////////////////////////////
{
nodo *p,*q,*nuevo;
int cont;
ifstream entrada(archalex);
if(!entrada)
{
cout<<"llamar a juan";
cout.flush();
getch();
}
entrada>>cont;
cabeza=new nodo;
entrada>>cabeza>codigo;
entrada>>cabeza>nombre;
entrada>>cabeza>preciocliente;
entrada>>cabeza>preciovecino;
entrada>>cabeza-
entr.open("numerok.txt");
entr>>numero;
entr>>descuento;
entr.close();
sale.open("numerok.txt");
sale<<numero+1<<" ";
sale<<((descuento*numero)+descu)/(numero+1);
sale.close();
sale.open("factuk.txt",ios::app);
sale<<p->codigo<<"..";
sale<<p->nombre<<" "<<cant<<" "<<toti<<"
"<<cant*p->preciocliente<<endl;
sale.close();
entr.open("pedido2.txt");
entr>>numero12;
entr.close();
sale.open("pedido2.txt");
sale<<numero12+1<<" ";
sale.close();
sale.open("pedido1.txt",ios::app);
sale<<p->codigo<<"..";
sale<<p->nombre<<" "<<cant<<endl;
sale.close();
cout.flush();
getch();
}
p=p->siguiente;
}
}
>cantidad;
entrada>>cabeza>ubicacion;p=cabeza;
nuevo=new nodo;
for(int jav=1;jav<cont;jav++)
{
entrada>>nuevo>codigo;
entrada>>nuevo>nombre;
entrada>>nuevo>preciocliente;
entrada>>nuevo>preciovecino;
entrada>>nuevo>cantidad;
entrada>>nuevo>ubicacion;p->siguiente=nuevo;
nuevo=new nodo;
p=p->siguiente;
p->siguiente=NULL;
}
entrada.close();
return cont;
}
char verificar(char guia[70])
{
if(guia[0]=='F')
if(guia[1]=='I')
if(guia[2]=='N')
return 'F';
return 'N';
}
char verificaralex(char guia[70])
{
if(guia[0]=='+')
if(guia[1]=='+')
if(guia[2]=='+')
if(guia[3]=='+')
if(guia[4]=='+')
return 'F';
return 'N';
}
void inicial()
{
char abc;
char archiv[10];
char su;
ofstream salida;
ofstream salida2;
ifstream entrada;
int cont0;
int cont;
int cont1;
int ww;
char sus[70];
char a,t;
cout.flush();
clrscr();
cout<<"PORFAVOR ESPERE MIENTRAS TERMINA
LA TRANSFERENCIA..."<<endl;
cout<<endl;
cout<<endl;
archiv[2]='.';
archiv[3]='t';
archiv[4]='x';
archiv[5]='t';
archiv[6]='\0';
salida2.open("alexarch.txt");
cont=0;
cont1=0;
entrada.open("alex.txt");
entrada>>sus;
su=verificaralex(sus);
abc='A';
while(su!='F')
{
again:
if(sus[0]!=abc)
{
abc=aumento(abc);
su=verificaralex(sus);
if(su=='F')
goto sale;
goto again;
}
if(abc=='0')
goto sale;
if(sus[0]==abc)
{
archiv[0]=abc;
archiv[1]=casa(cont1);
salida.open(archiv);
salida<<75<<endl;
while(sus[0]==abc)
{
salida<<sus<<" ";
entrada>>sus;
salida<<sus<<" ";
entrada>>sus;
salida<<sus<<" ";
entrada>>sus;
salida<<sus<<" ";
entrada>>sus;
salida<<sus<<" ";
entrada>>sus;
salida<<sus<<endl;
cont++;
entrada>>sus;
if(cont==75)
{
cont=0;
cont1++;
salida2<<archiv<<endl;
archiv[1]=casa(cont1);
salida.close();
salida.open(archiv);
salida<<75<<endl;
}
if(sus[0]!=abc)
{
for(cont0=0;cont0<75;cont0++)
{
salida<<"ZZZZZZZ 1 2 3 4 5"<<endl;
}
salida2<<archiv<<endl;
salida.close();
cont1=0;
cont=0;
abc=aumento(abc);
archiv[0]=abc;
goto again;
}
su=verificaralex(sus);
if(su=='F')
goto sale;
}
salida2<<archiv<<endl;
salida.close();
}
}
sale:
salida2<<"+++++";
salida.close();
salida2.close();
entrada.close();
}
char casa(int cont1)
{
if(cont1==0)
return'0';
if(cont1==1)
return'1';
if(cont1==2)
return'2';
if(cont1==3)
return'3';
if(cont1==4)
return'4';
if(cont1==5)
return'5';
if(cont1==6)
return'6';
if(cont1==7)
return'7';
if(cont1==8)
return'8';
if(cont1==9)
return'9';
}
char aumento(char abc)
{
if(abc=='A')
return 'B';
if(abc=='B')
return 'C';
if(abc=='C')
return 'D';
if(abc=='D')
return 'E';
if(abc=='E')
return 'F';
if(abc=='F')
return 'G';
if(abc=='G')
return 'H';
if(abc=='H')
return 'I';
if(abc=='I')
return 'J';
if(abc=='J')
return 'K';
if(abc=='K')
return 'L';
if(abc=='L')
return 'M';
if(abc=='M')
return 'N';
if(abc=='N')
return 'O';
if(abc=='O')
return 'P';
if(abc=='P')
return 'Q';
if(abc=='Q')
return 'R';
if(abc=='R')
return 'S';
if(abc=='S')
return 'T';
if(abc=='T')
return 'U';
if(abc=='U')
return 'V';
if(abc=='V')
return 'W';
if(abc=='W')
return 'X';
if(abc=='X')
return 'Y';
if(abc=='Y')
return 'Z';
if(abc=='Z')
return '0';
return '0';
}
double revisacantchar()
{
int pra;
char elchar[20];
double estesi;
ifstream pasoin;
pasoin.open("cantchar.txt");
pasoin>>elchar;
pasoin.close();
if(elchar[0]=='0')
return 0;
if(elchar[0]=='\0')
{
cout<<"no es numero";
cout.flush();
getch();
return 0;
}
if(elchar[0]!='1' && elchar[0]!='2' && elchar[0]!='3' &&
elchar[0]!='4' && elchar[0]!='5' && elchar[0]!='6' &&
elchar[0]!='7' && elchar[0]!='8' && elchar[0]!='9')
{
cout<<"no es numero";
cout.flush();
getch();
return 0;
}
for(pra=0;pra<20;pra++)
{
if(elchar[pra]!='0' && elchar[pra]!='1' && elchar[pra]!='2'
&& elchar[pra]!='3' && elchar[pra]!='4' &&
elchar[pra]!='5' && elchar[pra]!='6' && elchar[pra]!='7'
&& elchar[pra]!='8' && elchar[pra]!='9')
{
if(elchar[pra]=='\0')
{
pasoin.open("cantchar.txt");
pasoin>>estesi;
pasoin.close();
return estesi;
}
else
{
cout<<"no es numero";
cout.flush();
getch();
return 0;
}
}
}
return 0;
}
double revisapreschar()
{
int pra;
char elchar[20];
double estesi;
ifstream pasoin;
pasoin.open("preschar.txt");
pasoin>>elchar;
pasoin.close();
if(elchar[0]=='0')
return 0;
if(elchar[0]=='\0')
{
cout<<"no es numero";
cout.flush();
getch();
return 0;
}
if(elchar[0]!='1' && elchar[0]!='2' && elchar[0]!='3' &&
elchar[0]!='4' && elchar[0]!='5' && elchar[0]!='6' &&
elchar[0]!='7' && elchar[0]!='8' && elchar[0]!='9')
{
cout<<"no es numero";
cout.flush();
getch();
return 0;
}
for(pra=0;pra<20;pra++)
{
if(elchar[pra]!='0' && elchar[pra]!='1' && elchar[pra]!='2'
&& elchar[pra]!='3' && elchar[pra]!='4' &&
elchar[pra]!='5' && elchar[pra]!='6' && elchar[pra]!='7'
&& elchar[pra]!='8' && elchar[pra]!='9')
{
if(elchar[pra]=='\0')
{
pasoin.open("preschar.txt");
pasoin>>estesi;
pasoin.close();
return estesi;
}
else
{
cout<<"no es numero";
cout.flush();
getch();
return 0;}}}return 0;}
JERINGA INDUSTRIAL
ACOPLE AL PISTON
SELLADORA VERTICAL
TANQUE DE ALMACENAMIENTO
DOSIFICADOR
PIROMETRO ECONOMICO
PIROMETRO DE CONTROL
PC DE CONTROL PARA PC
INTERFASES DE POTENSIA
23. CONCLUSIONES
Cada una de las soluciones planteadas en cada uno de los aspectos, refleja un
grado de investigacin a nivel de ingeniera que debe esperarse en el
desarrollo de un proyecto de nivel industrial con el cual los interesados buscan
soluciones factibles.
de
suma
importancia
parmetros
alternos
como
normatividad
Nos damos cuenta que las exigencias para nuestros ingenieros son cada vez
mas altas, ya que no solo en desarrollo sino en el mantenimiento y
sostenimiento de toda esta infraestructura implementada en nuestra industria
debemos darnos a la tarea de estar en capacidad de aportar la calidad
educativa y de conocimiento que el actual entorno nos exige para
desarrollarnos como profesionales de alto nivel en esta rea de la ingeniera.
24. BIBLIOGRAFIA
Mc KERVEY, Jhon. ( 1992 ). Fsica para ciencias e ingeniera. Vol 1. Ed. Harla.
Espaa.
RICHARDSON,
Donal
V.
(1997).
Maquinas
Elctricas
Rotativas
INTRODUCCION
2
Teniendo el sensado y acondicionamiento se realiza el circuito
de control que sensa nivel alto y bajo en el tanque superior y
el nivel bajo en el tanque inferior. Este sistema debe controlar
la activacin automtica del bombeo. Figura 3.
IV.
SISTEMA DE DOSIFICACION
3
Figura 8 (circuito control dosificador)
V.
SISTEMA DE SELLADO
Figura 12(PWM)
El siguiente circuito nos da este tipo de seal. Diseado por
medio de sistema PIC nos permite entregar dicha seal PWM
que hace ms eficiente el trabajo de calentamiento de las
resistencias selladoras.
4
Figura 13 (control de temperatura)
A fin de clarificar el desarrollo del programa para el PIC en la
figura 14 se establece el diagrama de flujo que permite el
correcto funcionamiento del circuito electronico.
VI.
INTEGRACION DE PROCESOS
VII. CONCLUSION