Autor
|
Tema: Programa en c++ me muestra falsos valores y no cierra (Leído 2,998 veces)
|
jonny03
Desconectado
Mensajes: 10
|
Buenas, estoy creando un programa para una tarea de programacion en c++ el problema es que me da unos pequeños problemas que hasta el momento no encuentro la solucion, lo que pasa es que cuando entro a la sección de reportes generales me deve mostrar todo el 0 pero la fila 10 me muestra valores que yo nunca ingrese, deben aparecer en 0 hasta que desde el menu principal entre en "comprar" y les de un valor. Tambien tengo un problema que cuando en el menu principal escojo la opcion 4 para salir se va directo al menu de reportes y eso no deve pasar, llego a ustedes intentando ver si me pueden ayudar. les dejo el codigo: #include <stdio.h> #include <stdlib.h> int main() { int menu1, menu2, menu3, bodega, mariscos, sumacompra, venta, restaventa, x, y, z, v; int bm[10][4]; sumacompra=0; restaventa=0; bodega=1; mariscos=1; for(z=0; z<11; z++) { for(v=0; v<5; v++) { bm[z][v]=0; } } menu1=0; while(menu1!=4) { system("cls"); printf("\n----------Menu principal----------"); printf("\n\t1)Comprar\n\t2)Vender\n\t3)Reportes\n\t4)Salir"); printf("\n\nEscoje un menu: "); scanf("%d",&menu1); if(menu1>4) { printf("\nOpcion invalida escoge otra opcion: "); scanf("%d",&menu1); } else { if(menu1==1) { printf("\n----------Comprar----------"); printf("\nEn que bodega desea almacenar? (1-10)\nBodega: "); scanf("%d",&bodega); if (bodega>10) { printf("No existe esa bodega, solo existen 10\n"); system("pause"); } else { printf("\nEscoja un tipo de mariscos:\n\t1)Pulpo\t\t2)Camaron\n\t3)Calamar\t4)Caracol\nOpcion: "); scanf("%d",&mariscos); if (mariscos>4) { printf("\nNo existe ese marisco"); system("pause"); } else { printf("Cuantos Kilos? "); scanf("%d",&bm[0][0]); printf("Se han almacenado %d Kg\n",bm[0][0]); bm[bodega][mariscos]=bm[0][0]+bm[bodega][mariscos]; sumacompra=bm[0][0]+sumacompra; system("pause"); } } } else { if(menu1==2) { printf("\n----------Venta----------"); printf("\nDe que bodega desea Comprar? (1-10) "); scanf("%d",&bodega); if(bodega>10) { printf("\nNo existe esa bodega\n"); system("pause"); } else { printf("\n\t1)Pulpo\t\t2)Camaron\n\t3)Calamar\t4)Caracol"); printf("\n\nQue tipo de marisco desea comprar? "); scanf("%d",&mariscos); if(mariscos>4) { printf("\nNo existe esa opcion...\n"); system("pause"); } else { printf("\nCuantos Kilos? "); scanf("%d",&bm[0][0]); printf("\nSe an restado %d Kg de la bodega\n",bm[0][0]); bm[bodega][mariscos]=bm[bodega][mariscos]-bm[0][0]; restaventa=bm[0][0]-restaventa; system("pause"); } } } else { if(menu1=3) { menu2=0; while(menu2!=4) { menu3=0; printf("\n----------Reportes----------"); printf("\n\n\t1)Inventario\t\t2)Ventas\n\t3)Compras\t\t4)Regresar"); printf("\n\nEntra en un menu: "); scanf("%d",&menu2); if(menu2>4) { printf("\nOpcion no valida\n"); system("pause"); } else { if(menu2==1) { while(menu3!=4) { printf("\n----------Inventarios----------"); printf("\n\n\t1)General\t\t2)Bodega\n\t3)Marisco\t\t4)Regresar"); printf("\n\nEscoje una opcion: "); scanf("%d",&menu3); if(menu3>4) { printf("\nNo existe esa opcion...\n"); system("pause"); } else { if(menu3==1) { printf("\nBodega\t\tPulpo\t\tCamaron\t\tCalamar\t\tCaracol\n"); for(x=1; x<11; x++) { printf("\n%d",x); for(y=1; y<5; y++) { printf("\t\t%d",bm[x][y]); } } } printf("\n"); system("pause"); } } } } } printf("\n"); system("pause"); } } } } } return 0; } Ayuda porfa!!
|
|
|
En línea
|
|
|
|
engel lex
|
intentaste ejecutarlo en el debugger de tu ide para revisarlo paso a paso?
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
jonny03
Desconectado
Mensajes: 10
|
intentaste ejecutarlo en el debugger de tu ide para revisarlo paso a paso?
Ya lo intente solo que en el Code Blocks me aparece la opcion bloqueada, no la puedo iniciar asi
|
|
|
En línea
|
|
|
|
engel lex
|
es raro que no te deje usar el debugger, deberias revisar tu configuracion... bueno revisandolo yo tienes linea 98 ya no se el otro error, no me sale, tendrás que decirme los pasos cuando te salió
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
fary
|
Usa elseif en vez de tantos if anidados.
PD: Esto es C, no C++.
|
|
« Última modificación: 7 Diciembre 2014, 22:16 pm por mDrinky »
|
En línea
|
Un byte a la izquierda.
|
|
|
BitsPuke
Desconectado
Mensajes: 5
|
Yo lo primero que haria es quitar los else porque entre tantas llaves te haces un lio: while (menu!=4){ ... if (menu!=4){ ... } if (menu==1){ ... } ... if (menu==4){ ... } }
Probablemente tu problema sea que has metido un if dentro de un else que no era o algo por el estilo.
|
|
|
En línea
|
|
|
|
jonny03
Desconectado
Mensajes: 10
|
Muchas gracias a todos, ya lo resolvi, esta completo dejo aqui el codigo por si alguien mas lo necesita (aun tiene un pequeño problema que cuando en "informes" entras a "compra" o "venta" y luego regresas de nuevo a "informes" e intentas entrar a "general" no lo reconoce, la solucion es precionar 4 para regresar al menu "reportes" y lo vuelves a intentar, no afecta en mucho) #include <stdio.h> #include <stdlib.h> int main() { int menu1, menu2, menu3, bodega, mariscos, sumacompra, venta, restaventa, x, y, z, v; int cpulpo, ccamaron, ccalamar, ccaracol, vpulpo, vcamaron, vcalamar, vcaracol; int bm[11][5]; vpulpo=0; vcamaron=0; vcalamar=0; vcaracol=0; cpulpo=0; ccamaron=0; ccalamar=0; ccaracol=0; sumacompra=0; restaventa=0; bodega=1; mariscos=1; menu1=0; for(z=0; z<11; z++) { for(v=0; v<5; v++) { bm[z][v]=0; } } while(menu1!=4) { system("cls"); printf("\n----------Menu principal-----------"); printf("\n\t1)Comprar\n\t2)Vender\n\t3)Reportes\n\t4)Salir"); printf("\n\nEscoje un menu: "); scanf("%d",&menu1); if(menu1>4) { printf("\nOpcion invalida escoge otra opcion: "); scanf("%d",&menu1); } if(menu1==1) { system("cls"); printf("\n--------------Comprar--------------"); printf("\nEn que bodega desea almacenar? (1-10)\nBodega: "); scanf("%d",&bodega); while(bodega>10) { printf("\nNo existe esa bodega, solo existen 10\nEn que bodega desea almacenar? (1-10)\nBodega: "); scanf("%d",&bodega); } printf("\nEscoja un tipo de mariscos:\n\t1)Pulpo\t\t2)Camaron\n\t3)Calamar\t4)Caracol\nOpcion: "); scanf("%d",&mariscos); while(mariscos>4) { printf("\nNo existe ese marisco\nEscoja un tipo de mariscos: "); scanf("%d",&mariscos); } printf("Cuantos Kilos? "); scanf("%d",&bm[0][0]); printf("Se han almacenado %d Kg\n",bm[0][0]); if(mariscos==1) { cpulpo=cpulpo+bm[0][0]; } if(mariscos==2) { ccamaron=ccamaron+bm[0][0]; } if(mariscos==3) { ccalamar=ccalamar+bm[0][0]; } if(mariscos==4) { ccaracol=ccaracol+bm[0][0]; } bm[bodega][mariscos]=bm[0][0]+bm[bodega][mariscos]; sumacompra=sumacompra+bm[0][0]; system("pause"); } if(menu1==2) { system("cls"); printf("\n---------------Venta---------------"); printf("\nDe que bodega desea Comprar? (1-10) "); scanf("%d",&bodega); while(bodega>10) { printf("\nNo existe esa bodega, solo existen 10\nEn que bodega desea comprar? (1-10)\nBodega: "); scanf("%d",&bodega); } printf("\n\t1)Pulpo\t\t2)Camaron\n\t3)Calamar\t4)Caracol"); printf("\n\nQue tipo de marisco desea comprar? "); scanf("%d",&mariscos); while(mariscos>4) { printf("\nNo existe ese marisco\nEscoja un tipo de mariscos: "); scanf("%d",&mariscos); } printf("\nCuantos Kilos? "); scanf("%d",&bm[0][0]); printf("\nSe an restado %d Kg de la bodega\n",bm[0][0]); if(mariscos==1) { vpulpo=vpulpo+bm[0][0]; } if(mariscos==2) { vcamaron=vcamaron+bm[0][0]; } if(mariscos==3) { vcalamar=vcalamar+bm[0][0]; } if(mariscos==4) { vcaracol=vcaracol+bm[0][0]; } bm[bodega][mariscos]=bm[bodega][mariscos]-bm[0][0]; restaventa=restaventa+bm[0][0]; system("pause"); } if(menu1==3) { while(menu2!=4) { system("cls"); printf("\n-------------Reportes--------------"); printf("\n\n\t1)Inventario\t\t2)Ventas\n\t3)Compras\t\t4)Regresar"); printf("\n\nEntra en un menu: "); scanf("%d",&menu2); if(menu2>4) { printf("\nOpcion no valida\n"); system("pause"); } if(menu2==1) { while(menu3!=4) { system("cls"); printf("\n------------Inventarios------------"); printf("\n\n\t1)General\t\t2)Bodega\n\t3)Marisco\t\t4)Regresar"); printf("\n\nEscoje una opcion: "); scanf("%d",&menu3); if(menu3>4) //opcion invalida { printf("\nNo existe esa opcion...\n"); system("pause"); } if(menu3==1) //Reporte General { printf("\nBodega\t\tPulpo\t\tCamaron\t\tCalamar\t\tCaracol\n"); for(x=1; x<11; x++) { printf("\n%d",x); for(y=1; y<5; y++) { printf("\t\t%d Kg",bm[x][y]); } } printf("\n\n"); system("pause"); } if(menu3==2) //Reporte por Bodega { printf("\nEscoje una de las 10 bodegas para inspeccionar: "); scanf("%d",&bodega); if(bodega>10) { printf("\nNo existe esa bodega, solo existen 10\nEscoje una de las 10 (1-10)\nBodega: "); scanf("%d",&bodega); } if(bodega<11) { printf("\nBodega\t\tPulpo\t\tCamaron\t\tCalamar\t\tCaracol\n"); printf(" %d",bodega); for(y=1; y<5; y++) { printf("\t\t%d Kg",bm[bodega][y]); } } printf("\n\n"); system("pause"); } if(menu3==3) //Reporte por marisco { printf("\n\t1)Pulpo\t\t\t2)Camaron\n\t3)Calamar\t\t4)Caracol"); printf("\n\nEscoje una clase de marisco: "); scanf("%d",&mariscos); if(mariscos>10) { printf("\nNo existe ese marisco, escoje una opcion valida"); scanf("%d",&bodega); printf("\n\nEscoje una clase de marisco: "); scanf("%d",&mariscos); } if(mariscos==1) //Reporte de Pulpo { printf("\n\nBodega\t\tKg de Pulpo"); for(x=1; x<11; x++) { printf("\n %d\t\t %d Kg",x,bm[x][1]); } } if(mariscos==2) //Reporte de Camaron { printf("\n\nBodega\t\tKg de Camaron"); for(x=1; x<11; x++) { printf("\n %d\t\t %d Kg",x,bm[x][2]); } } if(mariscos==3) //Reporte de Calamar { printf("\n\nBodega\t\tKg de Calamar"); for(x=1; x<11; x++) { printf("\n %d\t\t %d Kg",x,bm[x][3]); } } if(mariscos==4) //Reporte de Caracol { printf("\n\nBodega\t\tKg de Caracol"); for(x=1; x<11; x++) { printf("\n %d\t\t %d Kg",x,bm[x][4]); } } printf("\n\n"); system("pause"); } } } if(menu2==2) { printf("\n\n-----Venta total por mariscos------\nPulpo\t\tCamaron\t\tCalamar\t\tCaracol\t\tTotal\n"); printf("%d Kg\t\t%d Kg\t\t%d Kg\t\t%d Kg\t\t%d Kg\n\n",vpulpo,vcamaron,vcalamar,vcaracol,restaventa); system("pause"); } if(menu2==3) { printf("\n\n-----Compra total por mariscos-----\nPulpo\t\tCamaron\t\tCalamar\t\tCaracol\t\tTotal\n"); printf("%d Kg\t\t%d Kg\t\t%d Kg\t\t%d Kg\t\t%d Kg\n\n",cpulpo,ccamaron,ccalamar,ccaracol,sumacompra); system("pause"); } } } menu2=0; menu3=0; } }
Pueden cerrar el post
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[?][c++]cout << fu1(5); se cierra el programa
Programación C/C++
|
anonimo12121
|
5
|
5,465
|
19 Febrero 2011, 14:01 pm
por anonimo12121
|
|
|
programa en c que al llenar una matriz 4x4 no me acepte valores repetidos
Programación C/C++
|
sanchez2011
|
1
|
10,463
|
4 Junio 2012, 04:17 am
por STANHMAL
|
|
|
programa muestra resultado que no deberia
Programación C/C++
|
ivanel93
|
8
|
4,361
|
16 Octubre 2012, 05:55 am
por ivanel93
|
|
|
Apple muestra a los usuarios como evitar acceder a portales de iCloud falsos
Noticias
|
wolfbcn
|
0
|
1,323
|
22 Octubre 2014, 21:24 pm
por wolfbcn
|
|
|
Google Maps muestra millones de negocios falsos según el 'WSJ', aunque la ...
Noticias
|
wolfbcn
|
1
|
1,440
|
22 Junio 2019, 18:14 pm
por Serapis
|
|