INVENTARIO A BASE DE LISTAS Y ARBOLES

1. #include<iostream>
2. #include<cstdlib>
3. #include<windows.h>
4. #include<string.h>
5.
6. #define max_char 30
7. #define max_doce 12
8.
9. #define Color_Red 12
10. #define Color_Def 15
11. #define Color_Yellow 14
12. #define Color_Green 10
13. using namespace std;
14.
15. /*------ estructura para productos por cada linea ------*/
16. struct nodoProducto{
17. int codProd;
18. char nomProd[max_char];
19. float precio;
20. struct nodoProducto *izq,*der;
21. };
22.
23. /*------ estructura para linea ------*/
24. struct nodoLinea{
25.
26. int codLinea;
27. char descripLinea[max_char];
28. struct nodoProducto *enlace;
29. struct nodoLinea *izq, *der;
30. };
31.
32. /*------ estructura para clientes ------*/
33. struct nodoCliente{
34. int codCliente;
35. char nomCliente[max_char];
36. char apellCliente[max_char];
37. int dniCliente;
38. char rucCliente[max_doce];
39. char telefono[max_doce];
40. char direccion[max_char];
41. char email[max_char];
42. struct nodoCliente *izq,*der;

43. };
44.
45. struct nodoDetalleVenta{
46. int codigo;
47. int codProd;
48. int cantidad;
49. int codVenta;
50. char marca[max_char];
51. float subtotal;
52. struct nodoProducto *ptrProducto;
53. struct nodoDetalleVenta *sgte;
54. };
55.
56. struct nodoVenta{
57. int codigo;
58. int monto;
59. char fecha[max_doce];
60. int codCliente;
61. struct nodoCliente *ptrCliente;
62. struct nodoDetalleVenta *detalle;
63. struct nodoVenta *sgte;
64. };
65.
66. struct nodoProveedor{
67. int codProveedor;
68. char razonSocial[max_char];
69. char rucProveedor[max_doce];
70. char telefono[max_doce];
71. char direccion[max_char];
72. char email[max_char];
73. char web[max_char];
74. struct nodoProveedor *izq,*der;
75. };
76.
77. struct nodoDetallePedido{
78. int codigo;
79. int codProd;
80. int cantidad;
81. int codPedido;
82. char marca[max_char];
83. float subtotal;
84. struct nodoProducto *ptrProducto;
85. struct nodoDetallePedido *sgte;
86. };

87.
88. struct nodoPedido{
89. int codigo;
90. int monto;
91. char fecha[max_doce];
92. int codAlmacen;
93. int codProveedor;
94. struct nodoProveedor *ptrProveedor;
95. struct nodoDetallePedido *detalle;
96. struct nodoPedido *sgte;
97. };
98. typedef struct nodoProducto *Producto;
99. typedef struct nodoLinea *Linea;
100. typedef struct nodoCliente *Cliente;
101. typedef struct nodoDetalleVenta *DetalleVenta;
102. typedef struct nodoVenta *Venta;
103. typedef struct nodoProveedor *Proveedor;
104. typedef struct nodoPedido *Pedido;
105. typedef struct nodoDetallePedido *DetallePedido;
106.
107.
108. /*--------------------Funcion gotoxy -------------------*/
109. void gotoxy(int x,int y){
110. HANDLE hCon;
111. hCon = GetStdHandle(STD_OUTPUT_HANDLE);
112. COORD dwPos;
113. dwPos.X=x;
114. dwPos.Y=y;
115. SetConsoleCursorPosition(hCon,dwPos); }
116.
117. /*------------------------------- TITULO PRINCIPAL ------------------------
--*/
118. void titulo(void){
119. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), Color_Green);
120.
121. cout<<" _________________________________________________________________
____"<<endl;
122. cout<<" | ____________________
|"<<endl;
123. cout<<" | |
IBA\xA5"<<"EZ |___________ |"<<endl;
124. cout<<" | XXXXXXXXXXXXXXXXXX | FERNANDEZ SEGURA
| CORP ||"<<endl;

cout<<" (5)PEDIDOS // // // /// //"< <endl. 144. Color_Def). 145. 131. 150. cout<<" ------------------------------------------------------------- --------\n". 143. Color_Def). void menu1(void){ 137. cout<<" <<<<<<<<<< SISTEMA DE ALMACEN >>>>>>>>>>". 147. cout<<" (2)CLIENTES // // // // // //"<<endl. 135. 126. cout<<" (1)ALMACEN // // //// // //"<<endl. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). cout<<" // // // // //////////"<<endl. cout<<" | XXXXXXXXXXXXXXXXXX | BENITES | COMPANY ||"<<endl. 142. cout<<" | ______________XXX________________| LUZURRIAGA | BUSINESS ||"<<endl. cout<<"\n ----------------------------------------------------------- ----------\n\n". cout<<" | | | | | | _____ | | | | | | | ______ | | _ | ||"<<endl. 134. } 133. cout<<" (4)PROVEDORES // // // // // //"<<endl.MENU PRINCIPAL ----------------------*/ 136. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). cout<<" | SISTEMA DE ALMACEN | CASTILLO ALVA | INDUSRY ||"<<endl. 146. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). 141. Color_Yellow). cout<<" (6)SALIR ///////// // // //"<< endl. cout<<" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^"<<endl. /*---------------------. 128. 139. 132. cout<<" | | _ _ +18 _ _ _ | __ ____ _ | ______ ||"<<endl. 140. cout<<" (3)VENTAS // // // // // // "<<endl. 138. 129. 130. 149. 127. 148. Color_Red). cout<<" | | |_| |_| | | | |_| |_| |_| | | | | | | | | ||"<<endl. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). .125.

177. 164. 170. cout<<" Ingrese Opcion : ". 158. cout<<" (3)REGISTRAR PRODUCTO // // // // // //"<<endl. Color_Yellow). SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). //SALIR DEL PROGRAMA 152. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). cout<<" INFORMATICA . SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). 171. Color_Yellow). 180.151. 168. cout<<" ------------------------------------------------------------- --------\n". SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). cout<<"\n ----------------------------------------------------------- ----------\n\n". 155. /*---------------------. . SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). cout<<" (2)MOSTRAR LINEA // // // // // //"<<endl. } 179. Color_Def). cout<<" Ingrese Opcion : ". cout<<" <<<<<<<<<< ALMACEN >>>>>>>>>>". 163. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). Color_Yellow). 178. Color_Def). cout<<" // // // // //////////"<<endl. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE).MENU ALMACEN ----------------------*/ 159. } 156. 181. Color_Red). 169. 176. cout<<" (4)MOSTRAR PRODUCTOS // // // // // //"<<endl. //SALIR DEL PROGRAMA 174. 175. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). Color_Def). 157. 166. 153.ESTRUCTURA DE DATOS"<<endl. 165.ESTRUCTURA DE DATOS"<<endl. cout<<" ///////// // // //"<< endl. void menu3(void){ 183. 161. Color_Yellow). 154. cout<<" (1)REGISTRAR LINEA // // //// // //"<<endl. cout<<" (5)REGRESAR // // // /// //"< <endl. cout<<" INFORMATICA . 173. 172. /*---------------------. void menu2(void){ 160. 167. 162.MENU CLIENTES ----------------------*/ 182.

