elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema con clear screen
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con clear screen  (Leído 1,688 veces)
Miguelito

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Problema con clear screen
« en: 26 Junio 2019, 07:45 am »

Hola buenas gente, tengo un problema con esta tarea de estructuras, consiste en un programa que almacene el inventario de muebles y luego los liste dependiendo de su tipo, material o código, el problema es cuando uso la opción 5 que es buscar un mueble por su nombre, si ustedes ingresan un mueble y luego buscan con esa opción el mueble, este aparecerá por un segundo y luego desaparece, no se si deje mal puesto algún system("cls") por ahí o algo escribí mal, la idea es que quede fijo el listado hasta que elija otra opción.

Y lo otro si alguien me puede decir como poner una "ñ" en el printf porfa.

Adjunto mi código para que puedan probarlo.

De antemano gracias.

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include<stdlib.h>
  4. #include<dos.h>
  5.  
  6. #define MAXLINEA 30
  7. #define MAXTIPO 15
  8. #define MAXCOLOR 15
  9. #define MAXMATERIAL 20
  10. #define MAXMUEBLE 1000
  11.  
  12. enum { Anadir=1, Listartodo, Listartipo, Listarmaterial, Buscarmueble, Eliminarmueble, Salir};
  13.  
  14. struct fecha {
  15. int dia;
  16. int mes;
  17. int ano;
  18. };
  19.  
  20. struct mueble {
  21. int codigo;
  22. char tipo[MAXTIPO];
  23. char color[MAXCOLOR];
  24. char material[MAXMATERIAL];
  25. struct fecha creacion;
  26. int precio;
  27. };
  28.  
  29. struct bodega {
  30. struct mueble bod[MAXMUEBLE];
  31. int cant;
  32. };
  33.  
  34. int main (void) {
  35.  
  36. struct bodega mis_muebles;
  37. int opc, i, j;
  38. char tipo[MAXTIPO];
  39. char material[MAXMATERIAL];
  40. char linea[MAXLINEA];
  41. int codigo;
  42.  
  43. mis_muebles.cant = 0;
  44.  
  45. do{
  46. do{
  47. printf ("---------------------\n");
  48. printf ("Inventario Muebletex\n");
  49. printf ("---------------------\n");
  50. printf ("1) Anadir mueble\n");
  51. printf ("2) Listar muebles\n");
  52. printf ("3) Listar por tipo de mueble\n");
  53. printf ("4) Listar por tipo de material\n");
  54. printf ("5) Buscar mueble\n");
  55. printf ("6) Eliminar mueble\n");
  56. printf ("7) Salir\n\n");
  57. printf ("Opcion: ");
  58.  
  59. gets(linea); sscanf (linea, "%d", &opc);
  60.  
  61. if (opc < 1 || opc > 7){
  62. printf ("Opcion inexistente. Debe estar entre 1 y 5\n");
  63. }
  64.  
  65. } while(opc < 1 || opc > 7);
  66.  
  67. switch (opc) {
  68.  
  69. case Anadir:
  70. sleep(1);
  71. system("cls");
  72. if (mis_muebles.cant == MAXMUEBLE){
  73. printf("Lo sentimos, La memoria esta llena.\n");
  74. } else{
  75. printf("Codigo:  ");
  76. gets(linea); sscanf (linea, "%d", &mis_muebles.bod[mis_muebles.cant].codigo);
  77.  
  78. printf("\nFecha:\n\n");
  79.  
  80. do{
  81. printf("Dia:  ");
  82. gets(linea); sscanf (linea, "%d", &mis_muebles.bod[mis_muebles.cant].creacion.dia);
  83. if (mis_muebles.bod[mis_muebles.cant].creacion.dia < 1 || mis_muebles.bod[mis_muebles.cant].creacion.dia > 31){
  84. printf ("Opcion inexistente. Debe estar entre 1 y 31\n");
  85. }
  86. } while (mis_muebles.bod[mis_muebles.cant].creacion.dia < 1 || mis_muebles.bod[mis_muebles.cant].creacion.dia > 31);
  87.  
  88. do{
  89. printf("Mes:  ");
  90. gets(linea); sscanf (linea, "%d", &mis_muebles.bod[mis_muebles.cant].creacion.mes);
  91. if (mis_muebles.bod[mis_muebles.cant].creacion.mes < 1 || mis_muebles.bod[mis_muebles.cant].creacion.mes > 12){
  92. printf ("Opcion inexistente. Debe estar entre 1 y 12\n");
  93. }
  94. } while (mis_muebles.bod[mis_muebles.cant].creacion.mes < 1 || mis_muebles.bod[mis_muebles.cant].creacion.mes > 12);
  95.  
  96. do{
  97. printf("Ano:  ");
  98. gets(linea); sscanf (linea, "%d", &mis_muebles.bod[mis_muebles.cant].creacion.ano);
  99. if (mis_muebles.bod[mis_muebles.cant].creacion.ano < 1000 || mis_muebles.bod[mis_muebles.cant].creacion.ano > 3000){
  100. printf ("Opcion inexistente. Debe estar entre 1000 y 3000\n");
  101. }
  102. } while (mis_muebles.bod[mis_muebles.cant].creacion.ano < 1000 || mis_muebles.bod[mis_muebles.cant].creacion.ano > 3000);
  103.  
  104. printf("\nTipo de mueble:  ");
  105. gets(mis_muebles.bod[mis_muebles.cant].tipo);
  106.  
  107. printf("Material:  ");
  108. gets(mis_muebles.bod[mis_muebles.cant].material);
  109.  
  110. printf("Color:  ");
  111. gets(mis_muebles.bod[mis_muebles.cant].color);
  112.  
  113. printf("Precio:  ");
  114. gets(linea); sscanf (linea, "%d", &mis_muebles.bod[mis_muebles.cant].precio);
  115.  
  116. mis_muebles.cant++;
  117. }
  118. sleep(1);
  119. system("cls");
  120. break;
  121.  
  122. case Listartodo:
  123. sleep(1);
  124. system("cls");
  125. for(i = 0; i < mis_muebles.cant; i++){
  126. printf("--------------------------------------\n");
  127. printf("Codigo: %d                                         Fecha: %d/%d/%d\n", mis_muebles.bod[i].codigo,
  128. mis_muebles.bod[i].creacion.dia,
  129. mis_muebles.bod[i].creacion.mes,
  130. mis_muebles.bod[i].creacion.ano);
  131. printf("Tipo de mueble: %s\n", mis_muebles.bod[i].tipo);
  132. printf("Material: %s\n", mis_muebles.bod[i].material);
  133. printf("Color: %s\n", mis_muebles.bod[i].color);
  134. printf("Precio: $%d pesos\n", mis_muebles.bod[i].precio);
  135. printf ("\n");
  136. }
  137. break;
  138.  
  139. case Listartipo:
  140. sleep(1);
  141. system("cls");
  142. printf("Tipo de mueble a buscar:  "); gets(tipo);
  143. for(i = 0; i < mis_muebles.cant; i++){
  144. if (strcmp(tipo, mis_muebles.bod[i].tipo) == 0){
  145. printf("--------------------------------------\n");
  146. printf("Codigo: %d                                         Fecha: %d/%d/%d\n", mis_muebles.bod[i].codigo,
  147. mis_muebles.bod[i].creacion.dia,
  148. mis_muebles.bod[i].creacion.mes,
  149. mis_muebles.bod[i].creacion.ano);
  150. printf("Tipo de mueble: %s\n", mis_muebles.bod[i].tipo);
  151. printf("Material: %s\n", mis_muebles.bod[i].material);
  152. printf("Color: %s\n", mis_muebles.bod[i].color);
  153. printf("Precio: $%d pesos\n", mis_muebles.bod[i].precio);
  154. }
  155. }
  156. break;
  157.  
  158. case Listarmaterial:
  159. sleep(1);
  160. system("cls");
  161. printf("Tipo de material a buscar:  "); gets(material);
  162. for(i = 0; i < mis_muebles.cant; i++){
  163. if (strcmp(material, mis_muebles.bod[i].material) == 0){
  164. printf("--------------------------------------\n");
  165. printf("Codigo: %d                                         Fecha: %d/%d/%d\n", mis_muebles.bod[i].codigo,
  166. mis_muebles.bod[i].creacion.dia,
  167. mis_muebles.bod[i].creacion.mes,
  168. mis_muebles.bod[i].creacion.ano);
  169. printf("Tipo de mueble: %s\n", mis_muebles.bod[i].tipo);
  170. printf("Material: %s\n", mis_muebles.bod[i].material);
  171. printf("Color: %s\n", mis_muebles.bod[i].color);
  172. printf("Precio: $%d pesos\n", mis_muebles.bod[i].precio);
  173. }
  174. }
  175. break;
  176.  
  177. case Buscarmueble:
  178. sleep(1);
  179. system("cls");
  180. printf("Ingrese el codigo del producto a buscar:  "); scanf("%d", &codigo);
  181. for(i = 0; i < mis_muebles.cant; i++){
  182. if(codigo == mis_muebles.bod[i].codigo){
  183. printf("Codigo: %d                                         Fecha: %d/%d/%d\n", mis_muebles.bod[i].codigo,
  184. mis_muebles.bod[i].creacion.dia,
  185. mis_muebles.bod[i].creacion.mes,
  186. mis_muebles.bod[i].creacion.ano);
  187. printf("Tipo de mueble: %s\n", mis_muebles.bod[i].tipo);
  188. printf("Material: %s\n", mis_muebles.bod[i].material);
  189. printf("Color: %s\n", mis_muebles.bod[i].color);
  190. printf("Precio: $%d pesos\n", mis_muebles.bod[i].precio);
  191. }
  192. }
  193. break;
  194.  
  195. case Eliminarmueble:
  196. sleep(1);
  197. system("cls");
  198. printf("Ingrese el codigo del producto para eliminar:  "); scanf("%d", &codigo);
  199. for(i = 0; i < mis_muebles.cant; i++){
  200. if(codigo == mis_muebles.bod[i].codigo){
  201. break;
  202. }
  203. }
  204. if(i < mis_muebles.cant){
  205. for(j = i+1; j < mis_muebles.cant; j++){
  206. mis_muebles.bod[j-1] = mis_muebles.bod[j];
  207. mis_muebles.cant--;
  208. }
  209. }
  210. sleep(1);
  211. system("cls");
  212. break;
  213. }
  214. } while(opc != Salir);
  215. }



Solucionado jajajajaj


« Última modificación: 26 Junio 2019, 20:09 pm por Eternal Idol » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema con screen
Programación Visual Basic
vivachapas 2 1,434 Último mensaje 17 Mayo 2007, 00:38 am
por Mad Antrax
clear screen (limpiar pantalla)
.NET (C#, VB.NET, ASP)
Keung 4 6,762 Último mensaje 25 Abril 2012, 17:19 pm
por Keung
Inquietud sobre función clear screen
Programación C/C++
Keung 3 2,973 Último mensaje 29 Abril 2012, 17:37 pm
por david_BS
Problema con system("clear") [resuelto]
Programación C/C++
JavierScars 2 2,173 Último mensaje 3 Enero 2016, 06:19 am
por JavierScars
system cls o clear
Programación C/C++
7emiliosk8 5 9,385 Último mensaje 18 Febrero 2017, 00:38 am
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines