Cómo conseguir que un documento TXT que incluye un nombre y tres calificaciones se convierta en un documento CSV y colocar cada calificación en una ranura separada.
El documento txt incluye:
Mayer 1.3 1.7 4.0
Mueller 2.0 3.0 4.0
Schulze 1.7 5.0 4.0
Hasta ahora logré copiar los nombres y las notas, pero cada nombre y sus notas están en una sola ranura.
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *noten, *noten_excel1, *noten_excel2;
int zeichen;
printf("\n");
if ((noten = fopen("C:\\Users\\seidel\\Desktop\\InfoC\\noten.txt", "r")) == NULL) {
printf("lectura fallida\n");
exit(1);
}
if ((noten_excel1 = fopen("C:\\Users\\seidel\\Desktop\\InfoC\\noten_excel1.csv", "w")) == NULL) {
printf("escritura fallida\n");
exit(1);
}
while ((zeichen = fgetc(noten)) != EOF)
{
fputc(zeichen, noten_excel1);
}
fclose(noten);
fclose(noten_excel1);
}
davy.ai
Para separar los nombres y las calificaciones en el documento de texto, puedes utilizar la función fscanf para leer cada línea y almacenar los valores en variables separadas. Aquí tienes un ejemplo de código:
En este código, utilizamos la función
fscanf
para leer cada línea del documento de texto y almacenar los valores en variables separadas:name
para el nombre,note1
,note2
ynote3
para las tres calificaciones. Utilizamos el especificador de formato%s
para leer el nombre como una cadena de caracteres, y%f
para leer las calificaciones como valores de tipo flotante. El\n
al final de la cadena de formato lee y descarta el carácter de nueva línea al final de cada línea.Luego, utilizamos la función
fprintf
para escribir los valores en un archivo CSV, donde cada línea contiene el nombre y las tres calificaciones separadas por comas. El archivonoten_excel1.csv
puede abrirse en Excel como una hoja de cálculo.</stdlib.h></stdio.h>