193. cout<<" (5)REGRESAR ///////// // // //"<< endl. cout<<" // // //// // //"<<endl. 210. 188. cout<<"\n\n --------------------------------------------------------- ------------\n". cout<<"\n ----------------------------------------------------------- ----------\n\n". cout<<" ------------------------------------------------------------- --------\n". cout<<" // // // /// //"< <endl. 186. 189. 211. Color_Def). cout<<" (1)REGISTRAR CLIENTE // // // // //////////"<<endl. Color_Yellow). 194. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). cout<<" // // // // // // "<<endl. 201. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). 212. 208. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). cout<<" // // // // //////////"<<endl. 199. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). void menu_actualizar_cliente(void){ 206. 204. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). Color_Def). 190. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). cout<<" (2)ACTUALIZAR CLIENTE // // // // // //"<<endl. /*-------------------. Color_Red). 187. } 202. 196. 203. 207. cout<<" (3)LISTAR CLIENTES // // // // // //"<<endl. 185. . 192. 195. Color_Def). //SALIR DEL PROGRAMA 197. 198.184. Color_Yellow). cout<<" <<<<<<<<<< CLIENTES >>>>>>>>>>". 191. cout<<" Ingrese Opcion : ". cout<<" (1)MODIFICAR NOMBRE // // //// // //"<<endl. cout<<" <<<<<<<<<< CLIENTES -> MODIFICAR DATOS >>>>>>>>>>".MENU ACTUALIZAR CLIENTE ------------------*/ 205. cout<<"\n ----------------------------------------------------------- ----------\n\n". 200.ESTRUCTURA DE DATOS"<<endl. 209. cout<<" INFORMATICA .

214. cout<<" // // //// // //"<<endl. cout<<" (2)MOSTRAR VENTAS REALIZADAS // // // // // //"<<endl. cout<<" (5)REGRESAR ///////// // // //"<< endl. 238. cout<<" (4)MODIFICAR E-MAIL // // // // // //"<<endl. void menu4(void){ 228. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). cout<<" ------------------------------------------------------------- --------\n". Color_Yellow). 225.ESTRUCTURA DE DATOS"<<endl. 219. cout<<" (5)MODIFICAR DIRECCION // // // /// //"<<endl. 217. 222. cout<<" (3)MODIFICAR TELEFONO // // // // // //"<<endl. cout<<"\n ----------------------------------------------------------- ----------\n\n". 226. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). Color_Yellow). cout<<" (2)MODIFICAR APELLIDOS // // // // // //"<<endl.MENU VENTAS ----------------------*/ 227. /*---------------------. Color_Red). 235. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). 240. 230. //SALIR DEL PROGRAMA 220. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). } 224. 239. cout<<" (6)REGRESAR ///////// // // //"<<e ndl. Color_Def). 236. cout<<" (1)VENDER PRODUCTOS // // // // //////////"<<endl.213. 241. 221. cout<<" Ingrese Opcion : ". cout<<" INFORMATICA . 223. cout<<" <<<<<<<<<< VENTAS >>>>>>>>>>". 218. 216. 232. 237. cout<<" // // // /// //"< <endl. Color_Def). 233. cout<<" // // // // // // "<<endl. Color_Red). SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). 215. 231. 234. 229. cout<<" (3)DETALLAR VENTA // // // // // //"<<endl. . SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE).

Color_Yellow). Color_Red). SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). 259. cout<<" // // // /// //"< <endl. cout<<" ------------------------------------------------------------- --------\n". SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). cout<<" ------------------------------------------------------------- --------\n". /*---------------------. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE).242. cout<<" (2)ACTUALIZAR PROVEEDOR // // // // // //"<<endl. 257. cout<<" (3)LISTAR PROVEEDORES // // // // // //"<<endl. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). 256. Color_Def). 270. 251. 246. void menu_actualizar_proveedor(void){ 272. Color_Yellow). 255. Color_Def). } 269.MENU ACTUALIZAR PROVEEDOR ------------------*/ 271. 248. cout<<" (5)REGRESAR ///////// // // //"<< endl.MENU PROVEEDORES ---------------------*/ 249. 258. 268. /*-------------------. //SALIR DEL PROGRAMA 264. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). cout<<" INFORMATICA . 245. . } 247. 262. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). void menu5(void){ 250. cout<<"\n ----------------------------------------------------------- ----------\n\n". 252.ESTRUCTURA DE DATOS"<<endl. 265. cout<<" Ingrese Opcion : ".ESTRUCTURA DE DATOS"<<endl. 261. 254. cout<<" INFORMATICA . //SALIR DEL PROGRAMA 243. 267. cout<<" // // // // // // "<<endl. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). 244. 253. cout<<" <<<<<<<<<< PROVEEDORES >>>>>>>>>>". Color_Yellow). cout<<" Ingrese Opcion : ". cout<<" (1)REGISTRAR PROVEEDOR // // // // //////////"<<endl. 266. 273. 263. Color_Yellow). 260. Color_Def). cout<<" // // //// // //"<<endl.

cout<<" (1)MODIFICAR RAZON SOCIAL // // //// // //"<<endl. cout<<"\n ----------------------------------------------------------- ----------\n\n". .274. cout<<" (2)MODIFICAR TELEFONO // // // // // //"<<endl. cout<<" <<<<<<<<<< PEDIDOS >>>>>>>>>>". 301. 276. 277. 287. cout<<" ------------------------------------------------------------- --------\n". 298. 290. /*---------------------. cout<<" (1)REALIZAR UN PEDIDO // // // // //////////"<<endl. 279. cout<<" Ingrese Opcion : ". 282.ESTRUCTURA DE DATOS"<<endl. cout<<" (4)MODIFICAR DIRECCION // // // // // //"<<endl. 292. cout<<" <<<<<<<<<< PROVEEDORES -> MODIFICAR DATOS >>>>>>>>>>". cout<<" INFORMATICA . SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE).MENU PEDIDOS ----------------------*/ 293. Color_Yellow). cout<<" (6)REGRESAR ///////// // // //"<<e ndl. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). 299. Color_Def). cout<<" (2)MOSTRAR PEDIDOS REALIZADOS // // // // // //"<<endl. cout<<" // // // // //////////"<<endl. cout<<" (3)MODIFICAR E- MAIL // // // // // //"<<endl. Color_Yellow). 296. 289. 297. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). 300. cout<<" (5)MODIFICAR WEB // // // /// //"<<endl. 288. 283. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). 285. Color_Red). cout<<"\n ----------------------------------------------------------- ----------\n\n". } 291. 284. cout<<" // // //// // //"<<endl. 278. 275. 281. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). 295. 280. //SALIR DEL PROGRAMA 286. Color_Def). void menu6(void){ 294. Color_Def).

331. void mostrar_linea(Linea arbol){ 333.max_char). mostrar_linea(arbol->izq). 310. } 326. cout<<" // // // // // // "<<endl. 319. 328. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE).ignore(). } 313. 304. if(arbol==NULL){ 317. cout<<" INFORMATICA . Color_Def). cin.getline(arbol->descripLinea. . 339.x). } 338. cout<<" (5)REGRESAR ///////// // // //"<< endl. 336.302. 312. //SALIR DEL PROGRAMA 308. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE). arbol=new (struct nodoLinea). else if(x>arbol->codLinea) insertar_linea(arbol->der. Color_Yellow). mostrar_linea(arbol->der).x). arbol->enlace=NULL. /*-------------------. cout<<" Ingrese Opcion : ". 311. Color_Red).FUNCION PARA INSERTAR UNA LINEA --------------------*/ 314. else if(x<arbol->codLinea) insertar_linea(arbol->izq. cin. 318. cout<<"\n\t"<<arbol->codLinea<<"\t"<<arbol->descripLinea<<endl. 309. 307. 316. 306. 337. arbol->der=NULL. 305. } 330. 320. int x){ 315. if(arbol!=NULL){ 334.ESTRUCTURA DE DATOS"<<endl. void insertar_linea(Linea &arbol. 303.FUNCION PARA MOSTRAR TODAS LAS LINEAS -----------------*/ 332. arbol->izq=NULL. arbol->codLinea=x. 321. 329. } 340. cout<<"\n\tingrese descripcion:". 323. 325. cout<<" // // // /// //"< <endl. 335. cout<<" (3)DETALLAR PEDIDO // // // // // //"<<endl. 322. 327. /*-----------------. 324.

/*--------. 378. cin>>q->precio. cin. listar_productos(q->der). else if(x>q->codProd) insertar_producto(q->der. if (q==NULL){ 345. /*---Funcion que busca el codigo de linea para agregar en el.cout<<"\n\tNOMBRE:". else if(cod>arbol->codLinea) registrar_producto(arbol->der. if(arbol!=NULL){ 359. void listar_productos(Producto q){ 373. 371. if(q!=NULL){ 375. 377. } 379. } 355.int x){ 343. 362. 368. cout<<"\n\tCODIGO:". 344.x). 361. } 366.max_char). 346. cout<<"\n\n\t\t[ REGISTRO DE PRODUCTO ]\n". q->izq=NULL. q->codProd=x. } 352. 349.cod). 365. 374. else if(cod<arbol->codLinea) registrar_producto(arbol->izq.getline(q- >nomProd. cout<<"\n\tPRECIO:".cod). 367. cout<<"\t"<<q->codProd<<"\t"<<q->nomProd<<"\t"<<q->precio<<endl. void registrar_producto(Linea arbol. 347. void insertar_producto(Producto &q. } 369. insertar_producto(arbol->enlace. if(arbol->codLinea==cod){ 360.Funcion que muestra todos los productos ingresados en una linea ------*/ 372. cout<<"\t\t------------------------". 356. 380.x). /*-----------. } 370. cin>>x.ignore(). int cod){ 358. 350. 353. el producto ingresaro ----*/ 357. q->der=NULL. q=new(struct nodoProducto). else if(x<q->codProd) insertar_producto(q->izq. listar_productos(q->izq).341. 363.Funcion que inserta un nuevo producto a la linea -------------- -------*/ 342. 376.x). int x. cin. } . 364. 351. 348. 354.

cin.ignore(). } 397. cliente->der=NULL. cin. void registrar_cliente(Cliente &cliente. 406. else if(x<arbol->codLinea) mostrar_producto(arbol->izq. 389. cin.max_char). cout<<"Lista de productos con la Linea:"<<arbol->codLinea<<endl. 417. cin. 401. 412. cout<<"\n\tDNI :". if(arbol!=NULL){ 385.max_char). 405. 393.getline(cliente->email. cliente->codCliente=x. else if(x>cliente->codCliente) registrar_cliente(cliente->der.ignore(). Funcion que valida de que linea se mostraran los productos ------ ---*/ 383. 398. 411. cin. cout<<"\n\tRUC :". 387. 392. Funcion para registrar clientes ---------------*/ 399. } .getline(cliente- >direccion.381.ignore(). 403.getline(cliente- >telefono.max_char). int x){ 384. 390. cin. 395. 409. 414. 410.x). cout<<" Cod Prod || Nombre || precio"<<endl. cin.ignore(). cin>>cliente->dniCliente. } 391. else if(x>arbol->codLinea) mostrar_producto(arbol->der. } 394. if(arbol->codLinea==x){ 386.x).max_char). cin. 388. cout<<"\n\tTELEFONO :".x). cliente=new (struct nodoCliente). else if(x<cliente->codCliente) registrar_cliente(cliente->izq. int x){ 400. cout<<"\n\tAPELLIDOS :". 396.x).max_doce). cin.getline(cliente- >nomCliente. cout<<"\n\tE-MAIL :". cout<<"\n\tNOMBRE :".getline(cliente- >rucCliente. 408. void mostrar_producto(Linea arbol. 382. cin.ignore(). cliente->izq=NULL. 413. 407. 418. 415. cin. 404. if(cliente==NULL){ 402.getline(cliente- >apellCliente. cin.max_doce). } 416. listar_productos(arbol->enlace). /*----------------. /*--------. cout<<"\n\tDIRECCION :".ignore().

cout<<"\n\n\t\t[ MODIFICAR CLIENTE ]\n". 455. 460. system("cls"). cout<<"\n\tINGRESE NUEVO NOMBRE :".419.getline(cliente->email. if(cliente->codCliente==cod){ 425. 447. cin. 430. int op. 436. cin. case 2: cin. cout<<"\n\n\tE-MAIL :"<<cliente->email. 423. break. if(cliente!=NULL){ 424. cout<<"\n\tINGRESE NUEVO APELLIDO :". 426. menu_actualizar_cliente(). case 4: cin. 454. . 431. 420. 441. 427.getline(cliente->telefono. 432. 452.ignore(). cin>>op. break. cin. 450. 445. 429.ignore(). case 3: cin.getline(cliente->apellCliente.getline(cliente->nomCliente. 459. 458. /*------. 439. break. 446.Funcion que modifica un dato de un cliente seleccionado --------*/ 421.max_doce). cout<<"\n\n\tCODIGO :"<<cliente->codCliente. 449. 435. 461.int cod){ 422. 456. 442. 453. switch(op){ 443. void actualizar_cliente(Cliente &cliente. case 1: cin. 433. 438. cout<<"\n\tINGRESE NUEVO TELEFONO :".ignore(). cout<<"\n\n\tTELEFONO :"<<cliente->telefono. cout<<"\n\n\tAPELLIDOS :"<<cliente->apellCliente.max_char). break. 444. cout<<"\n\tINGRESE NUEVO E-MAIL :". 434. 437. 428. cout<<"\n\n\tDNI :"<<cliente->dniCliente. 462.max_char). cout<<"\n\n\tDIRECCION :"<<cliente->direccion. cin. 448.ignore(). cout<<"\t\t------------------------". 451. cout<<"\n\n\tRUC :"<<cliente->rucCliente.max_char). 440. cout<<"\n\n\tNOMBRE :"<<cliente->nomCliente. 457.

int cod. 497. 487. 504. cout<<"\n\n\tCODIGO :"<<cliente->codCliente. 475. } 479. 471.Funcion que muestra todos los clientes registrados ---------*/ 483. cout<<"\n\n\t\t[ MOSTRAR CLIENTES ]\n". mostrar_clientes(cliente->der). case 5: cin.463. 464. } 476. 489. void mostrar_clientes(Cliente cliente){ 484. 474. break. /*---------. ptrCliente=cliente. cout<<"\n\n\tDIRECCION :"<<cliente->direccion. 465. cin. 469. 490. bool validar_codigo_cliente(Cliente cliente. 494. cout<<"\n\n\tAPELLIDOS :"<<cliente->apellCliente. 472. if(cliente!=NULL){ 505. case 6: break. } 500. cout<<"\n\tINGRESE NUEVA DIRECCION :". 477. 480. else if(cod<cliente->codCliente) actualizar_cliente(cliente->izq. cout<<"\n\n\tE-MAIL :"<<cliente->email. mostrar_clientes(cliente->izq). 496.Funcion que retorna true cuando el codigo es valido --------*/ 502.. 491. 478. Cliente &ptrCliente){ 503. } 473.\n". cout<<"\t\t------------------------". 485. 492. . default: cout<<"\nINGRESE UNA OPCION VALIDA. cout<<"\n\n\tRUC :"<<cliente->rucCliente. break.cod). cout<<"\n\n\tNOMBRE :"<<cliente->nomCliente. 466. 470. 482. 499. 468.max_char).cod). if(cliente!=NULL){ 486. 467. } 501. if(cliente->codCliente==cod){ 506. } 481. /*------. cout<<"\n\n\tDNI :"<<cliente->dniCliente. cout<<"\n\n\tTELEFONO :"<<cliente->telefono. 498.getline(cliente->direccion.. 488. else if(cod>cliente->codCliente) actualizar_cliente(cliente->der. 495.ignore(). 493.

bool validar_cod_producto(Producto producto. validar=validar_cod_producto(arbol->enlace. 535.Funcion que busca el codigo de linea del producto en el arbol ------ --*/ 536. 524. if(producto->codProd==codprod){ 523. Producto &puntProducto){ 519. int codprod.puntProducto). } 516. 514. } 527. /*------. 526. 538. 508.cod.507. else if(codprod<producto->codProd) validar_cod_producto(producto- >izq. 525. /*------. return true. Producto &puntProducto){ 537. } 532. 540. } 534. if(arbol->codLinea==codlinea){ 542. puntProducto=producto.ptrCliente). else if(cod<cliente->codCliente) validar_codigo_cliente(cliente- >izq. int codprod.cod. } 513. 543. 539. else if(cod>cliente->codCliente) validar_codigo_cliente(cliente- >der. else if(codprod>producto->codProd) validar_cod_producto(producto- >der. if(arbol!=NULL){ 541. 530.puntProducto). bool validar. 512.puntProducto).codprod.Funcion que valida si el codigo del producto es verdadero--------*/ 518.codprod. 517. 533. 515.ptrCliente).int codlinea. 522. 531. return true. validar=false. bool validar_codigo_producto(Linea arbol. 529.codprod. 528. if(producto!=NULL){ 521. } 510. 509. 511. if (validar==true) . 520.

. cout<<"\n\tCODIGO INVALIDO. 569.x. else if(codlinea<arbol->codLinea) validar_codigo_producto(arbol- >izq. cout<<"\n\t NOMBRE :"<<(r->ptrProducto)->nomProd. cin>>op. cout<<"\n\tCODIGO DE PRODUCTO:". 549. cin>>r->codigo.puntProducto).codprod. DetalleVenta t.x.r->ptrProducto). 578. int codLinea. 545. } 579. 580. cout<<"\n\tCODIGO:". } 576.codprod. r->ptrProducto=NULL. } 553.codLinea. do{ 567. 568. switch(op){ 582. 585. 548. cout<<"\n\t PRECIO :"<<(r->ptrProducto)->precio. 566. 552. /*------. cout<<"\n\n\tDesea continuar ? <y/n>: ". 557. 560. 574. 571. cin>>x. 564. validado=validar_codigo_producto(arbol. case 'y': break. cout<<"\n\tINGRESE LINEA DEL PRODUCTO: ".r. 561. cin>>codLinea. char op.codlinea. void insertar_producto_venta(DetalleVenta &q. 562. .puntProducto).Linea arbol){ 556. 565. if(validado==true){ 573. 584.544.!!". 575. if(validado==false){ 577. 554. 563. validado=false. 559. } 551. else if(codlinea>arbol->codLinea) validar_codigo_producto(arbol- >der. r=new(struct nodoDetalleVenta). return validar.. 583. 558. bool validado.codlinea. 581. 550.Funcion que agrega un producto a la boleta de venta --------*/ 555. 546. case 'Y': break. 570. 572. } 547.

Linea arbol. 591. 608. 594. t=q. } 615. 620. void detalle_de_venta(DetalleVenta &detalle. 599. default: cout<<"\n\t Ingrese una opcion valida". t->sgte=r. 614. switch(op){ 628. 590. strcpy(r->marca. t=t->sgte. r->sgte=NULL. 626. r->subtotal=(r->cantidad)*((r->ptrProducto)->precio). 627. 611. r->codProd=x. 600.(r->ptrProducto)->nomProd). cin>>op. cout<<"\n\n\tDesea agregar otro producto a la venta ? <y/n>: ". 613. 622. 596. /*------. cout<<"\n\tCANTIDAD:". 587.Funcion que ordena agregar la cantidad de productos deseados ------ --*/ 617. char op.586. } 612. while(t->sgte!=NULL) 607.Venta &venta){ 618. case 'N': return . 597. 625. 598. 604. 601. 616. }while(validado==false).arbol). else{ 605. 602. do{ 623. 624. q=r. 621. 606. 595. 593. 609. cout<<"\t\t-------------------------------". case 'y': break. insertar_producto_venta(detalle. 588. if(q==NULL) 603. 610. 619. . cout<<"\n\n\t\t[ LISTA DE PRODUCTOS VENDIDOS ]\n". 589. case 'n': return . } 592. cin>>r->cantidad.

do{ 658.getline(q->fecha. case 'N': return . 663. . Venta q. cout<<"\n\tCODIGO DE CLIENTE:". 636. 637.x. 672. q=new(struct nodoVenta). 666. 649. 657. if(validado==false) 664. cout<<"\n\tFECHA:". } 638.ignore(). 671. 639. 633. cout<<"\n\n\tDesea continuar con el registro de venta ? <y/n>: ". 631.. } 641. 667. 660. default: cout<<"\n\t Ingrese una opcion valida". case 'y': break. 647. cout<<"\n\n\t\t[ BOLETA DE VENTAS ]\n". cout<<"\t\t------------------------"..t. 634. int x. cout<<"\n\tCODIGO INVALIDO. /*------. 670. char op. 640. 661.!!". cout<<"\n\tNOMBRE:"<<(q->ptrCliente)->nomCliente. 648. }while(op=='y'||op=='Y'). 652. case 'n': return . 632. case 'Y': break. 646. void registrar_venta(Venta &venta. Linea arbol){ 644. if(validado==true) 662. cin>>op. 654.629. cout<<"\n\tCODIGO:". float total=0.max_doce). 665. 669. 642.q->ptrCliente). 650.Cliente cliente. bool validado. cin. 645. 630.Funcion que registra una venta a la lista enlazada venta --------*/ 643. 655. cin>>q->codigo. validado=validar_codigo_cliente(cliente. case 'Y': break. cin. 659. DetalleVenta aux. 635. 656. 651. 653. validado=false. switch(op){ 668. cin>>x. case 'n': delete(q).

683. 685. if(venta==NULL) 694. 706. aux=q->detalle. 679. t=t->sgte. } 680. q->monto=total. t->sgte=q. } 703. return . while(t->sgte!=NULL) 699. q->detalle=NULL. 675. aux=aux->sgte. venta=q. 690. case 'N': delete(q). q->codCliente=x. 704. 716. 691. 693. 696. while(aux!=NULL){ 689.//insertamos los productos deseados 686. detalle_de_venta(q->detalle. 681. /*------. 701. cout<<"\n\tCODIGO DE VENTA: "<<q->codigo.Funcion muestra todas las ventas de la lista q --------*/ 708. 695. return . 677. 682. 698. 674. cout<<"\n\tCODIGO DE CLIENTE : "<<q->codCliente. else { 697.673. 714.q). 700.arbol. while(q!=NULL){ 711. 712.calculamos el monto */ 687. 678. }while(validado==false). t=venta. void listar_ventas(Venta q){ 709. 715. . default: cout<<"\n\t Ingrese una opcion valida". 688. int i=1. } 692. 684. 676. 707. cout<<"\n\tFECHA : "<<q->fecha. 713. 702. cout<<"\n\n\tDATOS DE LA VENTA ["<<i<<"] ". 710. q->sgte=NULL. total=total+aux->subtotal. } 705. cout<<"\n\t------------------------". /*--.

718. /*----------------. i++. cout<<"\n\tCODIGO DE VENTA: "<<q->codigo. else q=q->sgte. 743. 742. int i=1.717. q=q->sgte. cout<<"\n\tFECHA : "<<q->fecha. 739. 737. } 754. cout<<"\n\tCODIGO:"<<(q->detalle)->codigo. int cod){ 728. 753. 741. void mostrar_venta(Venta q. cout<<"\n\tCODIGO DE CLIENTE : "<<q->codCliente. while(q->detalle!=NULL){ 740. (q->detalle)=(q->detalle)->sgte. } 756. 748. 731.Funcion que muestra una venta con sus productos --------*/ 727. /*------. cout<<"\n\tNOMBRE DEL CLIENTE:"<<(q->ptrCliente)->nomCliente. void registrar_proveedor(Proveedor &proveedor. } 723. 747. 735. cout<<"\n\tMARCA:"<<(q->detalle)->ptrProducto->nomProd. cout<<"\n\tMONTO:"<<q->monto. 724. q=q->sgte. cout<<"\n\tCANTIDAD:"<<(q->detalle)->cantidad. cout<<"\n\n\t[ DATOS DE LA VENTA ]". cout<<"\n\n\tPRODUCTO ["<<i<<"]\n". int x){ 759. 757. if(q->codigo==cod){ 732. 751. } 752. 745. 719. 736. 734. if(proveedor==NULL){ . cout<<"\n\tNOMBRE DEL CLIENTE:"<<(q->ptrCliente)->nomCliente. cout<<"\n\tCODIGO DEL PRODUCTO:"<<(q->detalle)->codProd. } 725. while(q!=NULL){ 730. 755. 721. } 749. 733. cout<<"\n\tSUBTOTAL:"<<(q->detalle)->subtotal. cout<<"\n\tMONTO:"<<q->monto<<endl. 722. 726. 744. 750. 760. Funcion para registrar proveedores ---------------*/ 758. 729. cout<<"\n\t------------------------". 738. 720. i++. 746.

770. 798. proveedor->der=NULL. cin. cin. cout<<"\n\tRUC :". 797. 775. cout<<"\n\n\tRAZON SOCIAL :"<<proveedor->razonSocial.x). cout<<"\n\n\tCODIGO :"<<proveedor->codProveedor.getline(proveedor- >razonSocial. 790.Funcion que modifica un dato de un proveedor seleccionado -------- */ 778.ignore(). cin. 785.ignore(). 796. 763.getline(proveedor- >direccion. void actualizar_proveedor(Proveedor &proveedor. 767. int op. cin. 768.max_doce). if(proveedor!=NULL){ 781. 792. 772.761. cin. proveedor->codProveedor=x.max_char). cout<<"\n\n\tTELEFONO :"<<proveedor->telefono. else if(x>proveedor->codProveedor) registrar_proveedor(proveedor->der. 793.getline(proveedor->web.max_char). switch(op){ . 766. 784. else if(x<proveedor->codProveedor) registrar_proveedor(proveedor->izq. 764. cout<<"\n\n\tRUC :"<<proveedor->rucProveedor. cin. cin.ignore().ignore(). 769. 789. cout<<"\n\n\tDIRECCION :"<<proveedor->direccion. 794. 777.ignore().getline(proveedor- >telefono. 788. menu_actualizar_proveedor(). proveedor->izq=NULL. cin. cin. 783. } 776. if(proveedor->codProveedor==cod){ 782. 791. system("cls"). 765. cin. cout<<"\t\t------------------------".max_doce). cin>>op.max_char). proveedor=new (struct nodoProveedor). /*------.ignore().getline(proveedor- >rucProveedor. } 773. 780. cin.max_char). cin. cout<<"\n\n\tE-MAIL :"<<proveedor->email. 787.x). 795. cout<<"\n\tWEB :". 786. cout<<"\n\tDIRECCION :".getline(proveedor- >email. 762. cout<<"\n\tE-MAIL :". cout<<"\n\tTELEFONO :". 774. cout<<"\n\n\t\t[ MODIFICAR CLIENTE ]\n". cout<<"\n\n\tWEB :"<<proveedor->web.int cod){ 779. cout<<"\n\tRAZON SOCIAL :". 771.

else if(cod<proveedor->codProveedor) actualizar_proveedor(proveedor- >izq. case 1: cin. } 835. cin. 821. 833. 810.max_char).max_char).max_char). 819. 806. 802. 828. 827.cod). 807. 803. 818.ignore().cod). cin. break. cin. 823. 809. cout<<"\n\tINGRESE NUEVO E-MAIL :".getline(proveedor->email. . 800. } 837. 813. cin. 811. 814. 812.max_doce). /*---------. } 829. 820.getline(proveedor->telefono. 831. 817. 801.ignore(). else if(cod>proveedor->codProveedor) actualizar_proveedor(proveedor- >der. 808.getline(proveedor->razonSocial. cin.getline(proveedor->direccion. break. 834. 836. case 6: break.\n". 838. case 3: cin. 825. case 2: cin. 824... } 832. 816. 815.ignore(). default: cout<<"\nINGRESE UNA OPCION VALIDA. cout<<"\n\tINGRESE NUEVA DIRECCION :". 822. void mostrar_proveedores(Proveedor proveedor){ 840.getline(proveedor->web. cout<<"\n\tINGRESE NUEVO TELEFONO :". 805. cout<<"\n\tINGRESE NUEVA RAZON SOCIAL :". break.max_char).Funcion que muestra todos los proveedores registrados ---------*/ 839.ignore(). cout<<"\n\tINGRESE NUEVA WEB :".799. break. break. 830. 826. break. case 4: cin.ignore(). case 5: cin. 804.

871. cout<<"\n\n\tWEB :"<<proveedor->web. /*------. r=new(struct nodoDetallePedido). cout<<"\n\n\tCODIGO :"<<proveedor->codProveedor. } 856. cout<<"\n\n\tRUC :"<<proveedor->rucProveedor.841. 852. 872. cout<<"\n\n\tTELEFONO :"<<proveedor->telefono. 867. cout<<"\t\t------------------------". } 855. 862. 860. 847. mostrar_proveedores(proveedor->der). 853. if(proveedor!=NULL){ 842.Funcion que agrega un producto a la proforma de pedido --------*/ 878. 883. 874. int i=1. 876. bool validado. 866. cout<<"\n\n\tDATOS DEL PEDIDO ["<<i<<"] ". 844. while(q!=NULL){ 861. i++. cout<<"\n\tCODIGO DE PROVEEDOR : "<<q->codProveedor. 869. cout<<"\n\t------------------------". 848. 881. mostrar_proveedores(proveedor->izq). DetallePedido t. 880. cout<<"\n\tCODIGO DE PEDIDO: "<<q->codigo. 882. cout<<"\n\n\tDIRECCION :"<<proveedor->direccion. 849.Linea arbol){ 879.Funcion muestra todas las ventas de la lista q --------*/ 858. char op. int codLinea. void insertar_producto_pedido(DetallePedido &q. } 873. 877. } 875. 851. cout<<"\n\n\t\t[ MOSTRAR PROVEEDOR ]\n". q=q->sgte. 846.x. /*------. . 850. cout<<"\n\n\tE-MAIL :"<<proveedor->email. 865. 854. cout<<"\n\tMONTO:"<<q->monto. cout<<"\n\tFECHA : "<<q->fecha. 857. 868. cout<<"\n\n\tRAZON SOCIAL :"<<proveedor->razonSocial. 864. 863. cout<<"\n\tRAZON SOCIAL:"<<(q->ptrProveedor)->razonSocial. 845.r. 884. 843. 870. void listar_pedidos(Pedido q){ 859.

908. }while(validado==false). case 'Y': break. 903. 895. 910. 901. 923. 920. 917. 889. cin>>r->cantidad. cin>>x. 906. 911. 893. r->codProd=x. 922. case 'n': return . } 914. cout<<"\n\tCODIGO:". cout<<"\n\n\tDesea continuar ? <y/n>: ". strcpy(r->marca. switch(op){ 904. 907. if(q==NULL) 925. 909. 887. case 'N': return . 898. if(validado==false) 900. 891. cout<<"\n\t PRECIO :"<<(r->ptrProducto)->precio. cout<<"\n\tCANTIDAD:". 886. cout<<"\n\tCODIGO DE PRODUCTO:". cout<<"\n\t NOMBRE :"<<(r->ptrProducto)->nomProd. 918. r->sgte=NULL. q=r. cout<<"\n\tINGRESE LINEA DEL PRODUCTO: ". 928. validado=validar_codigo_producto(arbol. t=q. 897. validado=false. } 899. cout<<"\n\tCODIGO INVALIDO. cin>>codLinea. while(t->sgte!=NULL) . cin>>r->codigo. cin>>op.codLinea. 915.(r->ptrProducto)->nomProd). 902. if(validado==true){ 896.x. else{ 927. 894. 926. do{ 890. 916.. 905.885.!!". r->ptrProducto=NULL. 913. case 'y': break. 888. default: cout<<"\n\t Ingrese una opcion valida".. 924. 912. r->subtotal=(r->cantidad)*((r->ptrProducto)->precio). 892.r->ptrProducto). 921. 919.

Proveedor &ptrProveedor){ 967. 938. 965. t->sgte=r. void detalle_de_pedido(DetallePedido &detalle. 935. char op. 932. case 'Y': break. if(proveedor->codProveedor==cod){ 970. cout<<"\n\n\tDesea agregar otro producto a la Proforma ? <y/n>: ". default: cout<<"\n\t Ingrese una opcion valida". cin>>op. 944. 954. 947. 931.Funcion que ordena agregar la cantidad de productos deseados al detalle del pedido --------*/ 940. cout<<"\n\n\t\t[ LISTA DE PRODUCTOS A PEDIR ]\n". 948. case 'y': break. switch(op){ 951. 959. 949. 968. 930. 933. } 964. 958. cout<<"\t\t-------------------------------". case 'n': return . } 937. }while(op=='y'||op=='Y'). 957. ptrProveedor=proveedor. . bool validar_codigo_proveedor(Proveedor proveedor. } 961. 963. 955. 962. 942. if(proveedor!=NULL){ 969. 936. insertar_producto_pedido(detalle. } 934. /*------. case 'N': return . 952.929.arbol). /*------. do{ 946. 945. 960.Pedido &pedido){ 941.Linea arbol. 956. 953. t=t->sgte. 943.Funcion que retorna true cuando el codigo es valido --------*/ 966. int cod. 950. 939.

max_doce). 1003. cout<<"\n\tRAZON SOCIAL:"<<(q->ptrProveedor)->razonSocial. 995. cout<<"\n\tCODIGO INVALIDO. cout<<"\n\n\tDesea continuar con el registro de Pedido ? <y/n>: ". do{ 997. } 980. 976. if(validado==true) 1001. 975.!!". 1005. 1006.getline(q->fecha. } 977. 1011. char op. cout<<"\n\tCODIGO:".Funcion que registra un Pedido a la lista enlazada Pedido -------- */ 982. 988. cin>>x. cout<<"\n\tFECHA:".Proveedor proveedor. 999. validado=validar_codigo_proveedor(proveedor. if(validado==false) 1004. 985. Pedido q. 990. 991. else if(cod<proveedor- >codProveedor) validar_codigo_proveedor(proveedor->izq.cod. else if(cod>proveedor- >codProveedor) validar_codigo_proveedor(proveedor->der.ptrProveedor). bool validado. 981.971. validado=false. int x. } 974. cin.ignore(). float total=0. 992. 998. .. cin>>op. 979.t. 972. 1000.cod. 986. cin>>q->codigo. 1009. void registrar_pedido(Pedido &pedido.x. case 'y': break. 978. cout<<"\n\n\t\t[ PROFORMA DE PEDIDO ]\n". case 'Y': break.q->ptrProveedor). 1002. 984. 973. switch(op){ 1008.. 993. /*------. return true. q=new(struct nodoPedido). DetallePedido aux. Linea arbol){ 983. cin.ptrProveedor). 1007. 1010. cout<<"\t\t-----------------------------". 987. cout<<"\n\tCODIGO DE PROVEEDOR:". 994. 996. 989.

1034. q->monto=total.1012. default: cout<<"\n\t Ingrese una opcion valida". /*------. cout<<"\n\n\t[ DATOS DEL PEDIDO ]". 1019. } 1046. 1041. detalle_de_pedido(q->detalle. if(q->codigo==cod){ 1053. 1013. total=total+aux->subtotal. 1055. 1029. 1022. 1023.arbol. 1047. case 'n': delete(q). q->codProveedor=x. int i=1. 1014. while(aux!=NULL){ 1030. 1025. t->sgte=q. 1021. aux=aux->sgte. pedido=q. 1032. cout<<"\n\tCODIGO DE PEDIDO: "<<q->codigo. . if(pedido==NULL) 1035. 1027.//insertamos los productos deseados 1026. t=pedido. 1054.q). /*--. 1031. 1045. aux=q->detalle. 1018. while(q!=NULL){ 1051. return . return . 1037.calculamos el monto */ 1028. q->detalle=NULL. q->sgte=NULL. 1043. }while(validado==false). } 1044. 1016. } 1020. void mostrar_pedido(Pedido q. 1017. 1050. case 'N': delete(q). 1052. 1039. } 1033. 1015. else { 1038. int cod){ 1049. cout<<"\n\t------------------------".Funcion que muestra un pedido con sus productos --------*/ 1048. while(t->sgte!=NULL) 1040. 1042. t=t->sgte. 1036. 1024.

q=q->sgte. 1084. 1086. menu1(). } 1075. 1097. 1082. /*---------------------. cout<<"\n\tCODIGO DE PROVEEDOR : "<<q->codProveedor. int main (void){ 1080. cout<<"\n\tRAZON SOCIAL:"<<(q->ptrProveedor)->razonSocial. 1071. cout<<"\n\tCANTIDAD:"<<(q->detalle)->cantidad. 1058. do{ 1098.FUNCION PRINCIPAL ----------------------*/ 1079. 1078. switch(op){ 1094. case 1: system("cls").op2. 1066. i++. 1059. while(q->detalle!=NULL){ 1061. 1088. 1072. do{ titulo(). 1093.1056. SetConsoleTitle("SISTEMA DE ALMACEN"). int op. . 1063.dato. 1062. ALMACEN ---------------*/ 1096. cout<<"\n\tMONTO:"<<q->monto<<endl. 1091. cout<<"\n\tCODIGO DEL PRODUCTO:"<<(q->detalle)->codProd. 1095. (q->detalle)=(q->detalle)->sgte. cout<<"\n\tMARCA:"<<(q->detalle)->ptrProducto->nomProd. cin>>op. 1087. Linea arbol=NULL. cout<<"\n\tFECHA : "<<q->fecha. // PARA CAMBIAR EL TITULO AL PROGRAMA 1081. 1068. Proveedor proveedor=NULL. 1069. } 1077. cout<<"\n\tCODIGO:"<<(q->detalle)->codigo. 1090. 1083. titulo(). Venta venta=NULL. Cliente cliente=NULL. 1089. cout<<"\n\tSUBTOTAL:"<<(q->detalle)->subtotal. } 1070. 1064. 1085. 1074. 1060. 1076. cout<<"\n\n\tPRODUCTO ["<<i<<"]\n". /*------------. } 1073. 1065. 1092. else q=q->sgte. 1067. 1057. Pedido pedido=NULL.

system("cls"). }while(op2!=5). cin>>op2. 1107. break. cin>>dato. 1133. menu2(). 1124. do{ 1134. case 2: system("cls").dato). 1120. 1129. 1137. default: cout<<"\nINGRESE UNA OPCION VALIDA. } 1126. break. 1135. 1122.. 1131.\n". 1117. 1123. case 4: cout<<"\nIngrese codigo de Linea del Producto:". 1106. 1116. 1136. 1101. 1104. case 2: mostrar_linea(arbol). 1115. 1111.dato). 1109. CLIENTES ---------------*/ 1132. 1130. break. 1138. 1119. registrar_producto(arbol. case 3: cout<<"\nIngrese codigo de Linea del Producto:". cin>>dato. break. break. 1127. insertar_linea(arbol. 1112. /*------------. break. 1108. 1128.1099. 1118. 1113. 1114. cout<<endl. case 1: cout<<"\nIngrese codigo de linea:". 1105. menu3(). 1102. 1110. switch(op2){ . cin>>dato. 1121. system("pause"). 1100.dato). mostrar_producto(arbol. titulo(). cin>>op2. switch(op2){ 1103. 1125.. case 5: break.

break. VENTAS ---------------*/ 1169. case 1: registrar_venta(venta. cin>>dato. 1151. /*------------.cliente.. switch(op2){ 1176. 1158.. 1157. mostrar_clientes(cliente). case 3: system("cls"). 1170. 1144. break. do{ 1171. 1160. 1152. cout<<"\n\tCodigo de cliente:". 1177. 1175. 1149. break. system("cls"). 1172. 1155. cin>>op2. 1164. titulo(). } 1163. menu4(). 1148. 1174. case 5: break. 1162. break. 1145. 1167. }while(op2!=5). cout<<"\t\t------------------------ \n". 1143. 1147. cout<<"\n\tCodigo de cliente:".dato). 1142. 1165. 1140. default: cout<<"\nINGRESE UNA OPCION VALIDA. 1141. 1146. . 1150. break. system("pause"). 1161. registrar_cliente(cliente. 1173. case 2: cout<<"\n\n\t\t[ ACTUALIZAR CLIENTE ]\n". 1166. case 1: cout<<"\n\n\t\t[ REGISTRO DE CLIENTE ]\n". break. 1154. 1153. 1168.dato).\n". cout<<"\t\t------------------------ \n".arbol). case 3: system("cls"). 1159.1139. cin>>dato. 1156. actualizar_cliente(cliente. cout<<endl.

1212. system("pause"). 1187.dato). case 3: cout<<"\n\n\t\t[ DETALLES DE VENTA ]\n". 1206. 1208. 1205. } 1195. 1213.\n". case 2: cout<<"\n\n\t\t[ LISTAR VENTAS REALIZADAS ]\n". 1199. break. cout<<"\n\tIngrese codigo de venta:". 1181.. }while(op2!=5). 1188. 1190. cin>>dato. 1183. 1191. 1197. /*------------. 1182. 1192. 1196. 1180. listar_ventas(venta). do{ 1202. 1185. break. 1184. break. cout<<"\t\t------------------------ \n". 1198. case 4: system("cls"). break. system("cls").. menu5(). 1186. . case 1: cout<<"\n\n\t\t[ REGISTRO DE PROVEEDOR ]\n". cin>>dato. cin>>op2. switch(op2){ 1207. default: cout<<"\nINGRESE UNA OPCION VALIDA. 1194. 1193. PROVEEDOR ---------------*/ 1200. titulo(). case 5: break. 1211. 1201. cout<<"\t\t------------------------ \n". 1210. mostrar_venta(venta. cout<<"\n\tCodigo de Proveedor:". cout<<endl.dato). cout<<"\t\t------------------------ \n". 1204. break. 1189. registrar_proveedor(proveedor. 1209. 1203.1178. 1179.

. }while(op2!=5). 1238. 1226. listar_pedidos(pedido). break. 1236. mostrar_proveedores(proveedor). 1245. cout<<"\t\t------------------------ \n". 1234. case 2: cout<<"\n\n\t\t[ LISTAR PEDIDOS REALIZADOS ]\n". . system("pause")..proveedor. 1251. actualizar_proveedor(proveedor. break. 1227. break. 1240. 1228.1214. 1233. 1224. 1248. cout<<endl. cout<<"\n\tCodigo de Proveedor:". PEDIDOS ---------------*/ 1237. 1225. break. 1221. 1241. break. 1246. 1242. case 2: cout<<"\n\n\t\t[ ACTUALIZAR PROVEEDOR ]\n". 1235. 1243. default: cout<<"\nINGRESE UNA OPCION VALIDA.arbo l). 1223. titulo(). case 3: system("cls"). break. menu6(). } 1231. case 1: registrar_pedido(pedido.\n". 1222. 1230. 1216. cout<<"\t\t------------------------ \n". do{ 1239. cin>>dato. 1232. 1218. 1249. 1215. 1247. case 5: system("cls"). system("cls"). 1217.dato). 1220. cin>>op2. 1250. 1229. 1219. switch(op2){ 1244. case 5: break. /*------------.

1270. 1260. 1283. 1278. 1272.. 1253. 1263. cout<<endl. break. 1269. } . 1266. 1275. 1280.\n". case 5: break. 1277.\n". break. 1258. mostrar_pedido(pedido. } 1274. 1255. cin>>dato.. 1276. 1259. return 0.. cout<<endl. 1254. 1265. break. }while(op2!=5). 1262. 1268. 1261. case 3: cout<<"\n\n\t\t[ DETALLES DE PEDIDO ]\n". 1273. system("cls"). } 1264.1252. 1279. case 6: return 0.dato). 1256. cout<<"\t\t------------------------ \n". 1271. break. default: cout<<"\nINGRESE UNA OPCION VALIDA. 1257.. 1281. }while(op!=6). 1282. 1267. default: cout<<"\nINGRESE UNA OPCION VALIDA. system("pause"). system("pause"). system("cls"). cout<<"\n\tIngrese codigo de pedido:". system("pause").

Related Interests