Título: Necesito ayuda con mi programa :S No se mantiene abierto Publicado por: luisix en 11 Abril 2013, 17:14 pm Lo que trato de hacer es una caja registradora, pero estoy comenzando en esto del lenguaje c
yo se que para que se detenga se le pone un getche (); pero sige sin detenerse como quiera eso, y si me lo pueden checar y decirme que le falta, gracias Título: Re: Necesito ayuda con mi programa :S No se mantiene abierto Publicado por: luisix en 11 Abril 2013, 17:16 pm este es el codigo..
//Programa que simula una caja registradora en un super mercado //Se ingresan productos y se calcula el monto de todos ellos #include <conio.h> #include <stdio.h> #include <math.h> #include <process.h> #include <string.h> #define MAXPROD 50 struct producto{ int id; float costo; char desc[30]; }; producto Productos[MAXPROD]; //Aqui guardaremos los productos //----------------------------------------------------------------------// void inicializaProductos(){ int i; //Aqui limpiamos nuestro arreglo de productos de posible basura al crearse for(i=0;i<MAXPROD;i++){ Productos.id = 0; Productos.costo = 0; strcpy(Productos.desc,NULL); } /* Aqui tengo la base de datos de los productos disponibles y sus caracteristicas, como id, costo y descripcion. Solo tener cuidado de no ingresar id repetidos */ Productos[0].id = 5050; Productos[0].costo = 12.5; strcpy(Productos[0].desc,"Coca Cola 1.5L"); /////////////////////////////////////////////////////////// Productos[1].id = 4040; Productos[1].costo = 8.5; strcpy(Productos[1].desc,"Flan Art Grande"); /////////////////////////////////////////////////////////// Productos[2].id = 3030; Productos[2].costo = 8.5; strcpy(Productos[2].desc,"Agua Bonafont 1/2 Litro"); /////////////////////////////////////////////////////////// } float BuscarProducto(int id_producto,int x){ int i,flag=0; for(i=0;i<MAXPROD;i++){ if(Productos.id == id_producto){ flag = 1; break; } } if(flag == 0){ return -1; //Error id no encontrado } printf("ntt%st%.2f",Productos.desc,Productos.costo); return Productos.costo; } //----------------------------------------------------------------------// main(){ char opcion; int x; int prod; //Aqui guardamos que producto se agrega a la cuenta float costo; //Acumulado de la cuenta del cliente float costoProdActual; //Nos da el costo del producto actual inicializaProductos(); while(1){ //Consideramos un while infinito, en //teoria una caja registradora siempre esta encendida clrscr(); costo = 0; //Iniciamos el costo de cada compra printf("nnttt--**MENU**--"); printf("nntti.-Ingresa nuevo cliente"); // inicia una nueva factura printf("nntts.-Salir"); //termina la ejecucion del programa printf("nnttOpcion ---> "); opcion = getche(); //Obtenemos la opcion del usuario if(opcion == 's'){ return(1); //Salimos del programa getche(); } if(opcion == 'i'){ x=0; clrscr(); while(prod != -1){ printf("nttIngresa -1 para terminar lista"); printf("nnttDame el numero de producto->"); scanf("%d",&prod); printf(" ") ; if(prod != -1 ){ x++; costoProdActual = BuscarProducto(prod,x); if(costoProdActual != -1){ costo += costoProdActual; } else{ printf("Producto no encontrado"); } printf("tttttt"); printf("ntTotal: %.2f",costo); return(1); } }//Fin segundo while } }//Fin del while principal } Título: Re: Necesito ayuda con mi programa :S No se mantiene abierto Publicado por: 85 en 12 Abril 2013, 01:46 am un humilde consejo, ya que noto que no te respondieron..
que el código lo pongas en las etiquetas correspondientes, fijate en las opciones para la composición del mensaje, hay una lista con etiquetas de código. Y no usar con IO porque no te dan soporte acerca de eso generalmente XD. Sin mirar tu código, probá mandando un system("pause"); en algún lado, usar getchar(), getc(stdin), o cin.get(), hay otras formas.. Salu2 |