Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Dimitar Stefanov en 04 de Julio 2016, 20:45
-
Buenas tardes. Expongo una posible solución del ejercicio CU00538F del curso para aprender a programar lenguaje C desde cero.
EJERCICIO
Crea un archivo denominado almacen.txt que contendrá una palabra en cada línea (para un total de 6 líneas) como se muestra a continuación:
El
gaucho
es
equilibrio
y
belleza
Crea un programa que cree un array de palabras de modo que se lea el contenido del archivo y se almacene en los elementos del array. Por ejemplo palabra[0] contendrá "El", palabra[1] contendrá "gaucho" y así sucesivamente. Usando un bucle, muestra por pantalla la frase (intercalando los espacios necesarios). En este caso el resultado del programa será como este:
<<Tras extraer la información del archivo construimos esta frase: El gaucho es equilibrio y belleza>>
#include <stdio.h>
#include <stdlib.h>
int main() {
typedef char contenido[50];
contenido palabra[6];
int i, j;
char control;
FILE * fichero;
//ESCRITURA
fichero = fopen("CU00538F.txt","wt");
fprintf(fichero,"%s%c","El",'\n');
fprintf(fichero,"%s%c","gaucho",'\n');
fprintf(fichero,"%s%c","es",'\n');
fprintf(fichero,"%s%c","equilibrio",'\n');
fprintf(fichero,"%s%c","y",'\n');
fprintf(fichero,"%s%c","belleza",'\n');
fclose(fichero);
printf("Proceso de escritura completado\n\n");
//LECTURA
fichero = fopen("CU00538F.txt","rt");
for(j=0; j<=5; j++){
i=1;
control = 'a';
while (control >=32 && control<=126) {
control = fgetc(fichero);
palabra[j][i]='\0';
if (control >=32 && control<=126)
{palabra[j][i-1] = control;}
i++;
}
}
printf("Tras extraer la informaci%cn del archivo construimos esta frase: ", 162);
for(i=0; i<=5; i++){
printf("%s ", palabra[i]);
}
return 0;
}
Gracias.
-
Hola! Todo bien incluso has hecho más de lo que se pedía ya que has creado tú mismo el archivo a través de código
Saludos!