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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19
141  Programación / Programación C/C++ / necesito ayuda para ordenar en c en: 22 Diciembre 2012, 14:28 pm
Hola buenas, estoy aprendiendo a programar en c, y estoy haciendo una base de datos, que coje 3 datos de un archivo, nombre, nº de registro y nº de serie.

Bueno el problema es que al querer ordenarlo, usando el metodo de burbuja, que es el unico que se, solo me ordena uno de los valores, me explico, yo pido los datos, el usuario los teclea y se guardan en 3 variables distintas, y al ordenarlo solo me ordena una de ella, pero las otras se quedan igual, y lo que quiero es que a partir de cada una de las variables se me ordenen todas, tambien las otras dos, bueno no se si eso es posible, he pensado que a lo mejor habria que crear otra variable con todos los datos de cada archivo, pero no se muy bien como programarlo...

Aqui os dejo el codigo del programa para ver si me podeis ayudar...

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. struct{
  4. char nombreFich[41];
  5. unsigned long numeroregistro;
  6. unsigned long numeroserie;
  7. } fichas[1000000];
  8. int numeroFichas=0;
  9. int i;
  10. int opcion;
  11. char textoTemporal[40];
  12. unsigned long numeroTemporal;
  13.  
  14. main()
  15. {
  16. do {
  17. printf("Escoja una opción: (Teclee el numero de la opcion)\n");
  18. printf("1.- Añadir datos de un nuevo fichero\n");
  19. printf("2.- Mostrar todos los ficheros\n");
  20. printf("3.- Mostrar ficheros a partir de un cierto numero de registro\n");
  21. printf("4.- Mostrar ficheros a partir de un cierto numero de serie\n");
  22. printf("5.- Ver datos de un fichero\n");
  23. printf("6.- Salir\n");
  24. gets (textoTemporal);
  25. sscanf(textoTemporal, "%d", &opcion);
  26. switch(opcion){
  27. case 1:
  28. if (numeroFichas < 1000000) {
  29. printf("Introduce el nombre del fichero: ");
  30. gets(fichas[numeroFichas].nombreFich);
  31. printf("Introduce el numero de registro(si el valor no es un numero no aparecera o aparecera 0): ");
  32. gets(textoTemporal);
  33. sscanf(textoTemporal,"%ld",&fichas[numeroFichas].numeroregistro);
  34. printf("Introduce el numero de serie(si el valor no es un numero no aparecera o aparecera 0): ");
  35. gets(textoTemporal);
  36. sscanf(textoTemporal,"%ld",&fichas[numeroFichas].numeroserie);
  37. numeroFichas++;
  38. } else
  39. printf("Máximo de fichas alcanzado (1000000)!\n");
  40. break;
  41. case 2:
  42. for (i=0; i<numeroFichas; i++)
  43. printf("Nombre: %s; Nº Registro: %ld; Nº Serie: \n",
  44. fichas[i].nombreFich, fichas[i].numeroregistro, fichas[i].numeroserie);
  45. break;
  46. case 3:
  47. printf("¿A partir de que nº de registro quieres que se muestre?");
  48. gets(textoTemporal);
  49. sscanf(textoTemporal, "%ld", &numeroTemporal);
  50. for (i=0; i<numeroFichas; i++)
  51. if (fichas[i].numeroregistro >= numeroTemporal)
  52. printf("Nombre: %s; Nº Registro: %ld; Nº Serie: %1d; \n",
  53. fichas[i].nombreFich, fichas[i].numeroregistro, fichas[i].numeroserie);
  54. else printf("No hay ficheros o no hay ficheros con un nº de registro mayor que el introducido.\n");
  55. break;
  56. case 4:
  57. printf("¿A partir de que nº de serie quieres que se muestre?");
  58. gets(textoTemporal);
  59. sscanf(textoTemporal, "%ld", &numeroTemporal);
  60. for (i=0; i<numeroFichas; i++)
  61. if (fichas[i].numeroserie >= numeroTemporal)
  62. printf("Nombre: %s; Nº Registro: %ld; Nº Serie: %1d; \n",
  63. fichas[i].nombreFich, fichas[i].numeroregistro, fichas[i].numeroserie);
  64. else printf("No hay ficheros o no hay ficheros con un nº de serie mayor que el introducido.\n");
  65. break;
  66. case 5:
  67. printf("¿De qué fichero quiere ver todos los datos?");
  68. gets(textoTemporal);
  69. for (i=0; i<numeroFichas; i++)
  70. if (strcmp(fichas[i].nombreFich, textoTemporal) == 0)
  71. printf("Nombre: %s; Nº registro: %ld; Nº serie: %1d \n",
  72. fichas[i].nombreFich, fichas[i].numeroregistro, fichas[i].numeroserie);
  73. for (i=0; i<numeroFichas; i++)
  74. if (strcmp(fichas[i].nombreFich, textoTemporal) != 0)
  75. if (strstr (fichas[i].nombreFich, textoTemporal) != NULL)
  76. printf("Nombre: %s; Nº registro: %ld; Nº serie: %1d (Busqueda a partir de la palabra tecleada, archivos coincidentes)\n",
  77. fichas[i].nombreFich, fichas[i].numeroregistro, fichas[i].numeroserie);
  78. break;
  79. case 6:
  80. printf("Fin del programa\n");
  81. break;
  82. default:
  83. printf("Opción desconocida!\n");
  84. break;
  85. }
  86. } while (opcion != 6);
  87. }
  88.  

Y aqui os dejo la forma de la que lo ordeno, para ver si se puede hacer algo:

Código
  1. for(i=0; i<(numeroFichas-1); i++) {
  2. for (j=i+1; j<numeroFichas; j++) {
  3. if(fichas[j].numeroregistro<fichas[i].numeroregistro) {
  4. temp = fichas[j].numeroregistro;
  5. fichas[j].numeroregistro = fichas[i].numeroregistro;
  6. fichas[i].numeroregistro = temp;
  7. }
  8. if(fichas[j].numeroregistro<fichas[i].numeroregistro) {
  9. temp = fichas[j].numeroserie;
  10. fichas[j].numeroserie = fichas[i].numeroserie;
  11. fichas[i].numeroserie = temp;
  12. }
  13. }
  14. }
  15. for(i=0; i<numeroFichas ; i++) {
  16. printf("Nombre: %s; Nº registro: %ld; Nº serie: %1d\n", fichas[i].nombreFich, fichas[i].numeroregistro, fichas[i].numeroserie);
  17. }

Muchas gracias de antemano, Feliz Navidad y Feliz año  :)
142  Sistemas Operativos / Windows / Re: ayuda con conectarse a redes inalambricas en windows en: 16 Diciembre 2012, 17:34 pm
Descarga algún programa estilo Drivermax (ese sirve) para que te busque y te instale el driver que te falta, conectalo obviamente por cable para que tenga internet mientras busca el driver y lo instala.

pff probare eso a ver, que programa me recomiendas el drivermax?
le cuesta mucho? es que es un problema conectarlo por cable.. hay algun otro modo?
143  Sistemas Operativos / Windows / ayuda con conectarse a redes inalambricas en windows en: 16 Diciembre 2012, 14:16 pm
Hola buenas, hace poco instale windows junto con mi ubuntu, pero en windows no me puedo conectar a internet, no se que pasa, porque en el panel de control no me deja ver las redes inalambricas disponibles, supongo que me faltara algun driver... pero he instalado muchos y no tengo ni idea de que pasa... me deja por cable, pero no por wifi...

La tarjeta de internet es ovilink, y la placa madre es asustek creo, hay algun comando para poder conocer el modelo exacto de mi placa base sin desmontar el pc? para asi poder buscar los drivers...

Cualquier ayuda sera agradecida... de verdad, muchas gracias de antemano por la atencion recibida.

Un saludo y feliz navidad!
144  Sistemas Operativos / Windows / Re: windows no me reconoce la tarjeta de sonido en: 25 Noviembre 2012, 19:29 pm
Tienes que utilizar en el ordenador al que le falta el driver un programa para detectar que driver necesitas. Un programa bueno que yo utilice en una ocasión para pillar los drivers en un ordena recien formateado fue el DriverEasy, esta en:

http://www.softonic.com/s/detectar-drivers

Un saludo

pero para eso necesito internet y no tengo... :(
145  Sistemas Operativos / Windows / Re: windows no me reconoce la tarjeta de sonido en: 25 Noviembre 2012, 15:06 pm
No tienes internet desde Windows pero teniendo Ubuntu en la misma máquina si?

Veamos:
1. La tarjeta de sonido es integrada? En caso que así sea, cual es el modelo de tu placa base?
2. Si es independiente, cual es el modelo de esa tarjeta de sonido?


Saludos!

creo que es integrada, pero no estoy seguro...
con el comando lspci, en la terminal de ubuntu sale esto:
Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller
Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller

es eso a lo que te refieres?
146  Sistemas Operativos / Windows / Re: windows no me reconoce la tarjeta de sonido en: 25 Noviembre 2012, 13:19 pm
Puedes borrar windows, o puedes itentar descargar e instalar los drivers manualmente. Yo tenia una impresora que no funcionaba y tuve que buscar los drivers adecuados para que funcionase. Sino prueba a actualizar windows que a veces solucionan errores mediante actualizaciones en windows update.

pero es que en windows no tengo internet, me he descargado muchos drivers desde ubuntu y los he instalado en windows y nada..
147  Sistemas Operativos / Windows / windows no me reconoce la tarjeta de sonido en: 25 Noviembre 2012, 12:17 pm
Hola buenas, tengo windows y ubuntu en un mismo ordenador, pero windows no me reconoce sonido, me he descargado los drivers y nada.. y en el panel de control en sonido no me detecta nada, pero luego ubuntu si me reproduce todo bien... que puedo hacer?

muchas gracias de antemano
148  Sistemas Operativos / Windows / Re: problema hal.dll ayuda en: 24 Noviembre 2012, 23:55 pm
vale, pero no me soluciona el problema del hal.dll

ahora me dice que son los dll necesarios para el nucleo o no se que, inicie a modo prueba de errores y me slaen estos tre: ntoskrnl.exe hal.dll kdcom.dll

los tres estan en system32, pero no me los reconoce que hago?
149  Sistemas Operativos / GNU/Linux / Re: gparted no me deja desmontar en: 24 Noviembre 2012, 23:52 pm
eso ya lo tnego, el problema es que ahora windows no me inicia dice que faltan dll del nucleo
150  Sistemas Operativos / Windows / problema hal.dll ayuda en: 24 Noviembre 2012, 22:58 pm
Hola buenas, tengo ubuntu y windows xp, recien instalado, y cuando lo voy a abrir me dice que falta el hal.dll

He estado buscando, me he descargado uno lo he reemplazado y nada.. he oido que desde un cd de windows en la consola lo podia arreglar, pero si lo pongo tengo miedo a que me borre el ubuntu, o el grub de ubuntu...

alguna idea para arreglarlo?

muchas gracias de antemano
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines