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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación General / Problema modificación archivo binario java en: 3 Junio 2013, 11:28 am
Hola, buenas noches, o buenos días  :P

Espero y me puedan ayudar, estoy trabajando con archivos binarios, y en la modificación estoy que no puedo avanzar, en teoría yo diría que debería estar bien.
lo que hago es lo siguiente:
- creo otro archivo, pido la matricula que voy a modificar, entonces copio todo del archivo "original" al nuevo excepto el que quiero modificar, entonces pido los nuevo datos, los agrego, borro el original, cambio nombre del segundo archivo.

El error debe de estar en mi código (supongo), ya he pedido ayuda a compañeros pero nadie me dice nada mas de un "debería de funcionar así" y pues la verdad es que ya no encuentro que hacer, espero que me puedan ayudar, gracias.

Mi código de modificación es el siguiente:
Código:
public void modificarRegistro(BufferedReader entrada) throws IOException{
        archivo=new File("temp");
        grabar=new DataOutputStream(new FileOutputStream("texto.txt",true));
        leer=new DataInputStream(new FileInputStream("texto.txt"));
        grabar2 =new DataOutputStream(new FileOutputStream("temp",true));
        int matriculab;
        System.out.println("Matricula a buscar");
        matriculab=3;
        String nombre;
        try{
            while((nombre=leer.readUTF())!=null){
               
                int mat=leer.readInt();
                float c1=leer.readFloat();
                float c2=leer.readFloat();
                float prom=leer.readFloat();
                if(matriculab==mat){
                                   
                }
                else{
                   
                   obj.setNombre(entrada.readLine());                   
                   
                   obj.setMatricula(Integer.parseInt(entrada.readLine()));
                   
                   obj.setCalificacion1(Float.parseFloat(entrada.readLine()));
                   
                   obj.setCalificacion2(Float.parseFloat(entrada.readLine()));
                 
                   obj.setPromedio((obj.getCalificacion1()+obj.getCalificacion2())/2);
                   
                   grabar2.writeUTF(obj.getNombre());
                   grabar2.writeInt(obj.getMatricula());
                   grabar2.writeFloat(obj.getCalificacion1());
                   grabar2.writeFloat(obj.getCalificacion2());
                   grabar2.writeFloat(obj.getPromedio());
                }
               
               
               
            }
                System.out.println("Nuevo nombre del Alumno: ");
                obj.setNombre(entrada.readLine());
                System.out.println("Nueva Matricula: ");
                obj.setMatricula(Integer.parseInt(entrada.readLine()));
                System.out.println("Nueva Calificación 1: ");
                obj.setCalificacion1(Float.parseFloat(entrada.readLine()));
                System.out.println("Nueva Calificación 2: ");
                obj.setCalificacion2(Float.parseFloat(entrada.readLine()));
                obj.setPromedio((obj.getCalificacion1()*obj.getCalificacion2())/2);
                //escritura en archivo
                grabar2.writeUTF(obj.getNombre());
                grabar2.writeInt(obj.getMatricula());
                grabar2.writeFloat(obj.getCalificacion1());
                grabar2.writeFloat(obj.getCalificacion2());
                grabar2.writeFloat(obj.getPromedio());
               
                grabar2.close();
                archivo.delete();
                archivo2.renameTo(archivo);
               
                leer.close();
                leer2.close();
                grabar.close();
                grabar2.close();
        }catch(IOException err){
            System.out.println("Error");
        }
    }

Utilizando el ciclo while(true) me marca error en el NetBeans que solo logre resolver utilizando el ciclo "while((nombre=leer.readUTF())!=null)"
2  Programación / Programación C/C++ / Ayuda con error ejecutando un programa en C en: 3 Junio 2012, 01:36 am
Hola, espero que me puedan ayudar tengo un error que llevo ya casi 2 dias sin poder hacer nada
tengo que entregar un proyecto final en C,
el programa me compila y todo, pero al querer hacer las consultas me salta este me manda a "Error" directamente que es lo que me debe de imprimir si no tengo datos ya cheque consulta.c y veo todo bien, desde consulta.c mando a llamar ordenar.c que es la que ordena los datos, e igual lo miro bien, por eso pido de su ayuda a ver si encuentran un error.
archivos apenas vimos una clase y nos encargaron el proyecto asi, y por lo poco que vimos la verdad tengo muchas dudas.
bueno si mas le dejo los codigos:
consulta.c
Código:
#include<stdio.h>
#include"estructura.h"
void consultag()
{FILE *Art;
 articulo A;
 ordenar();
 if((Art=fopen("Arti.dat","rb"))==NULL){
         printf("Error...");
 exit(0);}
 else
{write(fread(&A,sizeof(articulo),1,Art)>0);
        imprimir(A);
        fclose(Art);
}
}

ordenar.c
Código:
#include<stdio.h>
#include"estructura.h"
void ordenar()
{FILE *Art;
 articulo A,A2,aux;
 int x,y;
 long int N;
 if((Art=fopen("arti.dat","rb+"))==NULL)
 { printf("Error...\n");
         exit (0);}
 else
 {fseek(Art,0L,2);
         N=ftell(Art)/sizeof(articulo);
         rewind(Art);
         for(x=1;x<N;x++)
                 for(y=0;y<N-x;y++)
                 {fseek(Art,y*sizeof(articulo),0);
                  fread(&A,sizeof(articulo),1,Art);
                  fseek(Art,(y+1)*sizeof(articulo),0);
                  fread(&A2,sizeof(articulo),1,Art);
                  if(A.precio>A2.precio)
                  {aux=A;
                   A=A2;
                   A2=aux;
                   fseek(Art,y*sizeof(articulo),0);
                   fwrite(&A,sizeof(articulo),1,Art);
                   fseek(Art,(y+1)*sizeof(articulo),0);
                   fwrite(&A2,sizeof(articulo),1,Art);
                                  }
                 }
         fclose(Art);
 }
}

El problema es que me imprime "error" y tambien he llege a pensar que podrian ser las altas
por si acaso les dejo el codigo de altas.c
Código:
#include<stdio.h>
#include<stdlib.h>
#include"estructura.h"
void  altas()
{FILE *Art;
        articulo A;
        char salir[5];
        float t;
        Art=fopen("arti.dat","ab");
        do{
        printf("Clave del articulo:\n");
         scanf("%s",&A.clave);
         system("clear");
         printf("Tipo:\nBlusa:\nVestido:\nZapato:\nAccesorio:\n");
         scanf("%s",&A.tipo);
         printf("Descripcion del articulo:\n");
         system("clear");
         printf("Color:\n");
         scanf("%s",&A.descrip.color);
         system("clear");
         printf("Medida\n");
         scanf("%s",&A.descrip.medida);
         system("clear");
         printf("Precio articulo:\n");
         scanf("%f",&t);
         A.precio=t;
         system("clear");
         printf("Codigo de barras:\n");
         scanf("%d",&A.codb);
         getc(stdin);
         system("clear");
         printf("Desea ingresar otro articulo?(S/N)\n");
         scanf("%s",salir);
         fwrite(&A,sizeof(articulo),1,Art);
        }while(strcmp(salir,"no"));
        fclose(Art);
}

Espero que me puedan ayudar por favor, seria de gran gran ayuda.
3  Programación / Programación C/C++ / Re: Errores que no encuentro :c ayuda por favor en: 1 Junio 2012, 02:47 am
Muchisimas gracias, En verdad me sirvio C:
ya pueden cerrar el post
4  Programación / Programación C/C++ / Re: Errores que no encuentro :c ayuda por favor en: 31 Mayo 2012, 23:35 pm
El error se esta generando en el "Imprimir.h", coloca el codigo de ese archivo para poder ayudarte...

De todos modos los errores de tipo expected-before son equivocaciones muy pequeñas.
Muchas gracias, este es el codigo de imprimir.h
Código:
#ifndef IMPRIMIR_H
#define IMPRIMIR_H
void imprimir(articulo A);
#endif

Y por si de casualidad lo necesitas, este es el de imprimir.c
Código:
#include<stdio.h>
void imprimir(articulo A)
{printf("clave: %s\n Tipo: %s\n Color: %s\n Medida: %s\n Precio: %.2f",A.clave,A.tipo,A.descrip.color,A.descrip.medida,A.precio);
5  Programación / Programación C/C++ / Re: Errores que no encuentro :c ayuda por favor en: 31 Mayo 2012, 23:13 pm
Los demas errores ya los corregi
estos errores son los que no encuentro :/


In file included from menu.c:11:
imprimir.h:3: error: expected â)â before âAâ
In file included from menu.c:14:
imprimirf.h:3: error: expected â)â before âFâ
6  Programación / Programación C/C++ / Errores que no encuentro :c ayuda por favor en: 31 Mayo 2012, 23:06 pm
Hola, estoy con mi proyecto final en programación en mi universidad, apenas estoy en 2do semestre
mi programa es en estructuras en archivos
pero al momento de querer copilar me marca errores que no conozco, espero que me puedan ayudar ya que estoy muy parado aqui y el proyecto ya es para mañana
me salen estos errores al querer copilar:


In file included from menu.c:11:
imprimir.h:3: error: expected â)â before âAâ
In file included from menu.c:14:
imprimirf.h:3: error: expected â)â before âFâ
menu.c: In function âmainâ:
menu.c:62: error: duplicate case value
menu.c:60: error: previously used here
menu.c:74: error: expected â:â before âprintfâ
make: *** [menu.o] Error 1

y este es el codigo del menu, si necesitan el codigo de otra cosa, se los doy, enserio ojala me puedan ayudar :c gracias:

Código:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include"altas.h"
#include"consultag.h"
#include"consultap.h"
#include"bajas.h"
#include"ventas.h"
#include"modificaciones.h"
#include"consultafactura.h"
#include"imprimir.h"
#include"ordenar.h"
#include"buscar.h"
#include"imprimirf.h"
   typedef struct
{ char color[15];
  char medida[15];
}des;

  typedef struct
{ char nom[15];
  char Ap[15];
  char Am[15];
  char D[35];
  int tel;
} direccion;

  typedef struct
{ char clave[15];
  char tipo[15];
  float precio;
  des descrip;
  int codb;
} articulo;

 typedef struct
{ direccion direc;
  float M;
  int nof;
}factura;

int main()
{ int opc;
        do
        {  printf("Que desea realizar?\n");
        printf("\n Altas de articulos...........................[1]\n");
        printf("\n Consulta ordenada por precio.................[2]\n");
        printf("\n Consulta particular por codigo de barras.....[3]\n");
        printf("\n Modificaciones por codigo de barras..........[4]\n");
        printf("\n Bajas........................................[5]\n");
        printf("\n Ventas.......................................[6]\n");
        printf("\n Consultar factura............................[7]\n");
        printf("\n Salir........................................[8]\n");
        printf("\n Opcion a elegir..............[ ]\b\b");
        scanf("%d",&opc);
        switch(opc)
        {
                case 1: altas();
                        break;
                case 3: consultag();
                        break;
                case 3: consultap();
                        break;
                case 4: modificaciones();
                        break;
                case 5: bajas();
                        break;
                case 6: ventas();
                        break;
                case 7: consultafactura();
                        break;
                case 8:
                        break;
        default printf("Error...");
        }
          }while(opc!=8);
          return 0;
        }

7  Media / Juegos y Consolas / Re: Como jugar CoD5 (World at War) online en cooperativo y multijugador en: 8 Enero 2009, 23:50 pm
gracias, pero no quiero jugar online
solo quiero jugar offine (o como se diga XD)
pero en Co-op, con una Lan real,

crees que se pueda?? :huh:
8  Media / Juegos y Consolas / Re: Como jugar CoD5 (World at War) online en cooperativo y multijugador en: 8 Enero 2009, 21:46 pm
Hola tengo una duda, se puede jugar sin hamachi?
es decir, con una Red LAN real
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines