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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Mensajes
Páginas: 1 ... 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 [29] 30 31 32 33 34 35 36 37 38
281  Programación / Programación C/C++ / Re: Manejo de archivos en C. Borrar registro en: 13 Mayo 2012, 17:14 pm
Hola! es como dice satu si vas a usar un char pone 's'.. Ademas despues de actualizar ese dato, antes de volver a escribir en el archivo tenes q volver  a posicionar el cursor, sino estarias guardando mal
Código
  1. FILE *archivo;
  2. struct personas persona;
  3.  
  4. archivo=fopen("personas.txt", "rb+");
  5.  
  6. fseek(archivo, sizeof(struct personas)*(buscarpersona(archivo, codigo)-1), 0);
  7. //La funcion buscar persona me devuelve el registro buscado, resto uno para posicionarme y despues "borrar"
  8. fread(&persona, sizeof(struct personas), 1, archivo);
  9.  
  10. strcpy(persona.borrado, "s");
  11.  
  12. fseek(archivo, sizeof(struct personas)*(buscarpersona(archivo, codigo)-1), 0);  /* vuelvo a posicionar el cursor correctamente */
  13.  
  14. fwrite(&persona, sizeof(struct personas), 1, archivo); // despues guardo
  15. fclose(archivo);

Para no llamar a la funcion buscapersona() dos veces te conviene almacenar en una variable lo q retorna, y usar ese dato en los fseek

Saludos
282  Programación / Programación C/C++ / Re: [Ayuda] Calculadora simple en C en: 13 Mayo 2012, 03:46 am
para lo que queres hacer podrias usar un bucle, en este caso qda mas lindo el do-while :), ej:

Código
  1. do {
  2. // aca va todo el codigo
  3. ........
  4. printf("\nPresiona 2 para Salir o 5 para volver a Comenzar: ");
  5. scanf("%f", &x);
  6. } while(x==5); // si x es 5 se vuelve al principio
De todas formas esto lo vas a aprender con el tiempo

Ahora viendo mejor el codigo creo q tenes problemas aca
Código
  1. printf("\nNumeros a usar: ");
  2. scanf("%d", %nu);
  3. numeros:
  4. if (nu<acum); // este ; no va
  5. {
  6. printf("\n\nNúmero: ");
  7. scanf("%f", &s);
  8. acum=acum+1 // falta ;
  9. }
Te falta un ";" y en el if ese ";" esta mal, ademas solo pedis el ingreso de un numero, solo ingresas un numero en la variable "s" pero a "r" cuando le ingresas un numero. Lo q no entiendo es q qres hacer con nu<acum

Si el tuto/manual de donde estas aprendiendo a programar tiene mas d un ejemplo con goto yo q vos lo cambiaria xq debe ser muy malo :P
283  Programación / Programación C/C++ / Re: [Ayuda] Calculadora simple en C en: 13 Mayo 2012, 03:26 am
Hola! podrias subir el codigo sin usar goto?? no es de buena programacion usarlo.. lo q vi a simple vista es scanf("%d", %nu); debe ser &nu y usa %f si nu es un float

Saludos
284  Programación / Programación C/C++ / Re: Guarda basura al leer string desde un fichero. en: 13 Mayo 2012, 03:15 am
Parece no haber problema con eso, pone como imprimis
285  Programación / Programación C/C++ / Re: Guarda basura al leer string desde un fichero. en: 13 Mayo 2012, 02:36 am
Hola! pone el codigo q estas haciendo, no podemos decirt q esta mal sino mostras nada, y aclara como esta formado tu fichero


Saludos
286  Programación / Programación C/C++ / Re: ayuda en vectores...!!! en: 12 Mayo 2012, 21:15 pm
mmm intentaste por lo menos leer algun tutorial/manual??? sirve de mucho hacerlo ;)
287  Programación / Programación C/C++ / Re: Duda con un ejercicio en: 12 Mayo 2012, 06:49 am
Hola! nombre tiene q ser un arreglo, y como ya te dijeron el & en los printf esta demas. Ademas la variable l esta mal declarada, el tipo de dato no es llena es struct llena (es un tipo de dato "compuesto")
Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<iostream>
  4.  
  5. using namespace std;
  6.  
  7. struct llena{
  8. int edad;
  9. char nombre[20]; // declaro nombre como un arreglo
  10. };
  11.  
  12. int main(){
  13. struct llena l; // tipo de dato struct llena
  14. printf("Digite el nombre de la persona: "); scanf("%s",l.nombre);
  15. printf("Digite la edad de la persona: "); scanf("%d", &l.edad);
  16. printf("El nombre es: %s",l.nombre);
  17. printf("la edad es: %d",l.edad);
  18. getch();
  19. return(0);
  20. }


