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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda urgente con un problema de lectura de ficheros C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda urgente con un problema de lectura de ficheros C++  (Leído 1,222 veces)
JohnAMH

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Ayuda urgente con un problema de lectura de ficheros C++
« en: 20 Octubre 2018, 20:13 pm »

Buenas, tengo un problema con la parte final de este código, y es que quiero que el programa me lea todos los préstamos que he hecho, pero solo me sale 1, más concretamente el primero. Por ejemplo, yo en el programa pongo información sobre 4 películas que quiero para alquilar, pero al final, cuando le pido al programa que me lea los datos del fichero txt, solo me lee los de la primera pelicula. Quisiera saber que poner para que me lea toda la información de las películas, y no solo de la primera.
Por cierto, también hay un pequeño error, que es que desde el "nombre de la pelicula" hasta "subtitulos?" los datos de sus respectivas preguntas son de la primera pelicula, pero después, a partir de "minutos", los datos los recoge de la última película que puse.

Código
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. #include <fstream>
  5. #include <iomanip>
  6. #include <cctype>
  7.  
  8. typedef enum { action, adventure, scifi, comedy, drama, mystery, horror } tGenre;
  9. typedef enum { spanish, english, french, german, italian, portuguese } tLanguage;
  10.  
  11. tGenre readGenre();
  12. string genreToStr(tGenre genre);
  13. tLanguage readLanguage();
  14. string languageToStr(tLanguage lang);
  15.  
  16. int main() {
  17.  
  18. string gen;
  19. string language;
  20. string str;
  21. string nif;
  22. string date;
  23. string title;
  24. string director;
  25. tGenre genre;
  26. tLanguage lang;
  27. int minutes;
  28. int days;
  29. char aux;
  30. char result;
  31. bool subtitles = true;
  32. ofstream outputFile;
  33. ifstream inputFile;
  34.  
  35. outputFile.open("rentals.txt",ios::out);
  36. do {
  37. cout << "Film title (# to end): ";
  38. cin.sync();
  39. getline(cin, title);
  40. if (title != "#" ) {
  41. outputFile << title << endl;
  42. cout << "Film director: ";
  43. cin.sync();
  44. getline (cin, director);
  45. outputFile << director << endl;
  46. genre = readGenre();
  47. gen = genreToStr(genre);
  48. outputFile << gen << endl;
  49. lang = readLanguage();
  50. language = languageToStr(lang);
  51. outputFile << language << endl;
  52. cout << "Film with subtitles (y/n)?: ";
  53. cin >> aux;
  54. aux = toupper (aux);
  55. if (aux == 'Y') {
  56. outputFile << aux << endl;
  57. outputFile << true << endl;
  58. subtitles = false;
  59. }
  60. else {
  61. subtitles = true;
  62. }
  63. cout << "Minutes: ";
  64. cin.sync();
  65. cin >> minutes;
  66. outputFile << minutes << endl;
  67. cout << "Client NIF: ";
  68. cin.ignore();
  69. cin >> nif;
  70. outputFile << nif << endl;
  71. cout << "Rental Date: ";
  72. cin.sync();
  73. cin >> date;
  74. outputFile << date << endl;
  75. cout << "Rental Days: ";
  76. cin.sync();
  77. cin >> days;
  78. outputFile << days << endl;
  79. }
  80. } while (title != "#");
  81. outputFile << "#" << endl;
  82.  
  83. inputFile.open("rentals.txt",ios::in);
  84. while (!inputFile.eof() && aux == 'Y' || aux == 'N')  {
  85. int rental;
  86. getline(inputFile, title);
  87. getline(inputFile, director);
  88. getline(inputFile, gen);
  89. getline(inputFile, language);
  90. inputFile >> subtitles;
  91. inputFile >> minutes;
  92. getline(inputFile, nif);
  93. getline(inputFile, date);
  94. inputFile >> days;
  95. switch (aux) {
  96. case 'Y':
  97. if (subtitles == false) {
  98. rental = ++rental;
  99. cout << "Rental " << rental << endl;
  100. cout << title << " (" << director << "), " << gen << ", " << language << " (subt. Spanish), " << minutes << " min." << endl;
  101. cout << "Client: " << nif << " - " << date << ", " << days << " days" << endl;
  102. subtitles = true;
  103. }
  104. break;
  105. case 'N':
  106. if (subtitles == true) {
  107. rental = ++rental;
  108. cout << "Rental " << rental << endl;
  109. cout << title << " (" << director << "), " << gen << ", " << language << ", " << minutes << " min." << endl;
  110. cout << "Client: " << nif << " - " << date << ", " << days << " days" << endl;
  111. subtitles == false;
  112. break;
  113. }
  114. default:
  115. exit(1);
  116. }
  117. }
  118.  
  119. inputFile.close();
  120. outputFile.close();
  121.  
  122. return 0;
  123. }
Repito, lo único que me falla es la parte en el que el programa tiene que leer la información que hay en el fichero, es decir, la del inputFile.


« Última modificación: 21 Octubre 2018, 11:43 am por JohnAMH » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Solucionado] Problema de lectura de ficheros
.NET (C#, VB.NET, ASP)
Kasi 2 3,733 Último mensaje 17 Julio 2009, 17:43 pm
por Kasi
Duda con lectura de ficheros txt
Programación C/C++
Blaster 1 1,933 Último mensaje 11 Abril 2013, 21:13 pm
por Carloswaldo
lectura y escritura de ficheros
Programación C/C++
franfis 6 3,869 Último mensaje 20 Abril 2013, 19:16 pm
por cypascal
[c++] Problema con la lectura de ficheros
Programación C/C++
chihue 1 1,692 Último mensaje 28 Diciembre 2014, 16:38 pm
por SrCooper
Lectura de ficheros de texto en c++
Programación C/C++
angelicavf 1 1,653 Último mensaje 30 Enero 2016, 19:44 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines