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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  No aparece nada en pantalla.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: No aparece nada en pantalla.  (Leído 1,419 veces)
catasturslykid

Desconectado Desconectado

Mensajes: 1


Ver Perfil
No aparece nada en pantalla.
« en: 12 Agosto 2013, 19:58 pm »

Hola foreros! Soy nuevo en el foro y en C también jaja

Me llamo Albert y soy estudiante de Ingeniería.

El caso es que tengo que hacer un programa pero no se porque, no me funciona del todo bien.

Se trata de un juego, en el que el usuario introduce el nombre del personaje que quiere cargar, el cual está guardado en un archivo que se llama igual que el personaje.

En este caso, el personaje se llama Albert.

El archivo contiene: nombre del personaje, clase, experiencia y nivel.

Cuando leo la clase, llamo a una función que identifica la clase dentro del array de clases y me muestra el ataque, defensa y vida de dicha clase.

Así pues, después de leer los datos de la clase, los asigno al personaje.

Una vez hecho esto, voy al menú de personaje donde podré empezar la "aventura".

El problema es que, cuando leo los datos de la clase, devuelvo un INT que me indica en que posición está.
Y a partir de ahí, no aparece nada por pantalla... ni el menú, ni el printf que pongo a continuación para ver si funciona.. nada.

¿Que debo hacer?

Aquí el código:

Código:
 #include "total.h"
  
  
  
   void carregaPersonatge(FILE *h, Classe *classes, int nClas,int nEnemics, Enemic *enemics){
  
   Personatge personatge;
   char strNom[50], strNomc[50], strOmet[100];
   int nVida = 0, nAtac = 0, nExp = 0, nNivell = 0, nQuina = -1;
 

      printf("Nom del personatge?:  ");
      scanf("%s",strNom);
      h = fopen(strNom,"r"); //A PARTIR DE AQUI NO SALE NADA
      printf("HOLA\n");
      if( h == NULL){
          printf("Error!\n");
          menuPrincipal(nClas, nEnemics, classes, enemics);//En cas d'error, tornem al menu principal.
      }
      else{
 
          printf("NICE\n");
 
          fscanf(h,"%s",strOmet); //El nom del personatge ja el tenim d'abans.
          printf("%s\n",strOmet); //BORRAR
          fscanf(h,"%s", strNomc); //Llegim el nom de la classe
          printf("%s\n",strNomc); //BORRAR
          fscanf(h,"%d",&nNivell); //Llegim el nivell del personatge
          fscanf(h,"%d",&nExp); //Llegim la experiencia del personatge
          personatge.nExperiencia = nExp;
          personatge.nNivell = nNivell;
          strcpy(personatge.strNom, strNom);
          printf("%d\n",personatge.nNivell);
          printf("%d\n",personatge.nExperiencia);
          nQuina = dadesClasse(strNomc,nClas,classes); //Trobem quina es la classe del personatge.
          printf("%d\n",&nQuina); //BORRAR
          personatge.nVida = classes[nQuina].nVida + nNivell*50;
          personatge.nAtac = classes[nQuina].nAtac + nNivell*10;
          personatge.nDefensa = classes[nQuina].nDefensa + nNivell*5;
          strcpy(personatge.classe.strNom, classes[nQuina].strNom);
          printf("%s\n",personatge.classe.strNom); //BORRAR
          menuPersonatge(personatge, enemics, h, nEnemics, nClas, classes);
 
 
      }
      fclose(h);
  }
 
  int dadesClasse(char strNomc[50], int nClas, Classe *classes){
 
  int i = 0;
  int nReturn = -1;
 
 

      while( i < nClas){
          if(strcmp(classes[i].strNom, strNomc) == 0){
              nReturn = i;
         }
      }
      return nReturn;
 }

¡Gracias de antemano!  ;D


Me dejé un i++ jajaja Ya está, gracias.


« Última modificación: 12 Agosto 2013, 22:45 pm por Eternal Idol » 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