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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  problema al imprimir una estructura
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema al imprimir una estructura  (Leído 1,478 veces)
andresg4

Desconectado Desconectado

Mensajes: 1


Ver Perfil
problema al imprimir una estructura
« en: 20 Abril 2018, 08:11 am »

hola anons hay alguno de uds que me pueda ayudar con mi linea de codigo ya que cuando leo los datos y luego le doy a la opcion de imprimir esto produce que se salga del ptrograma alguna que me pueda colaborar muchas gracias.

Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. #include<math.h>
  5. //MACROS
  6. #define limpiarpantalla system("cls")
  7. #define pausarpantalla  system("pause")
  8. #define limpiarbuffer   fflush(stdin)
  9.  
  10. //DEFINIR
  11. typedef enum SISTEMAOPERATIVO {Windows=1,Mac_os,Linux,Solaris} SO;
  12. const char *SISTEMA_OPERATIVO []={"Windows","Mac os","Linux","Solaris","No disponible"};
  13.  
  14. typedef enum MESES {enero=1,febrero,marzo,abril,mayo,junio,julio,agosto,septiembre,octubre,noviembre,diciembre} M;
  15. const char *MESES_ES[]={"Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"};
  16.  
  17. typedef enum GENERACION {Cuarta_gen=1,Quinta_generacion,Sexta_generacion,Septima_generacion,Octava_generacion}P;
  18. const char *GEN_PRO[]={"4ta Generacion","5ta Generacion","6ta Generacion","7ta Generacion","8va Generacion"};
  19.  
  20. typedef unsigned short int usi;
  21.  
  22. //STRUCT
  23.  
  24. struct computador{
  25. SO sistema;
  26. M meses;
  27. unsigned int year;
  28.    usi dia;
  29.    char propietario[100];
  30.    char procesador[20];
  31.    P generacion_procesador;
  32.    usi RAM;
  33.    int precio;
  34.    usi Disco_Duro;
  35.    int Aux;
  36.  
  37. }persona[100];
  38.  
  39. // IMPRIMIR MENU
  40.  
  41. void Menu (){
  42. printf("PC LOOP MENU:\n");
  43. printf("1.Ingresa Datos:\n2.Ordenar Datos\n3.Imprimir Datos\n4.Estadistica datos\n5.Salir\n");
  44. printf("Por favor Ingrese opcion:");
  45. }
  46.  
  47. //LEER DATOS
  48. int  Ingresar(){
  49. int n=1,i=0;
  50. char seguir='S';
  51.  
  52. while(i<n && toupper(seguir)=='S'){
  53.  
  54. printf("REGISTRO DE DATOS Numero=%i\n",i+1);
  55. limpiarbuffer;
  56. printf("Digite su nombre:\n");
  57. scanf("%s",persona[i].propietario);
  58. limpiarbuffer;
  59. printf("Sistema Operativo:\n 1.Windows\n 2.Mac Os\n 3.Linux \n 4.Solaris");
  60. scanf("%i",&persona[i].sistema);
  61. limpiarbuffer;
  62. printf("Digite el nombre del procesador:\n");
  63. scanf("%s",persona[i].procesador);
  64. limpiarbuffer;
  65. printf("Generacion del procesador:\n 1.4ta Gneracion\n 2.5ta Generacion\n 3.6ta Generacion\n 4.7ta Generacion\n 5.8va Generacion");
  66. scanf("%i",&persona[i].generacion_procesador);
  67. limpiarbuffer;
  68. printf("Cuantas gigas de RAM:\n");
  69. scanf("%u",&persona[i].RAM);
  70. limpiarbuffer;
  71. printf("Espacio del disco duro:\n");
  72. scanf("%i",&persona[i].Disco_Duro);
  73. limpiarbuffer;
  74. printf("Ingrese el precio:\n");
  75. scanf("%i",&persona[i].precio);
  76. limpiarbuffer;
  77. printf("ingrese el dia de ingreso:\n");
  78. scanf("%u",&persona[i].dia);
  79. limpiarbuffer;
  80. printf("ingrese el mes:\n 1.Enero\n 2.Febrero\n 3.Marzo\n 4.Abril\n 5.Mayo\n 6.Junio\n 7.Julio\n 8.Agosto\n 9.Septiembre\n 10.Octubre\n 11.Noviembre\n 12.Diciembre\n");
  81. scanf("%i",&persona[i].meses);
  82. limpiarbuffer;
  83. printf("Ingrese el año:\n");
  84. scanf("%i",&persona[i].year);
  85. limpiarbuffer;
  86. printf("Desea seguir:\n S-->si\n N-->no\nPor favor ingresa opcion valida:");
  87. scanf ("%c", &seguir);
  88. limpiarbuffer;
  89. limpiarpantalla;
  90. i++;
  91.  
  92. if(toupper(seguir)=='S') n++;}
  93.  
  94. return n;
  95. }
  96.  
  97. //ORGANIZAR DATOS
  98. void Ordenar(struct computador persona[], int n){
  99. int i,j;
  100. struct computador Aux;
  101. for(i=0;i<n;i++){
  102.  
  103.     for(j=0;j<n;j++){
  104.  
  105.     if (strcmp (persona[j].propietario,persona[i].propietario) > 0){
  106.  
  107.         Aux = persona[j];
  108.  
  109.         persona[j] = persona[i];
  110.  
  111.         persona[i] = Aux;
  112.  
  113.          }
  114.       }
  115. }
  116. }
  117.  
  118. //IMPRIMIR DATOS
  119. void Imprimir(struct computador persona[],int n){
  120. int i;
  121. for(i=0;i<n;i++){
  122. printf("REGISTRO N.%i \n",i+1);
  123. printf("Nombre del propietario:%s\n",persona[i].propietario);
  124. printf("Sistema Operativo:%s\n",persona[i].sistema);
  125. printf("Nombre del procesador:%s\n",persona[i].procesador);
  126. printf("Generacion del procesador:%s\n",persona[i].generacion_procesador);
  127. printf("tiene %i gigas de ram\n",persona[i].RAM);
  128. printf("Espacio disco duro:%i gigas\n",persona[i].Disco_Duro);
  129. printf("precio:%i\n",persona[i].precio);
  130. printf("fecha de ingreso:%i,%s,%i\n",persona[i].dia,persona[i].meses,persona[i].year);
  131. printf("<---------------------------------------------------------------------------------------->\n");
  132. }
  133. }
  134.  
  135. //MAIN
  136.  
  137. int main() {
  138. int ingreso=0,opcion,n;
  139. int contador[]={0,0,0,0,0};
  140. char continuar='s';
  141. printf("BIENVENIDO A PC LOOP:\n");
  142.  
  143. do{
  144. Menu();
  145. scanf("%i",&opcion);
  146. switch(opcion){
  147. case 1:if(ingreso==0){
  148. n=Ingresar();
  149. ingreso++;
  150. break;
  151. } else printf("ya hay datos\n");
  152.       break;
  153. case 2:Ordenar(persona,n);break;
  154. case 3:Imprimir(persona,n);break;
  155. case 4:printf("w");break;
  156. default: printf("Opcion no valida");
  157. }
  158. }
  159.  
  160. while(opcion!=5);
  161.  
  162. return 0;
  163. }


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema con estructura if
Java
GAMEOVER2.0 3 2,695 Último mensaje 10 Marzo 2008, 23:45 pm
por GAMEOVER2.0
[C] ? problema con la estructura FOR « 1 2 »
Programación C/C++
dyn4m0_st4rk 10 5,825 Último mensaje 13 Julio 2010, 09:20 am
por leogtz
Problema con estructura JSON
Desarrollo Web
marko1985 1 2,778 Último mensaje 26 Febrero 2012, 14:34 pm
por marko1985
Problema con acceder a una estructura
Programación C/C++
Wd10 4 2,539 Último mensaje 20 Enero 2013, 00:53 am
por Wd10
Problema con estructura y punteros en C
Programación C/C++
Blaster 2 2,386 Último mensaje 8 Junio 2013, 21:08 pm
por 0xDani
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines