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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema con manejo de archivo de texto - Consulta
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con manejo de archivo de texto - Consulta  (Leído 1,284 veces)
Cero++

Desconectado Desconectado

Mensajes: 52



Ver Perfil WWW
Problema con manejo de archivo de texto - Consulta
« en: 4 Enero 2019, 02:26 am »

Buenas gente, tengo un pequeño inconveniente, el problema es este, en el main cuando leo el string "nom_ape" usando el getline, no continua el programa y se cierra, sin permitirme la lectura de "nota1" y "nota2" y produciendo un mal funcionamiento de las funciones.
Les adjunto el código para ver si pueden ver el por qué sucede esto.

Código
  1. #include <iostream>
  2. #include <fstream>
  3. #include <iomanip>
  4. #include <vector>
  5. using namespace std;
  6. struct Alumno{
  7. string nom_ape;
  8. float nota1,nota2;
  9. };
  10. istream& operator>>(istream &i, Alumno &A){
  11. getline(i,A.nom_ape);
  12. i>>A.nota1>>A.nota2;
  13. i.ignore();
  14. return i;
  15. }
  16. ostream& operator<<(ostream &o, Alumno &A){
  17. o<<left<<A.nom_ape<<endl;
  18. o<<left<<A.nota1<<setfill(' ')<<setw(2)<<A.nota2<<endl;
  19. return o;
  20. }
  21. //A
  22. void Modificar_archi(Alumno A, vector <Alumno> &D);
  23. //B
  24. void Promedio_archi(vector <Alumno> &D);
  25. int main(int argc, char *argv[]) {
  26. vector<Alumno> V; Alumno A;
  27. ifstream lectura;
  28. lectura.open("Unidad 5 - Nro 2 - Lista.txt");
  29. if(!lectura.is_open()){
  30. cerr<<"Archivo no abierto";
  31. exit(-1);
  32. }
  33. while(lectura>>A){
  34. V.push_back(A);
  35. }
  36. lectura.close();
  37. //A
  38. cout<<"Ingrese el nombre del alumno y su apellido"<<endl;
  39. getline(cin,A.nom_ape);
  40. cin.ignore();
  41. cout<<"Ahora ingrese sus dos notas"<<endl;
  42. cout<<"Nota 1: "; cin>>A.nota1;
  43. cout<<"Nota 2: "; cin>>A.nota2;
  44. Modificar_archi(A,V);
  45. //B
  46. Promedio_archi(V);
  47. return 0;
  48. }
  49. //A
  50. void Modificar_archi(Alumno A, vector <Alumno> &D){
  51. for(size_t i=0;i<D.size();i++) {
  52. if(A.nom_ape==D[i].nom_ape){
  53. D[i].nota1=A.nota1;
  54. D[i].nota2=A.nota2;
  55. }
  56. }
  57. ofstream escritura;
  58. escritura.open("Unidad 5 - Nro 2 - Lista.txt",ios::trunc);
  59. for(size_t i=0;i<D.size();i++) {
  60. escritura<<D[i];
  61. }
  62. escritura.close();
  63. }
  64. //B
  65. void Promedio_archi(vector <Alumno> &D){
  66. float condicion_final; Alumno aux;
  67. ofstream escritura;
  68. escritura.open("Unidad 5 - Nro 2 - Promedio.txt");
  69. if(!escritura.is_open()){
  70. cerr<<"Archivo no abierto"<<endl;
  71. exit (-1);
  72. }
  73. for(size_t i=0;i<D.size();i++) {
  74. condicion_final=(D[i].nota1+D[i].nota2)/2;
  75. escritura<<D[i];
  76. if(condicion_final>=60){
  77. escritura<<"Condicion final: "<<"Aprobado"<<endl;
  78. }else{
  79. escritura<<"Condicion final: "<<"Desaprobado"<<endl;
  80. }
  81. }
  82. escritura.close();
  83. }


En línea

Código:
Ser diligente es lo ÚNICO que importa para lograr el éxito[c/ode]
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Consulta~Editar archivo de texto en una linea especifica.
PHP
volteo0101 3 6,965 Último mensaje 9 Febrero 2011, 07:19 am
por volteo0101
Programa que consulta archivo de texto
Programación C/C++
mark182 6 7,666 Último mensaje 27 Julio 2011, 22:21 pm
por mark182
Consulta manejo de archivo. Función fwrite()
Programación C/C++
Torino10 2 2,416 Último mensaje 12 Mayo 2012, 02:36 am
por Torino10
problema con archivo de texto
Programación C/C++
m@o_614 1 1,514 Último mensaje 24 Marzo 2014, 18:45 pm
por Yoel Alejandro
Problema creando archivo auxiliar para eliminar datos en manejo de datos con c++
Programación C/C++
Abril7 1 2,791 Último mensaje 12 Septiembre 2017, 18:41 pm
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines