Ver Mensaje Individual
  #16 (permalink)  
Antiguo 02/11/2015, 13:12
RGT
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 15 años, 5 meses
Puntos: 5
Respuesta: Error al compilar en C++ (archivos)

Hola, gracias por tu ayuda hermano.

Hasta ahora tengo esto:
Código:
#include <iostream>
#include <fstream>  // Librería para el manejo de archivos
#include <string>

using namespace std;

int main()
{
    int NumeroLetras, Score = 0;
    string Nombre;

    cout << "Juego de El Ahorcado\n--------------------\n" << endl;

    cout << "Escribe tu nombre: ";
    cin >> Nombre;

    cout << "N\243mero de letras de la palabra: ";
    cin >> NumeroLetras;

/*                Creamos el fichero con las palabras a adivinar
------------------------------------------------------------------------*/
    fstream fichero;

    cout << "\nCreando fichero con palabras..." << endl;
    fichero.open("palabras.txt", ios::out);
    fichero << "baloncesto\n";
    fichero << "beisbol\n";
    fichero << "futbol\n";
    fichero << "golf\n";
    fichero << "rugby\n";
    fichero << "tenis\n";
    fichero << "boxeo\n";
    fichero << "sumo\n";
    fichero << "judo\n";
    fichero << "nascar\n";
    fichero << "atletismo\n";
    fichero << "caminata\n";
    fichero << "ciclismo\n";
    fichero << "esgrima\n";
    fichero << "natacion\n";
    fichero << "polo\n";
    fichero << "clavados\n";
    fichero << "remo\n";
    fichero << "vela\n";
    fichero << "ajedrez";
    fichero.close();
    cout << "Fichero creado exitosamente..." << endl;

/*                Encontramos la palabra de x letras
------------------------------------------------------------------------*/
    string Palabra;
    bool Encontrada = true;

    fichero.open("palabras.txt", ios::in);

    while (Encontrada)
    {
        if (fichero.eof())
        {
            Encontrada = false;
            cout << "No hay palabras de " << NumeroLetras << " letras en el juego..." << endl;
        }

        else
        {
            getline(fichero, Palabra);

            if (Palabra.size() == NumeroLetras)
            {
                Encontrada = false;
                cout << "Palabra de " << NumeroLetras << " letras encontrada..." << endl;
            }
        }
    }

    fichero.close();

/*                Guardamos la configuración en otro fichero
------------------------------------------------------------------------*/
    fstream configuracion;

    cout << "\nGuardando configuraci\242n en otro fichero..." << endl;
    configuracion.open("configuracion.txt", ios::out);
    configuracion << Nombre << endl;
    configuracion << Palabra << endl;
    configuracion << Score;
    configuracion.close();
    cout << "Fichero creado exitosamente..." << endl;

    return 0;
}
Te comento que el punto de este programa es reproducir el juego de El Ahorcado.
  1. Guardar la puntuación en un archivo para compararla con las futuras puntuaciones, o sea, debo programar algo que lleve las puntuaciones. El menor número de intentos.
  2. Si una segunda persona intenta jugar, y elige 4 letras, el programa no puede seleccionar la primera palabra que tenga 4 letras si ya se ha usado antes, debe seleccionar la siguiente que tenga 4 letras.
  3. Si una letra no se ha adivinado se colocará en su posición el carácter ‘_’.
  4. En otro fichero debo tener dibujado el muñeco y debo ir imprimiendo linea por linea cada vez que el jugador falle. Solo habrá 7 posibles fallos.
  5. El juego termina cuando el jugador ha adivinado todas las letras de la palabra (en cuyo caso, se mostrará un mensaje de felicitación) o cuando el jugador haya cometido 7 fallos (mostrando el mensaje de fin de juego).

Esto es lo que debo hacer, muy fuerte para ser mi primera vez trabajando con ficheros en c++ pero, lo estoy intentando.

Trato de comprender cómo hacer lo siguiente:
  1. Cómo leer la segunda línea de un fichero?. Ej, estoy creando "configuracion.txt", en donde la primera linea es el nombre del jugador, la segunda linea es la palabra a adivinar y la tercera es la puntuación. Cómo leo una linea en especifico si quiero ejemplo mostrar la puntuación solamente al comienzo del juego?.
  2. Cómo puedo saber si una palabra de x letras ya fue jugada antes, y cómo hago para que el programa seleccione la siguiente palabra en la lista?.

Muchas dudas, repito es mi primera vez con ficheros y no entiendo como comunicar mis pensamientos en codigo.
Espero puedan ayudarme.