Ver Mensaje Individual
  #13  
Antiguo 25-11-2014
jcdca jcdca is offline
Miembro
NULL
 
Registrado: nov 2014
Posts: 15
Reputación: 0
jcdca Va por buen camino
ya pude hacerlo, pero ahora tengo otro problemita recorro el archivo y saco las palabras en orden, y llamo a la funcion insertarenlista para meter todas las palabras en orden en una lista, al parecer si la llena o eso creo yo, pero al momento de imprimirla me muestra simbolos extraños, no se si es que la lleno mal, o que la imprimo mal o lo que sea, alguien sabe que tengo mal?

Código PHP:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct nodo
{
  
char palabra[30];
  
struct nodo*sig;
};

typedef struct nodo listaPalabra;

listaPalabra crearLista(listaPalabra *inicio)
{
   
inicio=NULL;
   return 
inicio;
}

listaPalabra *insertarEnLista(char palabra[30],listaPalabra *inicio)
{
       
listaPalabra *nuevoNodo;
       
listaPalabra *aux;
       
       
nuevoNodo=(listaPalabra*)malloc(sizeof(listaPalabra));
       
nuevoNodo->palabra[30]=palabra[30];
       
nuevoNodo->sig=NULL;
       
              
       
       if (
inicio == NULL)
       {
             
inicio=nuevoNodo;                  
       }
       else
       {
           
aux=inicio;
           
           while (
aux->sig !=NULL)
           {
                 
aux=aux->sig;                 
           }           
           
aux->sig=nuevoNodo;           
       }  
       return 
inicio;    
}

void imprimir (listaPalabra *lista)
{
     
listaPalabra *auxiliar;
     
auxiliar=lista;
     
     while (
auxiliar!=NULL)
     {
           
printf("%s \n",auxiliar->palabra);
           
auxiliar=auxiliar->sig;
     }
}


void Jugar(){
     
system ("color b");
     
system("cls");
     
int cantidad,i,j,aux,x,indice;
     
char caracter,palabra[30];   
     
printf("\n\t\t\t  ¿Con cuantas palabras desea jugar? ");  
     
scanf("%d",&cantidad);
     
x=1i=1j=0;
     
listaPalabra*lista;
     
lista=crearLista(lista);
     while (
i<=cantidad)
     {
       
FILE *archivo;
       
archivofopen("prueba.txt","r"); 
       if (
archivo== NULL)
       {
            
printf("El archivo no se encuentra");}
            else
            {                          
                while (
feof(archivo)==0)
                {
                       do
                       { 
                         
caracter=fgetc(archivo);
                       }while(
caracter=='\n');
                     
                   if (
caracter!=';')
                   {                      
                      
palabra[j]=caracter;
                      
j++;
                   }
                  else
                  {
                     
caracter=fgetc(archivo);
                     
aux= (int)(caracter-48);                     
                     if (
aux==i)
                     {                                                         
                        
lista=insertarEnLista(palabra,lista); 
                        
imprimir(lista);      
                      }                                          
                      
indice=0;
                      while (
indice<20)
                      {
                         
palabra[indice]=0;
                         
indice++;
                      }
                      
j=0;
                       
                  } 
            }  
                
close(archivo);
            } 
       
       
i++;
     }
                                    
     
getch();    
     }



void menu()
{
char resp;

  do
  { 
system ("color b"); 
       
system("cls");
    
printf("\n\n\t\t\t* * * * * MENU DE OPCIONES * * * * *");
    
printf("\n\t\t---------------------------------------------------");
    
printf("\n\t\t\t  Juego de el ahorcado ");
    
printf("\n\t\t---------------------------------------------------\n\n\n\n");
    
printf("\t\t\t\t (1) Jugar \n");
    
printf("\t\t\t\t (0) salir\n");

    do
     
resp=getch();

    while (
resp<'0' || resp>'1');
    switch(
resp)
     { case 
'1'Jugar();
         break;
      case 
'0'
         break;
     }
  }
  while(
resp!='0');
}


   
int main()
{
 
menu();

 return(
0);

Responder Con Cita