Haz una pregunta
  Foros de Electrónica » Diseño digital » Interfaces y Programación
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

16/09/2010 #21

Avatar de Meliklos

Respuesta: programación en C
los archivos estan guardados en la carpeta fase1, son 5 archivos que se llaman: 1,2,3,4 y 5...
bien simple para evitar errores...pero no funca...

Código:
#include <stdio.h>
#include <stdlib.h>
#include <dir.h>

void cargardatos(FILE *f,FILE *tabla1,FILE *tabla2,FILE *tabla3);
void main(void)
{
    FILE *f;
    FILE *tabla1;
    FILE *tabla2;
    FILE *tabla3;
    clrscr();
    cargardatos(f,tabla1,tabla2,tabla3);
}

void cargardatos(FILE *f,FILE *tabla1,FILE *tabla2,FILE *tabla3)
{
    char cadena[2014];
    char nombre[0x80];
    int done,i;
    unsigned long frec;
    for(i=1;i<=5;i++){
        sprintf(nombre,"c:\\tc\\fase1\\%d.s2p",i);
        f=fopen(nombre,"r");
        if(f==NULL){
            printf("El archivo no existe.\n");
            return;
        }
        else{
            tabla1=fopen("c:\\tc\\tabla1.txt","w");
            tabla2=fopen("c:\\tc\\tabla2.txt","w");
            tabla3=fopen("c:\\tc\\tabla3.txt","w");
            while(!feof(f)){
                fgets(cadena, 3000,f);
                sscanf(cadena,"%lu",&frec);
                if(frec==1201000000)fputs(cadena,tabla1);
                if(frec==1300000000)fputs(cadena,tabla2);
                if(frec==1399000000)fputs(cadena,tabla3);
            }
        }
    }
    fclose(f);
    fclose(tabla1);
    fclose(tabla2);
    fclose(tabla3);
    return;
}
solo me genera el nuevo archivo "tabla" pero con las lineas que le pido del archivo 3...nada mas..

el formato de los archivos es .s2p
Dibujo.JPG
16/09/2010 #22

Avatar de Eduardo

Respuesta: programación en C
Código:
            tabla1=fopen("c:\\tc\\tabla1.txt","w");
            tabla2=fopen("c:\\tc\\tabla2.txt","w");
            tabla3=fopen("c:\\tc\\tabla3.txt","w");
Esto tenes que hacerlo una sola vez, así estás perdiendo lo que habias escrito.
17/09/2010 #23

Avatar de Meliklos

Respuesta: programación en C
es que estoy creando tres archivos tablas distintos, uno para cada frecuencia
17/09/2010 #24

Avatar de Eduardo

Respuesta: programación en C
No me refiero a eso.

Ahí leés el 1.s2p y escribís lo que corresponde en cada tabla.
Pero cuando vas a leer el 2.s2p abrís de nuevo tablax --> perdés lo que habías escrito de 1.s2p.
17/09/2010 #25

Avatar de Meliklos

Respuesta: programación en C
crei que ya quedaba guardado... osea que el bucle lo hago despues de abrir las tablas...ahhhh.....ahora te entiendo !!
gracias edu!!

SIIII!! FUNCIONO A LA PERFECCIÓN!!!!!!!!




????? WTF????
le cambie el for: iniciado en 0 y hasta 63 y se corta en el archivo 10!! como si los otros no existieran...
la tabla la hace hasta el archivo 9 y despues me muestra que el archivo no existe!!
esta re loco....verifique que esten todos los numeros de archivos...
porque sera???
sera por: char nombre[0x80]; ????
17/09/2010 #26

Avatar de Eduardo

Respuesta: programación en C

char nombre[0x80] es una cantidad de caracteres exagerada (128) por si uno usara nmbres muy largos.
No afecta para nada porque cuando hacés sprintf(nombre,"c:\\tc\\fase1\\%d.s2p\n",i) le agrega un cero marcando el final del string.


Fijate que los nombres de los archivos no tengan ningún caracter extra y es el explorador de archivos que no los muestra.

PD. Yo uso el Salamander, no tolero el explorador de Windows.
17/09/2010 #27

Avatar de Meliklos

Respuesta: programación en C
verifique todo y cambie un par de cosas y lo volvi a poner como estaba y nada...



Dibujo.JPG
y los nombres de los archivos estan claritos!
17/09/2010 #28

Avatar de Eduardo

Respuesta: programación en C
Y las extensiones?
17/09/2010 #29

Avatar de Meliklos

Respuesta: programación en C
son todas las mismas....

Dibujo.JPG
17/09/2010 #30

Avatar de Eduardo

Respuesta: programación en C

Poné un archivo zipeado del código y los archivos de muestra asi lo puedo ejecutar paso a paso.
17/09/2010 #31

Avatar de Meliklos

Respuesta: programación en C
ok! ahi van... te mando los 64 archivos de datos y el programa en .txt...

obvia todo lo que esta entre /* ... */ al final del programa...que eso todavia no está trabajado...
Archivos Adjuntos
Tipo de Archivo: rar program.rar (934,6 KB (Kilobytes), 6 visitas)
17/09/2010 #32

Avatar de Eduardo

Respuesta: programación en C
Era porque abrias y abrías f para lectura y nunca lo cerrabas (salvo al final)

Cerrandolo en cada iteración funciona de 10.

Código:
void cargardatos(FILE *f,FILE *tabla1,FILE *tabla2,FILE *tabla3)
{
    char cadena[1000];
    char nombre[0x80];
    int i;
    unsigned long frec;
    tabla1=fopen("c:\\tc\\tabla1.txt","w");
    tabla2=fopen("c:\\tc\\tabla2.txt","w");
    tabla3=fopen("c:\\tc\\tabla3.txt","w");
    for(i=0;i<64;i++){
        sprintf(nombre,"c:\\tc\\fase1\\%d.s2p",i);
        f=fopen(nombre,"r");
        if(f==NULL){
            printf("El archivo no existe.\n");
            return;
        }
        else{
            while(!feof(f)){
                fgets(cadena, 1000,f);
                sscanf(cadena,"%lu",&frec);
                if(frec==1201000000)fputs(cadena,tabla1);
                if(frec==1300000000)fputs(cadena,tabla2);
                if(frec==1399000000)fputs(cadena,tabla3);
            }
        }
        fclose(f);
    }
    fclose(tabla1);
    fclose(tabla2);
    fclose(tabla3);
    return;
}
17/09/2010 #33

Avatar de Meliklos

Respuesta: programación en C
(emocion...)
gracias edu...no sabes como me alegraste lo que queda de la mañana !!
23/09/2010 #34

Avatar de Meliklos

Respuesta: programación en C
bueno, no quiero ser reeee pesada, pero surgio un pequeñisimo asustillo....

intento (digo intento porque estoy buscando, probando, errando y todo eso...) crear una tabla o planilla, con los valores que obtuve de mis 3 documentos, es decir, unir los datos de los tres documentos (tabla1, tabla2 y tabla3) en una sola tabla "suprema"...

no me refiero a copy.paste...sino desde el mismo programa, que una vez creadas las tablas individuales, cree una que una los datos...o directamente hacerla desde el principio, sin el paso intermedio de crear a las tres tablas....

creo que estoy mareando no??
pero de ser asi (como lo ultimo) se reeee complicaria...
23/09/2010 #35

Avatar de Dr. Zoidberg

Respuesta: programación en C
Y por qué no usás el programa que ya tenés y hacés otro que arme la tabla a partir de los archivos que genera el primer programa?
Luego los pegás con un pequeño "script del shell" del DOS...(si es que puede llamarse así)

No entiendo para que querés unirlo en uno solo...nunca escuchaste el "lema de UNIX": Small Is Beautiful...?
23/09/2010 #36

Avatar de Meliklos

Respuesta: programación en C
veo que me enrede en mis palabras...
ezevalla lo que decis es lo que pretendo hacer...quiero algo como la imagen que esta abajo!
Dibujo2.JPG

la tabla esta cortada pero la idea está
28/09/2010 #37

Avatar de Meliklos

Respuesta: programación en C
edito: el ultimo mensaje obienlo, ya logre mi objetivo
01/11/2010 #38

Avatar de Meliklos

ya se que soy reeee pesada con las dudas de prog. en c...pero

como tengo que guardar un programa para poder ejecutarlo con el ejecutable (valga la rebundancia jeje)

porque hice un programa y cuando lo guardo y despues abro el ejecutable, solo me tira un cartel que dice:...
"Programa funcionando"
"Programa funcionando"
"Programa funcionando"
"Programa funcionando"
...
... y asi....
08/04/2011 #39

Avatar de Meliklos

come back...
Que tal compañeros y amigos...
seguimos incursionando en C y ahora con comunicación en paralelo y vía LAN...
08/04/2011 #40

Avatar de Unikfriend

Hi,
en que proyecto estas trabajando amiga?

¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Interfaces y Programación

Lenguajes de programación, gestión y manejo de puertos

Cerrar
Foros de Electrónica » Diseño digital » Interfaces y Programación

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.