elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Crear archivos de datos con nombres diferentes desde consola
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Crear archivos de datos con nombres diferentes desde consola  (Leído 1,823 veces)
AndresEnriquezV

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Crear archivos de datos con nombres diferentes desde consola
« en: 12 Agosto 2017, 10:21 am »

Buenas noches amigos programadores, estoy realizando un proyecto en c++ sobre un programa estadistico que calcule varias cosas y recien lo estoy iniciando, quiero poder escribir yo el nombre del archivo para crearlo, mi codigo es el siguiente  :rolleyes:

 
Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<conio.h>
  4. #include<time.h>
  5. struct datos
  6. {
  7. char nombre[30];
  8. };
  9. struct prom
  10. {
  11. float programacion;
  12. float algebra;
  13. float fisica;
  14. float promedio;
  15. datos est;
  16. };
  17. main()
  18. {
  19. int op, n, i;
  20. printf("*******************************************\n* Universidad de las fuerzas armadas ESPE *\n*******************************************\n");
  21. printf("Proyecto de programacion I\n Integrantes: \n presione una tecla para continuar");
  22. getch();
  23. system("cls");
  24. printf("____________________________________________________________________________\n");
  25. 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 ");
  26. printf("\n____________________________________________________________________________\n");
  27. printf("Que desea realizar:\n1-Crear un nuevo archivo de evaluacion\n2-Abrir un archivo existente\n"); scanf("%d",&op);
  28.  
  29. switch(op)
  30. {
  31. case 1:
  32. FILE *fp;
  33.  
  34.    fp=fopen("Notas.txt","a");
  35.    if(fp==NULL)
  36.    {
  37.        printf("Error en el archivo");
  38.        exit(-1);
  39.    }
  40.    else
  41. {
  42. system("cls");
  43. printf("Se creo un archivo de nombre \"Notas\" en la carpeta que almacena el programa\n\n");
  44. printf("Numero de Estudiantes: "); scanf("%d",&n);
  45.  
  46. prom nts[n];
  47. for(i=0;i<n;i++)
  48. {
  49. printf("\nNombre del Estudiante No %d:",i+1);
  50. scanf("%s",nts[i].est.nombre);
  51. fflush(stdin);
  52.  
  53. printf("Nota de programacion: ");
  54. scanf("%f",&nts[i].programacion);
  55. fflush(stdin);
  56.  
  57. printf("Nota de algebra: ");
  58. scanf("%f",&nts[i].algebra);
  59. fflush(stdin);
  60.  
  61. printf("Nota de fisica: ");
  62. scanf("%f",&nts[i].fisica);
  63. fflush(stdin);
  64.  
  65. nts[i].promedio=(((nts[i].fisica)+(nts[i].algebra)+(nts[i].programacion))/3);
  66. }
  67. system("cls");
  68. fprintf(fp,"\n*****Datos de los alumnos*****\n\nEstudiante\tFisica\t\tAlgebra\t\tProgramacion\t\tPromedio\n\n");
  69. for(i=0;i<n;i++)
  70. {
  71. fprintf(fp,"%s\t\t",nts[i].est.nombre);
  72. fprintf(fp,"%.3f\t\t",nts[i].programacion);
  73. fprintf(fp,"%.3f\t\t",nts[i].algebra);
  74. fprintf(fp,"%.3f\t\t\t",nts[i].fisica);
  75. fprintf(fp,"%.3f\n",nts[i].promedio);
  76. }
  77.  
  78. }
  79. fclose(fp);
  80. break;
  81.  
  82. }
  83.  
  84. }

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
  1. FILE *fp;
  2.  
  3.    fp=fopen("Notas.txt","a");
  4.    if(fp==NULL)
  5.    {
  6.        printf("Error en el archivo");
  7.        exit(-1);
  8.    }
  9.    else
  10. {
  11. system("cls");
  12. 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  ;-) ;-)


« Última modificación: 12 Agosto 2017, 10:45 am por AndresEnriquezV » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Crear archivos de datos con nombres diferentes desde consola
« Respuesta #1 en: 12 Agosto 2017, 11:59 am »

Esto es más C que C++ :o

Utiliza scanf para pedirle el nombre del archivo al usuario. Luego, pones la variable en el fopen y listo.


En línea

AndresEnriquezV

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Crear archivos de datos con nombres diferentes desde consola
« Respuesta #2 en: 13 Agosto 2017, 01:35 am »

muchas gracias, si me funcionó, probablemente tenga mas dudas despues jaja
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines