Pregunta:
alguien sabe traducir este pseudocodigo a lenguaje c?
eduardo y
2007-03-12 16:47:49 UTC
leer_registro
Abrir el archivo en ARCHIVO
iniciar un contador de campos CUENTA_CAMPOS
LONG_CAMPO = Lee_campo (archivo registro)
mientras (LONG_CAMPOS>0)
incrementa CUENTA_CAMPOS
muestra contenido de REGISTRO
LONG_CAMPO = lee campo(ARCHIVO, REGISTRO)
fin mientras
cierra ARCHIVO
Tres respuestas:
2007-03-12 17:57:13 UTC
Hola Eduardo.



Mira, por principio de cuentas no se entiende muy bien tu pseudo código. No sé si lo que quieres es contar cuantos campos tiene un registro ó cuantos registros tiene un archivo.



Pero digamos que quieres contar cuantos campos tiene un registro. Entonces para este ejemplo suponemos que tienes un registro con tu pregunta y asociado a ella tiene tu usuario y la fecha en que la realizaste. El registro sería el siguiente:



alguien sabe traducir....eduardo20070312



¿Te das cuenta que son tres campos?



Bueno, para acceder al contador de campos, debes saber la longitud de cada uno de ellos, o bien, cada uno de los campos debe ser del mismo tamaño en bytes (Letras o números).



Solo sabiendo el tamaño de un campo en un registro, puedes obtener el total de campos (Para archivos ASCII).



Si es para una base de datos. La cosa es diferente. Pues en base de datos existen tablas que te indican los campos de cada tabla, el tipo de datos que contienen y su longitud.



Ahora bien si lo que quieres es contar cuantos registros tiene un archivo (ASCII). Tu pseudo código debería ser el siguiente:



1) INICIA PROGRAMA

2) INICIAR CONTADOR ContReg = 0

3) open "ARCHIVO"

4) read "ARCHIVO"

5) while not EOF "ARCHIVO"

6) ContReg += 1

7) print RegArchivo

8) read "ARCHIVO"

9) End While

10) close "ARCHIVO"

11) print ContReg

12) FIN PROGRAMA



Como puedes observar, el pseudo código es la combinación de palabras en castellano y comandos en ingles.



Sin embargo, los comandos no son de un lengüaje en particular. Esto es por causa de que un pseudo código, lo puedes usar para desarrollar en cualquier lenguaje.



Mira un programa Ejemplo de 'C' es el siguiente:



#include



int main()

{

FILE *fichero;

char nombre[11] = "datos5.dat";

unsigned int dinero[10] = { 23, 12, 45, 345, 512, 345, 654, 287, 567, 124 };

unsigned int leer[10], i;



fichero = fopen( nombre, "w+" );

printf( "Fichero: %s -> ", nombre );

if( fichero )

printf( "creado (ABIERTO)\n" );

else

{

printf( "Error (NO ABIERTO)\n" );

return 1;

}



printf( "Escribiendo cantidades:\n\n" );



for( i=0; i<10; i++ )

printf( "%d\t", dinero[i] );



fwrite( dinero, sizeof(unsigned int), 10, fichero );



printf( "\nLeyendo los datos del fichero \"%s\":\n", nombre );

rewind( fichero );

fread( leer, sizeof(unsigned int), 10, fichero );



for( i=0; i<10; i++ )

printf( "%d\t", leer[i] );



if( !fclose(fichero) )

printf( "\nFichero cerrado\n" );

else

{

printf( "\nError: fichero NO CERRADO\n" );

return 1;

}



return 0;

}



Creo que lo que te falta es practicar más tu pseudo código y además, documentarte más en el lenguaje 'C'. No te desanimes y sigue practicando. Verás que pronto estaras programando.
CELIA
2015-03-18 13:05:24 UTC
abrir archivo;

leer archivo;

si linea comienza con CA;

imprimir linea;

sino saltar a la siguiente;
2007-03-12 19:39:26 UTC
#include

#include



void main(){

FILE *arch;

int size;

int cuenta;

char *str[7];



arch = fopen( "yahoo.txt", "r" );

cuenta=0;

size= fscanf( arch, "%s", str );

while (size> 0) {

cuenta++;

printf( "CAMPO %d = %s\n", cuenta, str );

size = fscanf( arch, "%s", str );

}

fclose(arch);

}


Este contenido se publicó originalmente en Y! Answers, un sitio web de preguntas y respuestas que se cerró en 2021.
Loading...