-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGerencia_General.h
658 lines (656 loc) · 38.4 KB
/
Gerencia_General.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
/*
A.C.E.&.M Soluciones Informaticas
Sistema de gestión para cadena de repuestos automotriz
© Copyright 2017 Reservados Todos Los Derechos
*/
#include<iostream>
#include<stdlib.h>
#include<windows.h>
#include<conio.h>
#include<string.h>
#include<fstream>
using namespace std;
/** Inicios Metodos (Prototipos) **/
void gerencia_general(void);// Usuarios de gerencia general (presidencia)
void login(void); // Login de usuarios
void sistema_facturacion_clientes(int cantidad, facturacion_speedlimit_datos_cliente sistema_factura_final_datos_clientes[]);// Agrega nuevos clientes al sistema para general factura final
void sistema_facturacion_productos(int cantidad, facturacion_speedlimit_productos sistema_factura_final_productos[]);// Sistema de facturacion de productos final
void factura_final_datos_clientes(int cantidad, facturacion_speedlimit_datos_cliente sistema_factura_final_datos_clientes[]);// Vista de datos del cliente facturados en pagina web
void factura_final_datos_productos(int cantidad, facturacion_speedlimit_productos sistema_factura_final_productos[]);// Vista de datos de productos facturados en pagina web
void hora_sistema(void);// Muestra hora del sistema en el programa
/** Fin Metodos (Prototipos) **/
/********************************/
/* USUARIO 2: GERENCIA GENERAL */
/*******************************/
void gerencia_general(void){
// ** VARIEBLES ** //
system("color B");// Cambio de color texto (consola-programa)
string usuario, password; // Autenticacion de usuario
int i; // Contador de intentos
int b_e; // Simulacion de Barra de Espera
int salir; // Salir del programa
int retorno_principal; // Retorno de menu principal (login) con opcion no valida
bool retorno_menu=false; // Controla retorno a menu principal de programa
int sub_menu_gerencia;// Opcion menu de opciones login gerencia general
int opcion_procesos_productos; // Opcion a realizar dentro de campo modificar / eliminar productos
int opcion_procesos_inventario_modificar; // Opcion a realizar dentro de campo modificar inventario
int opcion_procesos_inventario_eliminar; // Opcion a realizar dentro de campo eliminar inventario
productos_speedlimit lista_productos[100]; // Arreglo general para productos_speedlimit
int num_nuevos_productos; // N numero de productos a registrar
int contador=0; // Aumento en 1 por cada producto registrado
int tipo_vista_productos;// Tipo de vista en opcion productos
int codigo_producto; // Codigo de producto a modificar - eliminar
inventario_speedlimit lista_inventario_mensual[100]; // Arreglo general para inventarios_speedlimit tipo: productos MENSUAL
inventario_speedlimit_usuario lista_usuarios_mensual[100]; // Arreglo general para inventario_speedlimit_usuario tipo: usuario MENSUAL
inventario_speedlimit lista_inventario_trimestral[100]; // Arreglo general para inventarios_speedlimit tipo: productos TRIMESTRAL
inventario_speedlimit_usuario lista_usuarios_trimestral[100]; // Arreglo general para inventario_speedlimit_usuario tipo: usuario TRIMESTRAL
inventario_speedlimit lista_inventario_anual[100]; // Arreglo general para inventarios_speedlimit tipo: productos ANUAL
inventario_speedlimit_usuario lista_usuarios_anual[100]; // Arreglo general para inventario_speedlimit_usuario tipo: usuario ANUAL
int contador_inventario_usuario_mensual=0; // Aumento en 1 por cada usuario ingresado al inventario
int contador_inventario_usuario_trimestral=0; // Aumento en 1 por cada usuario ingresado al inventario
int contador_inventario_usuario_anual=0; // Aumento en 1 por cada usuario ingresado al inventario
int contador_inventario_mensual=0; // Aumento en 1 por cada producto ingresado al inventario
int contador_inventario_trimestral=0; // Aumento en 1 por cada producto ingresado al inventario
int contador_inventario_anual=0; // Aumento en 1 por cada producto ingresado al inventario
int num_productos_inventario; // N cantidad de productos ha agregar en inventario
int codigo_inventario_usuario;// Codigo de inventario a modificar (Tipo Usuario)
int codigo_inventario_productos;// Codigo de inventario a modificar (Tipo Productos)
int tipo_inventario; // Tipo de inventario a crear
int vista_inventario; // Tipo de inventario a ver
int num_productos_compra; // N numero de productos a procesar en factura final
facturacion_speedlimit_datos_cliente listado_de_clientes_facturacion[200];// Arreglo general para sistema de facturacion final datos CLIENTES
int contador_clientes_facturacion=0;// Aumento en 1 por cada cliente ingresado al sistema para facturacion final
facturacion_speedlimit_productos listado_de_productos_facturacion[200];// Arreglo general para sistema de facturacion final datos PRODUCTOS
int contador_productos_facturacion=0;// Aumento en 1 por cada producto ingresado al sistema de facturacion final
int tipo_vista_factura_final;// Tipo de vista de factura final
int codigo_eliminacion_cliente_facturacion;// N codigo de facturacion tipo cliente a eliminar dentro de factura
int codigo_eliminacion_producto_facturacion;// N codigo de facturacion tipo productos a eliminar dentro de factura
// Inicio ciclo for i
for(i=1;i<4;i++){
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t\tLogin Gerencia General SpeedLimit"<<endl<<endl;
hora_sistema();// Invoca a funcion para mostrar hora actual del sistema
cout<<"--------------------------------------------------------------------------------";
cout <<" Por favor ingrese su informacion personal de usuario"<<endl<<endl;
cout <<" Ingrese su nombre de usuario: ";
cin>>usuario;// Captura nombre se usuario
// Inicio validacion de usuarios
if(usuario=="presidencia.speedlimit"){
cout<<"\n Nombre de usuario correcto.\n\n Por favor ingrese su contrase"<<char(164)<<"a: ";
cin>>password;// Captura clave de acceso
if(password=="gerencia.speedlimit"){
cout<<"\n Contrase"<<char(164)<<"a correcta."<<endl;
cout<<"\n\t\t\t\tIniciando Sesion";
// Inicio Simulacion De Barra De Espera
for(b_e=0;b_e<5;b_e++){
Sleep(450); // Espera de 0.45 Segundos
cout<<".";
}
// Fin Simulacion De Barra De Espera
// Menu y procesos para Gerencia General
do{
system("cls"); // Limpia proceso anterior y muestra nuevos procesos nivel gerencia general
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
hora_sistema();// Invoca a funcion para mostrar hora actual del sistema
cout<<"\t\t\tBienvenido/a "<<usuario<<"."<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
// Inicio de sub-menu para procesos usuario nivel gerencia general
cout<<"\n Estimado/a "<<usuario<<", por favor elija una opcion: "<<endl<<endl;
cout<<" 1. Agregar Productos."<<endl;
cout<<" 2. Ver Lista De Productos."<<endl;
cout<<" 3. Modificar / Eliminar Productos."<<endl;
cout<<" 4. Generar Factura Final."<<endl;
cout<<" 5. Ver Factura Final."<<endl;
cout<<" 6. Agregar Informe Contable Del Inventario"<<endl;
cout<<" 7. Ver Inventario Contable."<<endl;
cout<<" 8. Modificar Inventario Contable."<<endl;
cout<<" 9. Eliminar Inventario Contable."<<endl;
cout<<" 10. Cerrar Sesion."<<endl;
cout<<"\n\t\t\t\tSu opcion: ";
cin>>sub_menu_gerencia;// Captura opcion de menu elegida por gerencia general
// Inicio de switch case - procesos para usuario nivel gerencia general
switch(sub_menu_gerencia){
// Inicio Agregar Productos
case 1:
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t\t Agregar Productos Al Sistema"<<endl<<endl;
hora_sistema();// Invoca a funcion para mostrar hora actual del sistema
cout<<"--------------------------------------------------------------------------------";
cout<<"\n Cuantos productos desea agregar: ";
cin>>num_nuevos_productos; // Captura N cantidad de productos a registrar
for(i=0;i<num_nuevos_productos;i++){
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t\t\t Producto "<<i+1<<" de "<<num_nuevos_productos<<endl<<endl;
cout<<"--------------------------------------------------------------------------------"<<endl;
lista_productos[contador].agregar_productos(); // Invoca funcion para registrar nuevos productos
contador++; // Aumento en 1 por cada producto ingresado
}// Fin for i agregar productos al sistema
break;
// Fin Agregar Productos
/**/
// Inicio Ver Lista De Productos
case 2:
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t\t Ver Lista De Productos"<<endl<<endl;
hora_sistema();// Invoca a funcion para mostrar hora actual del sistema
cout<<"--------------------------------------------------------------------------------";
// Ver lista guardada
lista_productos[contador].recuperar();// Invoca funcion recuperar productos ingresados al archivo productos.txt
break;
// Fin Ver Lista De Productos
/**/
// Inicio Modificar / Eliminar Productos
case 3:
do{
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t\t Modificar / Eliminar Productos"<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
cout<<" Estimado "<<usuario<<", que accion desea realizar?"<<endl<<endl;
cout<<" 1. Modificar Productos."<<endl;
cout<<" 2. Eliminar Productos."<<endl;
cout<<" 3. Regresar Al Menu Principal."<<endl;
cout<<"\n\t\t\t\tSu opcion: ";
cin>>opcion_procesos_productos;
// Inicio de switch procesos modificar / eliminar productos
switch(opcion_procesos_productos){
// Modificar productos
case 1:
lista_productos[contador].modificar_productos();// Invoca funcion modificar productos
break;
// Eliminar productos
case 2:
lista_productos[contador].eliminar_productos();// Invoca funcion eliminar productos
break;
// Retorno de menu
case 3:
retorno_menu=true;// Retorna a menu principal
cout<<"\n\t\t\tPresione una tecla para continuar..."<<endl;
break;
// Validacion de menu
default:
cout<<"\n\t\t\t Opcion De Menu Incorrecta"<<endl;
getch();
}// Fin de switch procesos modificar / eliminar productos
}while(!retorno_menu);
break;
// Fin Modificar / Eliminar Productos
/**/
// Inicio Generar Factura Final
case 4:
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t\t Generar Factura Final"<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
cout<<"\n Por favor digite el numero de productos a procesar en factura final: ";
cin>>num_productos_compra;// Captura N productos a procesar en factura final
listado_de_clientes_facturacion[contador_clientes_facturacion].agregar_nuevo_cliente();// Invoca funcion agregar nuevo cliente, previo a facturacion de productos
contador_clientes_facturacion++;
for(i=0;i<num_productos_compra;i++){
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t\t Facturando producto "<<i+1<<" de "<<num_productos_compra<<endl<<endl;
cout<<"--------------------------------------------------------------------------------"<<endl;
listado_de_productos_facturacion[contador_productos_facturacion].generar_nueva_factura_productos();// Invoca funcion agregar productos a factura final
listado_de_productos_facturacion[contador_productos_facturacion].calcular();
contador_productos_facturacion++;
}// Fin for generando nueva factura
break;
// Fin Generar Factura Final
/**/
// Inicio Ver Factura Final
case 5:
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t\t Visualizar Factura Final"<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
cout<<"\n "<<usuario<<", por favor elija una opcion: "<<endl<<endl;
cout<<" 1. Ver Factura Final en el Sistema."<<endl;
cout<<" 2. Ver Clientes Facturados en Pagina Web."<<endl;
cout<<" 3. Ver Productos Facturados en Pagina Web."<<endl;
cout<<" 4. Eliminar datos factura final datos clientes."<<endl;
cout<<" 5. Eliminar datos factura final datos productos"<<endl;
cout<<" 6. Regresar Al Menu Principal."<<endl;
cout<<"\n\t\t\t\tSu opcion: ";
cin>>tipo_vista_factura_final;// N vista a visualizar factura final
// Inicio switch para tipo vista de factura final
switch(tipo_vista_factura_final){
// Ver en el sistema
case 1:
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t\t Visualizar Factura Final"<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
sistema_facturacion_clientes(contador_clientes_facturacion,listado_de_clientes_facturacion);
cout<<" ---------------------------------------------------------"<<endl;
sistema_facturacion_productos(contador_productos_facturacion,listado_de_productos_facturacion);
break;
// Motrar datos de cliente en sitio web
case 2:
factura_final_datos_clientes(contador_clientes_facturacion,listado_de_clientes_facturacion);// Muestra datos del cliente en pagina web
break;
// Mostrar productos facturados en sitio web
case 3:
factura_final_datos_productos(contador_productos_facturacion,listado_de_productos_facturacion);// Muestra productos facturados en pagina web
break;
// Eliminar N factura final datos cliente
case 4:
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t\t Eliminar Factura Final Datos Cliente"<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
cout<<"\n Por favor ingrese el codigo del cliente a eliminar: ";
cin>>codigo_eliminacion_cliente_facturacion;// Captura codigo de cliente a eliminar
if(codigo_eliminacion_cliente_facturacion>contador_clientes_facturacion){
cout<<"\n Lo sentimos, no hay ningun producto cliente con ese codigo"<<endl;
system("pause"); // Pausa en la ejecucion para mostrar mensaje
continue; // Salta codigo y vuelve al menu
}else{
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t\t Eliminar Factura Final Datos Cliente"<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
listado_de_clientes_facturacion[contador_clientes_facturacion-1].eliminar_clientes_factura();// Invoca funcion eliminar cliente en facturacion final
contador_clientes_facturacion--;// Decrementa contador y elimina datos dentro de esa posicion del arreglo
}
break;
// Eliminar N factura final datos productos
case 5:
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t\t Eliminar Factura Final Datos Productos"<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
cout<<"\n Por favor ingrese el codigo del producto a eliminar: ";
cin>>codigo_eliminacion_producto_facturacion;// Captura codigo de producto a eliminar
if(codigo_eliminacion_producto_facturacion>contador_productos_facturacion){
cout<<"\n Lo sentimos, no hay ningun producto registrado con ese codigo"<<endl;
system("pause"); // Pausa en la ejecucion para mostrar mensaje
continue; // Salta codigo y vuelve al menu
}else{
listado_de_productos_facturacion[contador_productos_facturacion-1].eliminar_productos_factura();
contador_productos_facturacion--;
}
break;
// Retorno a menu principal
case 6:
retorno_menu=true;// Retorna a menu principal
cout<<"\n\t\t\tPresione una tecla para continuar..."<<endl;
break;
// Validacion de menu
default:
cout<<"\n\t\t\t Opcion De Menu Incorrecta"<<endl;
getch();
}// Fin switch para tipo vista de factura final
break;
// Fin Ver Factura Final
/**/
// Inicio Agregar Informe Contable Del Inventario
case 6:
do{
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t Agregar Informe Contable Del Inventario"<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
cout<<" Estimado "<<usuario<<", por favor elija una opcion: "<<endl<<endl;
cout<<" 1. Crear Inventario Mensual."<<endl;
cout<<" 2. Crear Inventario Trimestral."<<endl;
cout<<" 3. Crear Inventario Anual."<<endl;
cout<<" 4. Regresar Al Menu Principal."<<endl;
cout<<"\n\t\t\t\tSu opcion: ";
cin>>tipo_inventario;// Captura tipo de inventario a crear
// Inicio de switch tipo_inventario
switch(tipo_inventario){
// Crear inventario mensual
case 1:
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t Crear Informe Contable de Inventario Mensual"<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
cout<<"\n Cuantos productos desea agregar al inventario: ";
cin>>num_productos_inventario;// Captura N productos de inventario ha agregar
lista_usuarios_mensual[contador_inventario_mensual].agregar_inventario_mensual();
contador_inventario_usuario_mensual++; // Aumento en 1 por cada usuario dentro de inventario registrado
for(i=0;i<num_productos_inventario;i++){
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t\t\t Producto "<<i+1<<" de "<<num_productos_inventario<<"."<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
lista_inventario_mensual[contador_inventario_mensual].agregar_inventario_mensual(); // Invoca a funcion agregar nuevo inventario mensual
lista_inventario_mensual[contador_inventario_mensual].calcular_precio_inventario();// Invoca a funcion calcular precio en inventario
contador_inventario_mensual++; // Aumento en 1 por cada producto ingresado dentro del inventario
} // Fin for i proceso de productos de inventario
break;
// Crear inventario trimestral
case 2:
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t Crear Informe Contable de Inventario Trimestral"<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
cout<<"\n Cuantos productos desea agregar al inventario: ";
cin>>num_productos_inventario;// Captura N productos de inventario ha agregar
lista_usuarios_trimestral[contador_inventario_trimestral].agregar_inventario_trimestral();// Invoca a funcion agregar nuevo inventario trimestral
contador_inventario_usuario_trimestral++; // Aumento en 1 por cada usuario dentro de inventario registrado
for(i=0;i<num_productos_inventario;i++){
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t\t\t Producto "<<i+1<<" de "<<num_productos_inventario<<"."<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
lista_inventario_trimestral[contador_inventario_trimestral].agregar_inventario_trimestral(); // Invoca a funcion agregar nuevo inventario mensual
lista_inventario_trimestral[contador_inventario_trimestral].calcular_precio_inventario();// Invoca a funcion calcular precio en inventario
contador_inventario_trimestral++; // Aumento en 1 por cada producto ingresado dentro del inventario
} // Fin for i proceso de productos de inventario
break;
// Crear inventario anual
case 3:
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t Crear Informe Contable de Inventario Anual"<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
cout<<"\n Cuantos productos desea agregar al inventario: ";
cin>>num_productos_inventario;
lista_usuarios_anual[contador_inventario_anual].agregar_inventario_anual();// Invoca a funcion agregar nuevo inventario anual
contador_inventario_usuario_anual++; // Aumento en 1 por cada usuario dentro de inventario registrado
for(i=0;i<num_productos_inventario;i++){
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t\t\t Producto "<<i+1<<" de "<<num_productos_inventario<<"."<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
lista_inventario_anual[contador_inventario_anual].agregar_inventario_anual(); // Invoca a funcion agregar nuevo inventario mensual
lista_inventario_anual[contador_inventario_anual].calcular_precio_inventario();// Invoca a funcion calcular precio en inventario
contador_inventario_anual++; // Aumento en 1 por cada producto ingresado dentro del inventario
} // Fin for i proceso de productos de inventario
break;
// Retorno a menu
case 4:
retorno_menu=true;
cout<<"\n\t\t\tPresione una tecla para continuar..."<<endl;
break;
// Validacion de menu
default:
cout<<"\n\t\t\t Opcion De Menu Incorrecta"<<endl;
getch();
}// Fin de switch tipo_inventario
}while(!retorno_menu);
break;
// Fin Agregar Informe Contable Del Inventario
/**/
// Inicio Ver Inventario Contable
case 7:
do{
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t Ver Informe Contable Del Inventario"<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
cout<<" Estimado "<<usuario<<", por favor elija una opcion: "<<endl<<endl;
cout<<" 1. Ver Inventario Mensual."<<endl;
cout<<" 2. Ver Inventario Trimestral."<<endl;
cout<<" 3. Ver Inventario Anual."<<endl;
cout<<" 4. Regresar Al Menu Principal."<<endl;
cout<<"\n\t\t\t\tSu opcion: ";
cin>>vista_inventario;// Captura tipo de inventario a ver
// Inicio switch para vista de inventario
switch(vista_inventario){
// Ver inventario mensual
case 1:
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t Ver Lista de Productos Inventario Mensual"<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
lista_usuarios_mensual[contador_inventario_mensual].recuperar_datos_usuario_inventario_mensual();
lista_inventario_mensual[contador_inventario_mensual].recuperar_datos_productos_inventario_mensual();
getch();// Detiene lectura de datos hasta que usuario presione cualquier tecla
break;
// Ver inventario trimestral
case 2:
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t Ver Lista de Productos Inventario Trimestral"<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
lista_usuarios_trimestral[contador_inventario_trimestral].recuperar_datos_usuario_inventario_trimestral();
lista_inventario_trimestral[contador_inventario_trimestral].recuperar_datos_productos_inventario_trimestral();
getch();// Detiene lectura de datos hasta que usuario presione cualquier tecla
break;
// Ver inventario anual
case 3:
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t Ver Lista de Productos Inventario Anual"<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
lista_usuarios_anual[contador_inventario_anual].recuperar_datos_usuario_inventario_anual();
lista_inventario_anual[contador_inventario_anual].recuperar_datos_productos_inventario_anual();
getch();// Detiene lectura de datos hasta que usuario presione cualquier tecla
break;
// Retorno a menu
case 4:
retorno_menu=true;
cout<<"\n\t\t\tPresione una tecla para continuar..."<<endl;
break;
// Validacion de menu
default:
cout<<"\n\t\t\t Opcion De Menu Incorrecta"<<endl;
getch();
}// Fin switch para vista de inventario
}while(!retorno_menu);
break;
// Fin Ver Inventario Contable
/**/
// Inicio Modificar Inventario Contable
case 8:
do{
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t Modificar Informe Contable Del Inventario"<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
cout<<" Estimado "<<usuario<<", que accion desea realizar?"<<endl<<endl;
cout<<" 1. Modificar Inventario Mensual (Datos de usuario)."<<endl;
cout<<" 2. Modificar Inventario Mensual (Datos de productos)."<<endl;
cout<<" 3. Modificar Inventario Trimestral (Datos de usuario)."<<endl;
cout<<" 4. Modificar Inventario Trimestral (Datos de productos)."<<endl;
cout<<" 5. Modificar Inventario Anual (Datos de usuario)."<<endl;
cout<<" 6. Modificar Inventario Anual (Datos de productos)."<<endl;
cout<<" 7. Regresar Al Menu Principal."<<endl;
cout<<"\n\t\t\t\tSu opcion: ";
cin>>opcion_procesos_inventario_modificar;// Captura proceso N a modificar dentro de inventario contable
// Inicio switch procesos a modificar dentro de inventario contable
switch(opcion_procesos_inventario_modificar){
// Modificar inventario mensual (datos usuario)
case 1:
lista_usuarios_mensual[contador_inventario_mensual].modificar_inventario_mensual();// Invoca funcion modificar datos de empleado inventario mensual
break;
// Modificar inventario mensual (datos productos)
case 2:
lista_inventario_mensual[contador_inventario_mensual].modificar_inventario_mensual_productos();// Invoca a funcion modificar datos de productos inventario mensual
break;
// Modificar inventario trimestral (datos usuario)
case 3:
lista_usuarios_trimestral[contador_inventario_trimestral].modificar_inventario_trimestral();// Invoca funcion modificar datos de empleado inventario trimestral
break;
// Modificar inventario trimestral (datos productos)
case 4:
lista_inventario_trimestral[contador_inventario_trimestral].modificar_inventario_trimestral_productos();// Invoca a funcion modificar datos de productos inventario trimestral
break;
// Modificar inventario anual (datos usuario)
case 5:
lista_usuarios_anual[contador_inventario_anual].modificar_inventario_anual();// Invoca funcion modificar datos de empleado inventario anual
break;
// Modificar inventario anual (datos productos)
case 6:
lista_inventario_anual[contador_inventario_anual].modificar_inventario_anual_productos();// Invoca a funcion modificar datos de productos inventario anual
break;
// Retorno al menu principal
case 7:
retorno_menu=true;// Retorna a menu principal
cout<<"\n\t\t\tPresione una tecla para continuar..."<<endl;
break;
// Validacion de menu
default:
cout<<"\n\t\t\t Opcion De Menu Incorrecta"<<endl;
getch();
}// Fin switch procesos a modificar dentro de inventario contable
}while(!retorno_menu);
break;
// Fin Modificar Inventario Contable
/**/
// Inicio Eliminar Inventario Contable
case 9:
do{
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t Eliminar Informe Contable Del Inventario"<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
cout<<" Estimado "<<usuario<<", que accion desea realizar?"<<endl<<endl;
cout<<" 1. Eliminar Inventario Mensual (Datos de usuario)."<<endl;
cout<<" 2. Eliminar Inventario Mensual (Datos de productos)."<<endl;
cout<<" 3. Eliminar Inventario Trimestral (Datos de usuario)."<<endl;
cout<<" 4. Eliminar Inventario Trimestral (Datos de productos)."<<endl;
cout<<" 5. Eliminar Inventario Anual (Datos de usuario)."<<endl;
cout<<" 6. Eliminar Inventario Anual (Datos de productos)."<<endl;
cout<<" 7. Regresar Al Menu Principal."<<endl;
cout<<"\n\t\t\t\tSu opcion: ";
cin>>opcion_procesos_inventario_eliminar;// Captura proceso N a eliminar dentro de inventario contable
// Inicio switch procesos a eliminar dentro de inventario contable
switch(opcion_procesos_inventario_eliminar){
// Inicio eliminar inventario mensual (datos usuario)
case 1:
lista_usuarios_mensual[contador_inventario_mensual].eliminar_inventario_mensual();// Invoca funcion eliminar datos de empleado inventario mensual
break;
// Inicio eliminar inventario mensual (datos productos)
case 2:
lista_inventario_mensual[contador_inventario_mensual].eliminar_inventario_mensual_productos();// Invoca funcion eliminar datos de productos inventario mensual
break;
// Inicio eliminar inventario trimestral (datos usuario)
case 3:
lista_usuarios_trimestral[contador_inventario_trimestral].eliminar_inventario_trimestral();// Invoca funcion eliminar datos de empleado inventario trimestral
break;
// Inicio eliminar inventario trimestral (datos productos)
case 4:
lista_inventario_trimestral[contador_inventario_trimestral].eliminar_inventario_trimestral_productos();// Invoca funcion eliminar datos de productos inventario mensual
break;
// Inicio eliminar inventario anual (datos usuario)
case 5:
lista_usuarios_anual[contador_inventario_anual].eliminar_inventario_anual();// Invoca funcion eliminar datos de empleado inventario anual
break;
// Inicio eliminar inventario anual (datos productos)
case 6:
lista_inventario_anual[contador_inventario_anual].eliminar_inventario_anual_productos();// Invoca funcion eliminar datos de productos inventario anual
break;
// Retorno al menu principal
case 7:
retorno_menu=true;// Retorna a menu principal
cout<<"\n\t\t\tPresione una tecla para continuar..."<<endl;
break;
// Validacion de menu
default:
cout<<"\n\t\t\t Opcion De Menu Incorrecta"<<endl;
getch();
}// Inicio switch procesos a eliminar dentro de inventario contable
}while(!retorno_menu);
break;
// Fin Eliminar Inventario Contable
/**/
// Inicio Cerrar Sesion
case 10:
system("cls");
cout<<"--------------------------------------------------------------------------------"<<endl;
cout<<"\t\t<< Venta de Repuestos Automotrices SpeedLimit >>"<<endl<<endl;
cout<<"\t\t\tA.C.E.&.M Soluciones Informaticas"<<endl<<endl;
cout<<"\t\t Cerrando Sesion "<<usuario<<"."<<endl<<endl;
cout<<"--------------------------------------------------------------------------------";
cout<<"\n Agradecemos su visita en nuestra plataforma, se procedera a cerrar sesion."<<endl<<endl;
cout<<"\t\t\t\t Cerrando Sesion ";
for(b_e=0;b_e<5;b_e++){
Sleep(550);// Espera 0.50 segundos
cout<<".";
}
system("color C");// Cambio de color texto (consola-programa)
login();// Cierra sesion e invoca funcion Login para nuevo logueo
break;
// Fin Cerrar Sesion
// Inicio Validacion Menu Gerencia General
default:
cout<<"\n\t\t\t Opcion De Menu Incorrecta"<<endl;
// Fin Validacion Menu Gerencia General
}// Fin de switch case - procesos para usuario nivel gerencia general
system("pause>null");
// Fin de login Para gerencia general
}while(salir!=10);
// Fin de menu y procesos para Gerencia general
}// Fin if validacion de clave de acceso true
else
if(password!="gerencia.speedlimit"){
cout<<"\n Contrase"<<char(164)<<"a incorrecta, por favor ingrese una clave correcta."<<endl;
system("pause>null");
}// Fin if validacion de clave de acceso false
}// Fin if validacion de usuarios nivel gerencia general true
else
if(usuario!="presidencia.speedlimit"){
cout<<"\n Nombre de usuario incorrecto, por favor ingrese un usuario correcto."<<endl;
system("pause>null");
} // Fin if validacion de usuarios nivel gerencia general false
if(i>0){
cout<<"\n\n\t\tUd. ha realizado "<<i<<" de 3 intentos permitidos."<<endl;
system("pause>null");
} // Fin if contador de intentos
if(i==3){
cout<<"\n\n\tLo sentimos, ha llegado al maximo numero de intentos permitidos"<<endl;
system("pause>null");
exit(0); // No retorna al programa
} // Fin if contador de intentos = 3
}// Fin ciclo for i
}