Código
#include<stdio.h> #include<stdlib.h> #include<conio.h> #include<time.h> struct datos { char nombre[30]; }; struct prom { float programacion; float algebra; float fisica; float promedio; datos est; }; main() { int op, n, i; printf("*******************************************\n* Universidad de las fuerzas armadas ESPE *\n*******************************************\n"); printf("Proyecto de programacion I\n Integrantes: \n presione una tecla para continuar"); getch(); system("cls"); printf("____________________________________________________________________________\n"); printf("| Este es un programa estadistico estructurado en base a la campana de Gauss | \n y esta diseñado para evaluar notas de alumnos de alguna istitucion educativa "); printf("\n____________________________________________________________________________\n"); printf("Que desea realizar:\n1-Crear un nuevo archivo de evaluacion\n2-Abrir un archivo existente\n"); scanf("%d",&op); switch(op) { case 1: FILE *fp; fp=fopen("Notas.txt","a"); if(fp==NULL) { printf("Error en el archivo"); exit(-1); } else { system("cls"); printf("Se creo un archivo de nombre \"Notas\" en la carpeta que almacena el programa\n\n"); printf("Numero de Estudiantes: "); scanf("%d",&n); prom nts[n]; for(i=0;i<n;i++) { printf("\nNombre del Estudiante No %d:",i+1); scanf("%s",nts[i].est.nombre); fflush(stdin); printf("Nota de programacion: "); scanf("%f",&nts[i].programacion); fflush(stdin); printf("Nota de algebra: "); scanf("%f",&nts[i].algebra); fflush(stdin); printf("Nota de fisica: "); scanf("%f",&nts[i].fisica); fflush(stdin); nts[i].promedio=(((nts[i].fisica)+(nts[i].algebra)+(nts[i].programacion))/3); } system("cls"); fprintf(fp,"\n*****Datos de los alumnos*****\n\nEstudiante\tFisica\t\tAlgebra\t\tProgramacion\t\tPromedio\n\n"); for(i=0;i<n;i++) { fprintf(fp,"%s\t\t",nts[i].est.nombre); fprintf(fp,"%.3f\t\t",nts[i].programacion); fprintf(fp,"%.3f\t\t",nts[i].algebra); fprintf(fp,"%.3f\t\t\t",nts[i].fisica); fprintf(fp,"%.3f\n",nts[i].promedio); } } fclose(fp); break; } }
en si el programa por el momento solo está desarrollado el caso 1 que recoge en una estructura los datos que se ingresen y los inserta en un archivo de nombre Notas, el caso 2 aun no lo desarrollo por este motivo: como dice esta opcion "Crear un nuevo archivo de evaluacion" quiero dar un nombre a mi archivo que se va a crear pero al realizar esto
Código
FILE *fp; fp=fopen("Notas.txt","a"); if(fp==NULL) { printf("Error en el archivo"); exit(-1); } else { system("cls"); printf("Se creo un archivo de nombre \"Notas\" en la carpeta que almacena el programa\n\n");
le da automaticamente el nombre Notas al archivo y esto si se vuelve a correr no crea otro archivo si no, modifica el mismo; quiero saber como puedo yo ingresar el nombre del archivo por mi cuenta y que se cree dependiendo del nombre
MUCHAS GRACIAS POR SU ATENCION Y DE ANTEMANO GRACIAS A LOS QUE ME QUIERAN AYUDAR