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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  no guarda mis datos en el archivo.txt borland c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: no guarda mis datos en el archivo.txt borland c++  (Leído 2,874 veces)
—»Boy«—

Desconectado Desconectado

Mensajes: 1


Ver Perfil
no guarda mis datos en el archivo.txt borland c++
« en: 6 Marzo 2012, 06:34 am »

hola a todos y gracias por darse el tiempo de leer mi problema el programa que uso es borland c++ 5.02:
cuando voy al procedimiento "void evaluaciones" ingreso todos mis datos correctamente pero no los guarda en mi archivo Evaluaciones.txt :huh: alguien me podria ayudar xfavor  :( se los agradeceria mucho.... aqui les dejo mi avance
Código
  1. #include <iostream.h>
  2. #include <conio.h>
  3. #include <string.h>
  4. #include <iomanip.h>
  5. #include <stdlib.h>
  6. #include <stdio.h>
  7. #include <ctype.h>
  8. # include <windows.h>
  9.  
  10. struct alumnos
  11. {
  12. int cod_alu,edad;
  13.   char apell[20],nomb[20];
  14. };
  15.  
  16. struct cursos
  17. {
  18.   int cod_curso,credit;
  19.   char descrip[40],escu[20];
  20. };
  21.  
  22. struct evaluaciones
  23. {
  24.   int cod_alu,cod_curso;
  25.   int p1,p2,p3;
  26.   float prom;
  27.   char cond[20];
  28. };
  29.  
  30. FILE *falumnos;
  31. FILE *fcursos;
  32. FILE *fevaluaciones;
  33.  
  34. struct alumnos f1;
  35. struct cursos f2;
  36. struct evaluaciones f3;
  37.  
  38. int buscar_alumno(int cod_al);
  39. int buscar_curso(int cod_cu);
  40. int busca_alum(int cod_al);
  41. int busca_cur(int cod_cu);
  42.  
  43. //****************************ingreso de alumnos**********************************
  44. void ingresar_alumno()
  45. {
  46.  
  47. int cod_al;
  48.   char resp;
  49.   do
  50.   {
  51.         clrscr();
  52. gotoxy(10,4);textcolor(8);cprintf("INGRESO DE DATOS DE ALUMNOS");
  53. falumnos=fopen("Alumnos.txt","a+");
  54. if(falumnos==NULL)
  55. {
  56. gotoxy(10,50);cout<<"ARCHIVO NO EXISTE, CREARE ARCHIVO ";getch();
  57. falumnos=fopen("Alumnos.txt","a+");
  58.         }
  59.         do{gotoxy(10,6);clreol();cout<<"Codigo = ";cin>>cod_al;}while(cod_al<100||cod_al>999);
  60.         int pos=buscar_alumno(cod_al);
  61.   if(pos==-1)
  62. {
  63. f1.cod_alu=cod_al;
  64. gotoxy(10,7);cout<<"Apellido: ";gets(f1.apell);
  65.               gotoxy(10,8);cout<<"Nombre: ";gets(f1.nomb);
  66. do{gotoxy(10,9);clreol();cout<<"Edad: ";cin>>f1.edad;}while(f1.edad<14||f1.edad>40);
  67.               fwrite(&f1,sizeof(f1),1,falumnos);
  68.               fclose(falumnos);
  69.               gotoxy(10,11);textcolor(10);cprintf("INGRESO DE DATOS DE ALUMNOS");
  70. }
  71.         else
  72.         {gotoxy(30,6);textcolor(12);cprintf("Registro ALUMNO YA EXISTE...");}
  73. gotoxy(10,16);cout<<"DESEA INGRESAR NUEVO REGISTRO..? (S/N) ==> ";cin>>resp;
  74. }while(toupper(resp)=='S');
  75.      fclose(falumnos);
  76. return;
  77. }
  78. //***********************reporte de alumnos*************************
  79. void reporte_alumno()
  80. {
  81. clrscr();
  82.   gotoxy(10,3);textcolor(10);cprintf("             LISTA DE ALUMNOS");
  83.   cout<<"\n\r   __________________________________________________________";
  84.   falumnos=fopen("Alumnos.txt","r");//envia a la ram
  85.   if(falumnos==NULL)//confirmar existencia de archivo
  86.   {
  87.       gotoxy(10,15);cout<<"No existe el archivo !!!";
  88.         gotoxy(10,16);cout<<"<<< PRESIONE ENTER para continuar >>>";getch();
  89.         return;
  90.      }
  91.   gotoxy(10,5);cout<<setw(10)<<" CODIGO "<<setw(15)<<" APELLIDO "<<setw(15)<<" NOMBRE "<<setw(10)<<" EDAD ";
  92.   cout<<"\n\r   __________________________________________________________";
  93.   gotoxy(10,9);cout<<"\n";
  94.   int i=0;
  95.   fread(&f1,sizeof(f1),1,falumnos);//para iniciar bucle de busqueda
  96.   while(!feof(falumnos))
  97.   {
  98.       i++;
  99.         gotoxy(10,7+i);cout<<setw(7)<<f1.cod_alu<<setw(16)<<f1.apell<<setw(15)<<f1.nomb<<setw(10)<<f1.edad;
  100.         fread(&f1,sizeof(f1),1,falumnos);//Para continuar con Bucle
  101.      }
  102.   fclose(falumnos);//cierra el archivo
  103.   cout<<"\n\r   __________________________________________________________";
  104.   cout<<endl<<"\n\n";
  105.   gotoxy(10,12+i);cout<<"Total de Registros = "<<i;
  106.   gotoxy(10,13+i);cout<<"\n\r  <<<<...PRESIONE ENTER para continuar...>>>";getch();
  107.   return;
  108. }
  109. //*********************ingreso de cursos***************************
  110. void ingreso_cursos()
  111. {
  112. clrscr();
  113.   int cod_cu;
  114.   char nombre[40];
  115.   bool b1;
  116.   char resp;
  117.   do
  118.   {
  119.  
  120. gotoxy(10,4);textcolor(8);cprintf("INGRESO DE DATOS DE CURSOS");
  121. fcursos=fopen("Cursos.txt","a+");
  122. if(fcursos==NULL)
  123. {
  124. gotoxy(10,50);cout<<"ARCHIVO NO EXISTE, CREARE ARCHIVO ";getch();
  125. fcursos=fopen("Cursos.txt","a+");
  126.         }
  127.         do{gotoxy(10,6);clreol();cout<<"Codigo = ";cin>>cod_cu;}while(cod_cu<100||cod_cu>999);
  128.         int pos=buscar_curso(cod_cu);
  129.   if(pos==-1)
  130. {
  131.               b1=true;
  132.               gotoxy(10,7);cout<<"Nombre: ";gets(nombre);
  133.               fseek(fcursos,0,SEEK_SET);
  134.               fread(&f2,sizeof(f2),1,fcursos);
  135. while(!feof(fcursos))
  136. {
  137. if(strcmpi(f2.descrip,nombre)==0)
  138. {
  139. gotoxy(30,7);textcolor(12);cprintf("NOMBRE YA EXISTE...");
  140. fclose(fcursos);
  141.         b1=false;break;
  142. }
  143. fread(&f2,sizeof(f2),1,fcursos);
  144.                  }
  145.               if(b1==true)
  146.               {
  147.                     f2.cod_curso=cod_cu;
  148.                     strcpy(f2.descrip,nombre);
  149. gotoxy(10,8);cout<<"Escuela: ";gets(f2.escu);
  150.                     do{gotoxy(10,9);clreol();cout<<"Credito: ";cin>>f2.credit;}while(f2.credit<1||f2.credit>5);
  151.               fwrite(&f2,sizeof(f2),1,fcursos);
  152.                     fclose(fcursos);
  153.                     gotoxy(10,11);textcolor(10);cprintf("INGRESO DE DATOS DE CURSOS");
  154.               }
  155. }
  156.         else
  157.         {
  158.             gotoxy(30,6);textcolor(12);cprintf("CODIGO YA EXISTE...");
  159.            }
  160. gotoxy(10,16);cout<<"DESEA INGRESAR NUEVO REGISTRO..? (S/N) ==> ";cin>>resp;
  161. clrscr();
  162. }while(toupper(resp)=='S');
  163.      fclose(fcursos);
  164. return;
  165. }
  166. //***********************reporte de cursos**********************
  167. void reporte_curso()
  168. {
  169. clrscr();
  170.   gotoxy(10,3);textcolor(10);cprintf("             LISTA DE CURSOS");
  171.   cout<<"\n\r       __________________________________________________________";
  172.   fcursos=fopen("Cursos.txt","r");//envia a la ram
  173.   if(fcursos==NULL)//confirmar existencia de archivo
  174.   {
  175.       gotoxy(10,15);cout<<"No existe el archivo !!!";
  176.         gotoxy(10,16);cout<<"<<< PRESIONE ENTER para continuar >>>";getch();
  177.         return;
  178.      }
  179.   gotoxy(10,5);cout<<setw(10)<<" CODIGO "<<setw(12)<<" NOMBRE "<<setw(16)<<" ESCUELA "<<setw(15)<<" CREDITOS ";
  180.   cout<<"\n\r       __________________________________________________________";
  181.   gotoxy(10,9);cout<<"\n";
  182.   int i=0;
  183.   fread(&f2,sizeof(f2),1,fcursos);//para iniciar bucle de busqueda
  184.   while(!feof(fcursos))
  185.   {
  186.       i++;
  187.         gotoxy(10,7+i);cout<<setw(7)<<f2.cod_curso<<setw(16)<<f2.descrip<<setw(15)<<f2.escu<<setw(10)<<f2.credit;
  188.         fread(&f2,sizeof(f2),1,fcursos);//Para continuar con Bucle
  189.      }
  190.   fclose(fcursos);//cierra el archivo
  191.   cout<<"\n\r       __________________________________________________________";
  192.   cout<<endl<<"\n\n";
  193.   gotoxy(10,12+i);cout<<"Total de Registros = "<<i;
  194.   gotoxy(10,13+i);cout<<"\n\r  <<<<...PRESIONE ENTER para continuar...>>>";getch();
  195.   return;
  196. }
  197. //*******************ingreso de notas ************************
  198. void evaluaciones()
  199. {
  200. clrscr();
  201.   int cod_al,cod_cu,menor;
  202.   char resp;
  203.   do
  204.     {
  205.  
  206.         gotoxy(10,4);textcolor(8);cprintf("INGRESO DE NOTAS");
  207. fevaluaciones=fopen("Evaluaciones.txt","a+");
  208. if(fevaluaciones==NULL)
  209. {
  210. gotoxy(10,50);cout<<"ARCHIVO NO EXISTE, CREARE ARCHIVO ";getch();
  211. fevaluaciones=fopen("Evaluaciones.txt","a+");
  212.         }
  213.         do{gotoxy(10,6);clreol();cout<<"Codigo de Alumno= ";cin>>cod_al;}while(cod_al<100||cod_al>999);
  214.         falumnos=fopen("Alumnos.txt","r+");
  215.         int posa=buscar_alumno(cod_al);
  216.         if(posa==-1)
  217.         {
  218.             gotoxy(35,6);textcolor(12);cprintf("ALUMNO NO REGISTRADO...");
  219.            }
  220.         else
  221.         {
  222.               gotoxy(35,6);textcolor(10);cprintf("ALUMNO REGISTRADO...");
  223.               do{gotoxy(10,7);clreol();cout<<"Codigo de Curso= ";cin>>cod_cu;}while(cod_cu<100||cod_cu>999);
  224.               fcursos=fopen("Cursos.txt","r+");
  225. int posc=buscar_curso(cod_cu);
  226.               if(posc==-1)
  227.               {
  228.                     gotoxy(35,7);textcolor(12);cprintf("CURSO NO REGISTRADO...");
  229.                  }
  230.               else
  231.               {
  232.                     gotoxy(35,7);textcolor(10);cprintf("CURSO REGISTRADO...");
  233.                     int pos1=busca_alum(cod_al);
  234.                     int pos2=busca_cur(cod_cu);
  235.                     if((pos1==-1)&&(pos2==-1))
  236.                     {
  237.                         f3.cod_alu=cod_al;
  238.                     f3.cod_curso=cod_cu;
  239.                   do{gotoxy(10,9);clreol();cout<<"Nota 1 = ";cin>>f3.p1;}while(f3.p1<0||f3.p1>20);
  240.                     do{gotoxy(10,10);clreol();cout<<"Nota 2 = ";cin>>f3.p2;}while(f3.p2<0||f3.p2>20);
  241.                     do{gotoxy(10,11);clreol();cout<<"Nota 3 = ";cin>>f3.p3;}while(f3.p3<0||f3.p3>20);
  242.                           if((f3.p1<f3.p2)&&(f3.p1<f3.p3))
  243.                           {menor=f3.p1;}
  244.                           if((f3.p2<f3.p1)&&(f3.p2<f3.p3))
  245.                           {menor=f3.p2;}
  246.                           if((f3.p3<f3.p1)&&(f3.p3<f3.p2))
  247.                           {menor=f3.p3;}
  248.                           f3.prom=(f3.p1+f3.p2+f3.p3-menor)/2.0;
  249.                           if(f3.prom>10)
  250.                           {strcpy(f3.cond,"APROBADO");}
  251.                           else
  252.                           {strcpy(f3.cond,"DESAPROBADO");}
  253.                           fwrite(&f3,sizeof(f3),1,fevaluaciones);
  254.                     fclose(fevaluaciones);
  255.                     gotoxy(15,13);textcolor(10);cprintf("INGRESO DE DATOS CORRECTO");
  256.                        }
  257.                     else
  258.                     {
  259.                           gotoxy(35,9);textcolor(12);cprintf("ALUMNO YA MATRICULADO...");
  260.                        }
  261.                  }
  262.            }
  263.         gotoxy(10,16);cout<<"DESEA INGRESAR NUEVO REGISTRO..? (S/N) ==> ";cin>>resp;
  264. clrscr();
  265.  
  266.       }while(toupper(resp)=='S');
  267.   fclose(fevaluaciones);
  268.   return;
  269. }
  270. //***************reporte de notas************************
  271. void reporte_notas()
  272. {
  273. clrscr();
  274.   gotoxy(10,3);textcolor(10);cprintf("             LISTA DE NOTAS");
  275.   cout<<"\n\r       __________________________________________________________";
  276.   fevaluaciones=fopen("Evaluaciones.txt","r");//envia a la ram
  277.   if(fevaluaciones==NULL)//confirmar existencia de archivo
  278.   {
  279.       gotoxy(15,8);cout<<"No existe el archivo !!!";
  280.         gotoxy(15,10);cout<<"<<< PRESIONE ENTER para continuar >>>";getch();
  281.         return;
  282.      }
  283.   gotoxy(10,5);cout<<setw(5)<<"COD ALU"<<setw(9)<<"COD CUR"<<setw(7)<<"NOTA1"<<setw(6)<<"NOTA2"<<setw(6)<<"NOTA3"<<setw(6)<<"PROME"<<setw(8)<<"COND.";
  284.   cout<<"\n\r       __________________________________________________________";
  285.   gotoxy(10,9);cout<<"\n";
  286.   int i=0;
  287.   fread(&f3,sizeof(f3),1,fevaluaciones);//para iniciar bucle de busqueda
  288.   while(!feof(fevaluaciones))
  289.   {
  290.       i++;
  291.         gotoxy(10,7+i);cout<<setw(4)<<f3.cod_alu<<setw(10)<<f3.cod_curso<<setw(7)<<f3.p1<<setw(6)<<f3.p2<<setw(6)<<f3.p3<<setw(7)<<f3.prom<<setw(11)<<f3.cond;
  292.         fread(&f3,sizeof(f3),1,fevaluaciones);//Para continuar con Bucle
  293.      }
  294.   fclose(fevaluaciones);//cierra el archivo
  295.   cout<<"\n\r       __________________________________________________________";
  296.   cout<<endl<<"\n\n";
  297.   gotoxy(10,12+i);cout<<"Total de Registros = "<<i;
  298.   gotoxy(10,13+i);cout<<"\n\r  <<<<...PRESIONE ENTER para continuar...>>>";getch();
  299.   return;
  300. }
  301. void main()
  302. {
  303. char opcion;
  304.   do{
  305.   clrscr();
  306.         system("title Por Jorge Luis");
  307.         gotoxy(12,4);cout<<"SISTEMA DE MANTENIMIENTO: EVALUACIONES ";
  308.         gotoxy(5,5);cout<<"_____________________________________________________";
  309.         gotoxy(5,14);cout<<"_____________________________________________________";
  310.         gotoxy(12,7);cout<<"[1] INGRESAR DATOS DE ALUMNO";
  311.         gotoxy(12,8);cout<<"[2] INGRESAR DATOS DE CURSO";
  312.         gotoxy(12,9);cout<<"[3] INGRESAR NOTAS";
  313.         gotoxy(12,10);cout<<"[4] LISTAR ALUMNOS";
  314.         gotoxy(12,11);cout<<"[5] LISTAR CURSOS";
  315.         gotoxy(12,12);cout<<"[6] LISTADO TOTAL";
  316.         gotoxy(12,13);cout<<"[0] SALIR";
  317.       gotoxy(12,16);cout<<"<Edite opcion>==> "; cin>>opcion;
  318. switch(opcion)
  319.   {
  320.             case '1' : ingresar_alumno();break;
  321.               case '2' : ingreso_cursos();break;
  322.             case '3' : evaluaciones();break;
  323.             case '4' : reporte_alumno();break;
  324.             case '5' : reporte_curso();break;
  325.             case '6' : reporte_notas();break;
  326.             default  :  break;
  327.       }
  328.  
  329.      }while(opcion!='0');
  330. }
  331.  
  332. int buscar_alumno(int cod_al)
  333. {
  334. int cont=0;
  335. fseek(falumnos,0,SEEK_SET);
  336. fread(&f1,sizeof(f1),1,falumnos);
  337. while(!feof(falumnos))
  338. {
  339. if(f1.cod_alu==cod_al)
  340. {return cont;}
  341. else
  342. {
  343.             fread(&f1,sizeof(f1),1,falumnos);
  344.               cont++;
  345.            }
  346. }
  347. return -1;
  348. }
  349.  
  350. int buscar_curso(int cod_cu)
  351. {
  352. int cont=0;
  353. fseek(fcursos,0,SEEK_SET);
  354. fread(&f2,sizeof(f2),1,fcursos);
  355. while(!feof(fcursos))
  356. {
  357. if(f2.cod_curso==cod_cu)
  358. {return cont;}
  359. else
  360. {
  361.             fread(&f2,sizeof(f2),1,fcursos);
  362.               cont++;
  363.            }
  364. }
  365. return -1;
  366. }
  367.  
  368. int busca_alum(int cod_alu)
  369. {
  370. int cont=0;
  371. fseek(fevaluaciones,0,SEEK_SET);
  372. fread(&f3,sizeof(f3),1,fevaluaciones);
  373. while(!feof(fevaluaciones))
  374. {
  375. if(f3.cod_alu==cod_alu)
  376. {return cont;}
  377. else
  378. {
  379.             fread(&f3,sizeof(f3),1,fevaluaciones);
  380.               cont++;
  381.            }
  382. }
  383. return -1;
  384. }
  385.  
  386. int busca_cur(int cod_cu)
  387. {
  388. int cont=0;
  389. fseek(fevaluaciones,0,SEEK_SET);
  390. fread(&f3,sizeof(f3),1,fevaluaciones);
  391. while(!feof(fevaluaciones))
  392. {
  393. if(f3.cod_curso==cod_cu)
  394. {return cont;}
  395. else
  396. {
  397.             fread(&f3,sizeof(f3),1,fevaluaciones);
  398.               cont++;
  399.            }
  400. }
  401. return -1;
  402. }

PD: aun soy novato en esto de manejo de archivos en borland c++


« Última modificación: 8 Marzo 2012, 05:53 am por —»Boy«— » 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