Tema: ayudaa
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/01/2009, 04:18
guilaurea
 
Fecha de Ingreso: enero-2009
Mensajes: 1
Antigüedad: 15 años, 3 meses
Puntos: 0
ayudaa

Hola! somos unos estudiantes que tenemos que acabar un proyecto en en c++ con el visual c., pero tenemso un problema. Es una totneria pero no encontramos la manera de hacerlo, espero que nos ayuden, gracias.

Esta parte del proyecto(un juego) en la que tenemos problemas es la que consiste en guardar la partida. Les dejo el codigo de las funciones de grabar y reiniciar partida y el enunciado del ejercicio:

En esta opción el programa pide al usuario el nombre del fichero donde se debe salvar la partida y la salva, en el mismo formato que el fichero "partida_senzilla.txt"






int llegeix_partida(Tcadena nom,Tpartida *part){
FILE *fit;
int ok;
if (strcmp(nom,"")==0){
printf("Nom de la partida? ");
scanf("%[^\n]%*c",part->nom);
}else
strcpy(part->nom,nom);
fit=fopen(part->nom,"r");
if (fit==NULL) return 0;
ok=llegeix_jugador(fit,&part->jugador);
if (!ok) return 0;
ok=llegeix_llista_objectes(fit,&part->Lobjectes);
if (!ok) return 0;
ok=llegeix_llista_monstres(fit,&part->Lmonstres);
if (!ok) return 0;
ok=llegeix_habitacions(fit,part->habitacions,&part->nfils,&part->ncols);
if (!ok) return 0;
fclose(fit);
return 1;
}

void escriu_partida(Tpartida part){

FILE *fp;

if (strcmp(part.nom,"")>0){
printf("Nom de la partida? ");
scanf("%[^\n]%*c",part.nom);
}



fp=fopen("partida.out.txt", "w");
if(fp==NULL)
printf("Error");

// a partir de aquí está correcto

escriu_jugador(fp, part.jugador);

escriu_llista_objectes(fp,part.Lobjectes);

escriu_llista_monstres(fp,part.Lmonstres);

escriu_habitacions(fp,part.habitacions,part.nfils, part.ncols);

fclose(fp);



}



el error está en la segunda funcion, ya que al usar la de "llegeix" en todo momento nos da que la lectura ha sido incorrecta. Lo que necesitamos es que al poner la opcion salvar, pida el nombre y lo guarde ahí, y al cargar, introduzcas ese nombre y te lo abra, pero no lo conseguimos.



Muachas gracias