Saludos
288  Programación / Programación C/C++ / Re: Error programa que cambia un número de base 10 a cualquier base en: 12 Mayo 2012, 03:13 am
Hola! primero q nada antes d subir un programa revisa mejor el codigo, mas q nada para evitar los errores de sintaxis q tenes(ya q me trajo varios problemas :S) . En
Código
  1. for(i=cuanto-1;1>=0;i--);
el ; esta mal y pusiste 1>=0
Despues en la funcion conv_ent
Código
  1. for(i=0;num>0;i++);
tambien tenes mal puesto el ;

Ahora el programa... no sabia q se podia pasar cualquier numero fraccionario a cualquier base, solo me acordaba q se podia en binario. En fin, no mire el codigo q hiciste para la funcion conv_frac() ( parecia dificil de analizar :P ), asi q decidi hacer la mia basado en este video
http://www.youtube.com/watch?v=x9x3kMf_4Ho

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. void conv_ent(int *p,int num, int base);
  5. void conv_frac(int *p,double num,int base,int pre);
  6. int main(){
  7.    double x,pfrac,pentera,cuantos;
  8.    int parte_ent,*digitos[2],cuanto=0,precision,base,i;
  9.  
  10.  
  11.    printf("Introduzca un numero real\n");
  12.    scanf("%lf",&x);
  13.    pfrac=modf(x,&pentera);
  14.  
  15.    printf("Introduzca la base a la que quiere convertir el numero\n");
  16.    scanf("%d",&base);
  17.  
  18.    printf("Diga cuantos digitos se calcularan para la parte fraccionaria\n");
  19.    scanf("%d",&precision);
  20.  
  21.    cuantos=ceil(log(pentera)/log(base));
  22.    cuanto=(int)cuantos;
  23.    parte_ent=(int)pentera;
  24.    digitos[0]=(int*)malloc(sizeof(int)*cuanto);
  25.  
  26.    conv_ent(digitos[0],parte_ent,base);
  27.  
  28.    digitos[1]=(int*)malloc(sizeof(int)*precision);
  29.    conv_frac(digitos[1],pfrac,base,precision);
  30.  
  31.  
  32.    printf("La representacion en base %d del numero %lf es: ",base,x);
  33.    for(i=cuanto-1;i>=0;i--)
  34.        printf("%d",digitos[0][i]);
  35.     printf("."); /* este printf debe ir fuera del for anterior */
  36.  
  37.    for(i=0;i<precision;i++)
  38.        printf("%i",digitos[1][i]);
  39.                             printf("\n\n");
  40.  
  41.   system("pause");
  42.   return 0;
  43. }
  44. void conv_ent(int p[],int num,int base){
  45.    int i;
  46.    for(i=0;num>0;i++){
  47.        p[i]=num%base;
  48.        num/=base;
  49.    }
  50. }
  51. void conv_frac(int *p,double num,int base,int pre){
  52.     int i,k;
  53.     double h=0.0;
  54.     double pent,pfrac;
  55.     /*for(i=1;i<=pre;i++){
  56.                          for(k=0;k<base;k++){
  57.                                              if(num>h+(k/pow(base),i)))&& num<=(h(k+1)/pow(base,i)){
  58.                                                                         p[i-1]=k;
  59.                                                                         h+=(k/pow(base,i));
  60.                                                                         break;
  61.                                                                         }
  62.                                                                         }
  63.                                                         }*/
  64.   for(i=0;i<pre;i++) {
  65.     num=num*base; /* multiplico x la base */
  66.     num=modf(num,&pent); /* despues d ser multiplicado obtengo la parte entera y fraccionaria */
  67.     p[i]=(int)pent; /* guardo en el arreglo la parte entera */
  68.     if(num==0.0)
  69.       break; /* si llega aca es xq la parte fraccionaria se hizo cero por lo tanto hay q salir del bucle */
  70.   }
  71. }
Acordate q solo lo hic pensando en pasarlo a binario, fijate si sirve para cualquier base

Saludos
289  Programación / Programación C/C++ / Re: Consulta manejo de archivo. Función fwrite() en: 12 Mayo 2012, 01:09 am
Hola! la funcion fwrite lo q hace es guardar en un archivo bloques de datos, como listas, podes guardar cualquier cosa pero generalmente se usar para guardar bloques. En el archivo no se ve xq no se guarda con formato, para eso tenes que usar la familia de printf. Se suele utilizar con archivos binarios

Saludos
290  Programación / Programación C/C++ / Re: porque no puedo realizar este ejercicio?, es por el compilador? en: 11 Mayo 2012, 07:07 am
Hola! lo mas probable es q si sea por el compilador. De echo he visto a varios que crean un bucle parecido(pero no con el proposito q vos qres) y se ejecuta perfectamente. De todas formas deberias postear esto en la parte de hack, algo asi, q tiene esta misma pagina para q te ayuden mejor

Saludos
Páginas: 1 ... 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 [29] 30 31 32 33 34 35 36 37 38
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines