ayuda con lectura de archivo con estructura espesifica
Publicado por yonatan (23 intervenciones) el 30/08/2011 06:16:01
hola , soy nuevo por aca y confiaba en que puedan ayurdarme a resolver este problema que me tiene a maltraer hace unos dias ...les comento , nesesito leer archivos que genera el programa de Pokerstart a medida que uno va jugando, el programa va agregando a un archivo las acciones que realizan cada usuario en sus respectivas manos...la estructura que possen este archivo es la siguiente:
Juego de PokerStars #64023139396: Torneo n.º 409392077, 0.10 $+0.01 $ USD Hold'em No Limit - Nivel I (10/20) - 01-07-2011 19:00:01 ET
Mesa '409392077 118' 9-max Asiento n.º 1 es el botón
Asiento 1: gustimoron (1500 en fichas)
Asiento 2: jaherso911 (1500 en fichas) está ausente
Asiento 3: krlos288 (1500 en fichas)
Asiento 4: marphels (1500 en fichas)
Asiento 5: FakerPint186 (1500 en fichas)
Asiento 6: DANNY_BroDD (1500 en fichas)
Asiento 7: indiolatinus (1500 en fichas)
Asiento 8: RESPED (1500 en fichas)
Asiento 9: Q´Macanuda (1500 en fichas)
jaherso911: pone ciega pequeña 10
krlos288: pone ciega grande 20
*** CARTAS PROPIAS ***
Repartidas a indiolatinus [Qh 5h]
marphels: se retira
FakerPint186: sube 1480 a 1500 y está all-in
DANNY_BroDD: se retira
indiolatinus: se retira
RESPED: se retira
Q´Macanuda: se retira
gustimoron ha agotado su tiempo
gustimoron: se retira
jaherso911: se retira
gustimoron está ausente
krlos288: se retira
La apuesta no igualada (1480) ha sido devuelta a FakerPint186
FakerPint186 recaudó 50 de bote
*** RESUMEN ***
Bote total 50 | Comisión 0
Asiento 1: gustimoron (botón) se retiró antes del Flop (no apostó)
Asiento 2: jaherso911 (ciega pequeña) se retiró antes del Flop
Asiento 3: krlos288 (ciega grande) se retiró antes del Flop
Asiento 4: marphels se retiró antes del Flop (no apostó)
Asiento 5: FakerPint186 recaudó (50)
Asiento 6: DANNY_BroDD se retiró antes del Flop (no apostó)
Asiento 7: indiolatinus se retiró antes del Flop (no apostó)
Asiento 8: RESPED se retiró antes del Flop (no apostó)
Asiento 9: Q´Macanuda se retiró antes del Flop (no apostó)
Esto vendria a ser solo la descripcion de una mano , luego el programa va agregando abajo de cada mano la descripcion de la siguiente mano , mi problema puntual es que logro que mi codigo leea una mano completa , pero al momento de poner un bucle para que lea las demas manos..este ya no responde y devuelve codigo de lineas del archivo totalmente aleatorias...quisiera que me ayudaran a resolver este problema...y si no me explique bien...solo pregunten...es importante para mi resolver este problema. les dejo el codigo que tengo hasta ahora...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main ()
{
struct jugadores{
char nombre[20];
int fichas;
char posicion[1];
char estado[20];
char m;
char accion [20];
int apuesta;
int cantapuesta;
int cantsube;
int cantigualada;
int manosganadas;
int Cchica;
int Cgrande;
char cartasmias[10];
}asiento[10];
//DECLARACION DE LA ESTRUCTURA
FILE* archivo;
char a[200];
char buscar[20];
char* c;
char d;
char* AUX;
char h=0;
char l=0;
int t=0;
char q=0;
char* AUX1;
char r=0;
if (!(archivo = fopen ("C:\\archivo1.txt","r"))) // VERIFICA SI SE PUDO ABRIR EL ARCHIVO EN CUESTION
{
printf ("No se pudo abrir archivo");
}
else
{
do
{
fgets(a,200,archivo);
if (AUX = strstr(a,"Asiento"))
{
if (!(AUX = strstr (a,"Mesa" "bot" "se" "antes" "recaudo" )))
{
AUX = strtok(a, " " );
// printf ("%s\n",a);
AUX = strtok(NULL, " " ":");
// printf ("%s\n", AUX);
strcpy (asiento[l].posicion,AUX);
AUX = strtok(NULL, " ");
// printf ("%s\n",AUX);
strcpy(asiento[l].nombre,AUX);
// printf("%s\n",asiento1.nombre);
AUX = strtok(NULL, " " "(");
asiento[l].fichas = atoi(AUX);
// printf("%d\n", asiento1.fichas);
printf("\n");
printf("%s\t",asiento[l].nombre);
printf("%d\t", asiento[l].fichas);
printf("%s\n",asiento[l].posicion);
l++;
}
}
} while (!(AUX = strstr (a,"pone ciega peque")));
}
do
{
if (AUX = strstr(a,"pone ciega peque"))
{
for (q=0;q<9;q++)
{
if (AUX = strstr(a,asiento[q].nombre))
{
AUX = strtok(a," ");
AUX = strtok(NULL, " " ":");
AUX = strtok(NULL," ");
AUX = strtok(NULL," ");
AUX = strtok(NULL," ");
// printf("%s\n",AUX);
asiento[q].Cchica = atoi(AUX);
printf(" el jugador %s pone ciega chica %d\n",asiento[q].nombre,asiento[q].Cchica);
}
}
}
fgets(a,200,archivo);
if (AUX = strstr(a,"pone ciega grande"))
{
for (q=0;q<9;q++)
{
if (AUX = strstr(a,asiento[q].nombre))
{
AUX = strtok(a," ");
AUX = strtok(NULL, " " ":");
AUX = strtok(NULL," ");
AUX = strtok(NULL," ");
AUX = strtok(NULL," ");
// printf("%s\n",AUX);
asiento[q].Cgrande = atoi(AUX);
printf(" el jugador %s pone ciega grande %d\n",asiento[q].nombre,asiento[q].Cgrande);
}
}
}
} while (!(AUX = strstr (a,"*** CARTAS PROPIAS ***")));
//---------------------------------------------------ACA EMPIESA CARTAS PROPIAS---------------------------------------------
//---------------------------------------------------CARTAS PROPIAS---------------------------------------------------------------
fgets(a,200,archivo);
for (q=0;q<9;q++)
{
if (AUX1 = strstr(a,asiento[q].nombre))
{
AUX = strtok(a," ");
AUX = strtok(NULL," ");
AUX = strtok(NULL," ");
AUX = strtok(NULL,"[" "]");
strcpy (asiento[q].cartasmias,AUX);
printf("repartidas a %s = %s\n",asiento[q].nombre, asiento[q].cartasmias);
}
}
//-------------------------------------------------------------------------------------------------------------------------------------
//------------------------------------------------------COMIENZO DE LECTURA DE ACCIONES DE JUGADORES---------------------------------
char* accion;
char retira[20] = "retira";
char apuesta[20] = "apuesta";
char pasa[20] = "pasa";
char ausente[20] = "ausente";
char sube[20] = "sube";
char ANI[30] = "apuesta no igualada";
char Tagotado[30] ="ha agotado su tiempo";
char iguala[10] = "iguala";
char recaudo[20]= "recaud";
char cartaspropias[30]= "*** CARTAS PROPIAS ***";
char resumen[20]= "*** RESUMEN ***";
char flop[20] = "*** FLOP ***";
char turn[20] = "*** TURN ***";
char river[20] = "*** RIVER ***";
char JeJ= 9;
char x = 0;
char m;
char* AUX2;
int AUX3;
do
{
fgets(a,200,archivo);
for (x=0;x<9;x++)
{
if (AUX=strstr(a,asiento[x].nombre))
{
//----------------------------------------------------------------------------------------------------------------------
if (accion = strstr(a,retira))
{
strcpy(asiento[x].accion,retira);
printf("el jugador %s se retira\n",asiento[x].nombre);
}
//----------------------------------------------------------------------------------------------------------------------
if (accion = strstr (a,apuesta))
{
if (!(accion = strstr(a,ANI)))
{
strcpy (asiento[x].accion,apuesta);
asiento[x].fichas = asiento[x].fichas - asiento[x].apuesta;//RESTA A LA CANTIDAD DE FICHAS DISPONIBLES MENOS LAS QUE APOSTO.
printf("el jugador %s = %s\n",asiento[x].nombre,asiento[x].accion);
AUX2 = strtok(a," ");
AUX2 = strtok(NULL," ");
AUX2 = strtok(NULL," ");
// LAS SGTES LINEAS ASIGNAN LA CANTIDAD APOSTADA AL JUGADOR...
asiento[x].cantapuesta = atoi(AUX2);
printf("%d\n",asiento[x].cantapuesta);
asiento[x].fichas = asiento[x].fichas - asiento[x].cantapuesta;
printf("cantidad apostada por %s es = %d\n",asiento[x].nombre,asiento[x].cantapuesta);
}
}
//-----------------------------------------------------------------------------------------------------------------------
if (accion = strstr (a,pasa))
{
strcpy (asiento[x].accion,pasa); //UN JUGADOR SOLO PUEDE PASAR SI NADIE HA HECHO UN APUESTA O SI ESTA EN POSICION DE CIEGA
printf("el jugador %s = %s\n", asiento[x].nombre,asiento[x].accion);
}
//-----------------------------------------------------------------------------------------------------------------------
if (accion = strstr (a,ausente))
{
strcpy (asiento[x].accion,ausente);
//asiento[x].estado = asiento[x].accion;
printf("el jugador %s = %s\n",asiento[x].nombre,asiento[x].accion);
}
//-----------------------------------------------------------------------------------------------------------------------
if (accion = strstr(a,sube))
{
strcpy (asiento[x].estado,sube);// ASIGNA A LA VARIABLA ACCION DEL JUGADOR EL VALOR SUBE..
printf("el jugador %s= %s\n",asiento[x].nombre,asiento[x].estado);
AUX2= strtok(a," ");
AUX2= strtok(NULL," ");
AUX2= strtok(NULL," ");
asiento[x].cantsube = atoi(AUX2);
printf("el jugador %s sube %d \n",asiento[x].nombre,asiento[x].cantsube);
AUX2=strtok(NULL," ");
AUX2=strtok(NULL," ");
asiento[x].fichas = asiento[x].fichas - atoi(AUX2);;
printf("cantidad de fichas del jugador %s son %d\n",asiento[x].nombre,asiento[x].fichas);
}
//-----------------------------------------------------------------------------------------------------------------------
if (accion = strstr(a,ANI))
{
strcpy (asiento[x].estado,ANI);
printf("el ganador es %s = %s\n",asiento[x].nombre,asiento[x].estado);
asiento[x].fichas = asiento[x].fichas + asiento[x].cantsube;
printf("se devuelven %d fichas al jugador\n",asiento[x].cantsube);
}
//-----------------------------------------------------------------------------------------------------------------------
if (accion = strstr(a,Tagotado))
{
strcpy (asiento[x].estado,Tagotado);
printf("El jugador %s ha agatado su tiempo\n",asiento[x].nombre);
}
//-----------------------------------------------------------------------------------------------------------------------
if (accion = strstr(a,iguala))
{
if (!(accion = strstr(a,ANI)))
{
strcpy(asiento[x].accion,iguala);
AUX2 = strtok(a," ");
AUX2 = strtok(NULL, " ");
AUX2 = strtok(NULL, " ");
asiento[x].cantigualada = atoi(AUX2);
asiento[x].fichas = asiento[x].fichas - asiento[x].cantigualada;
printf("iguala %d\n",asiento[x].cantigualada);
}
}
//-----------------------------------------------------------------------------------------------------------------------
if (accion = strstr(a,recaudo))
{
AUX2=strtok(a," ");
AUX2=strtok(NULL," ");
AUX2=strtok(NULL," ");
printf("el jugador %s ha ganado %d en esta mano\n",asiento[x].nombre,atoi(AUX2));
asiento[x].fichas = asiento[x].fichas + atoi(AUX2);
printf("cantidad de fichas es igual a %d\n",asiento[x].fichas);
}
//-----------------------------------------------------------------------------------------------------------------------
}
}
}while (!(AUX=strstr(a,resumen)));
fgets(a,200,archivo);
printf("%s\n",a);
do
{
char resuflop[40]= "antes del Flop";
char resurecaudo[20]= "recaud";
char resuflop1[40]= "se retir en el flop";
char resudesc[30]= "se retir sin mostrar";
char resuperdio[20]= "mostr y perdi";
char resugano[20]= "mostr y gan";
char resuriver[30]= "se retir en el river";
char resuturn[20]= "se retir en el turn";
char resuboton[20]= "Bote total";
if (AUX=strstr(a,resuboton))
{
printf("la linea se encontro\n");
printf("%s\n",a);
}
if (AUX=strstr(a,resuflop))
{
printf("la linea se encontro");
printf("%s\n",a);
}
if (AUX=strstr(a,resurecaudo))
{
printf("la linea se encontro");
printf("%s\n",a);
}
if (AUX=strstr(a,resuflop1))
{
printf("la linea se encontro");
printf("%s\n",a);
}
if (AUX=strstr(a,resudesc))
{
printf("la linea se encontro");
printf("%s\n,",a);
}
if (AUX=strstr(a,resuperdio))
{
printf("la linea se encontro");
printf("%s\n",a);
}
if (AUX=strstr(a,resugano))
{
printf("la linea se encontro");
printf("%s\n",a);
}
if (AUX=strstr(a,resuriver))
{
printf("la linea se encontro");
printf("%s\n",a);
}
if (AUX=strstr(a,resuturn))
{
printf("la linea se encontro");
printf("%s\n",a);
}
if (AUX=strstr(a,resuboton))
{
printf("la linea se encontro");
printf("%s\n",a);
}
fgets(a,200,archivo);
}while(!(AUX =strstr(a,"Juego")));
printf("%s\n",a);
}
puede que sea un poco confuso y que alla variables que no son usadas (por ahora), tambien tengo que remplazar los IF por swich -case , pero es un codigo preliminar....espero puedan ayudarme.
gracias...
Juego de PokerStars #64023139396: Torneo n.º 409392077, 0.10 $+0.01 $ USD Hold'em No Limit - Nivel I (10/20) - 01-07-2011 19:00:01 ET
Mesa '409392077 118' 9-max Asiento n.º 1 es el botón
Asiento 1: gustimoron (1500 en fichas)
Asiento 2: jaherso911 (1500 en fichas) está ausente
Asiento 3: krlos288 (1500 en fichas)
Asiento 4: marphels (1500 en fichas)
Asiento 5: FakerPint186 (1500 en fichas)
Asiento 6: DANNY_BroDD (1500 en fichas)
Asiento 7: indiolatinus (1500 en fichas)
Asiento 8: RESPED (1500 en fichas)
Asiento 9: Q´Macanuda (1500 en fichas)
jaherso911: pone ciega pequeña 10
krlos288: pone ciega grande 20
*** CARTAS PROPIAS ***
Repartidas a indiolatinus [Qh 5h]
marphels: se retira
FakerPint186: sube 1480 a 1500 y está all-in
DANNY_BroDD: se retira
indiolatinus: se retira
RESPED: se retira
Q´Macanuda: se retira
gustimoron ha agotado su tiempo
gustimoron: se retira
jaherso911: se retira
gustimoron está ausente
krlos288: se retira
La apuesta no igualada (1480) ha sido devuelta a FakerPint186
FakerPint186 recaudó 50 de bote
*** RESUMEN ***
Bote total 50 | Comisión 0
Asiento 1: gustimoron (botón) se retiró antes del Flop (no apostó)
Asiento 2: jaherso911 (ciega pequeña) se retiró antes del Flop
Asiento 3: krlos288 (ciega grande) se retiró antes del Flop
Asiento 4: marphels se retiró antes del Flop (no apostó)
Asiento 5: FakerPint186 recaudó (50)
Asiento 6: DANNY_BroDD se retiró antes del Flop (no apostó)
Asiento 7: indiolatinus se retiró antes del Flop (no apostó)
Asiento 8: RESPED se retiró antes del Flop (no apostó)
Asiento 9: Q´Macanuda se retiró antes del Flop (no apostó)
Esto vendria a ser solo la descripcion de una mano , luego el programa va agregando abajo de cada mano la descripcion de la siguiente mano , mi problema puntual es que logro que mi codigo leea una mano completa , pero al momento de poner un bucle para que lea las demas manos..este ya no responde y devuelve codigo de lineas del archivo totalmente aleatorias...quisiera que me ayudaran a resolver este problema...y si no me explique bien...solo pregunten...es importante para mi resolver este problema. les dejo el codigo que tengo hasta ahora...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main ()
{
struct jugadores{
char nombre[20];
int fichas;
char posicion[1];
char estado[20];
char m;
char accion [20];
int apuesta;
int cantapuesta;
int cantsube;
int cantigualada;
int manosganadas;
int Cchica;
int Cgrande;
char cartasmias[10];
}asiento[10];
//DECLARACION DE LA ESTRUCTURA
FILE* archivo;
char a[200];
char buscar[20];
char* c;
char d;
char* AUX;
char h=0;
char l=0;
int t=0;
char q=0;
char* AUX1;
char r=0;
if (!(archivo = fopen ("C:\\archivo1.txt","r"))) // VERIFICA SI SE PUDO ABRIR EL ARCHIVO EN CUESTION
{
printf ("No se pudo abrir archivo");
}
else
{
do
{
fgets(a,200,archivo);
if (AUX = strstr(a,"Asiento"))
{
if (!(AUX = strstr (a,"Mesa" "bot" "se" "antes" "recaudo" )))
{
AUX = strtok(a, " " );
// printf ("%s\n",a);
AUX = strtok(NULL, " " ":");
// printf ("%s\n", AUX);
strcpy (asiento[l].posicion,AUX);
AUX = strtok(NULL, " ");
// printf ("%s\n",AUX);
strcpy(asiento[l].nombre,AUX);
// printf("%s\n",asiento1.nombre);
AUX = strtok(NULL, " " "(");
asiento[l].fichas = atoi(AUX);
// printf("%d\n", asiento1.fichas);
printf("\n");
printf("%s\t",asiento[l].nombre);
printf("%d\t", asiento[l].fichas);
printf("%s\n",asiento[l].posicion);
l++;
}
}
} while (!(AUX = strstr (a,"pone ciega peque")));
}
do
{
if (AUX = strstr(a,"pone ciega peque"))
{
for (q=0;q<9;q++)
{
if (AUX = strstr(a,asiento[q].nombre))
{
AUX = strtok(a," ");
AUX = strtok(NULL, " " ":");
AUX = strtok(NULL," ");
AUX = strtok(NULL," ");
AUX = strtok(NULL," ");
// printf("%s\n",AUX);
asiento[q].Cchica = atoi(AUX);
printf(" el jugador %s pone ciega chica %d\n",asiento[q].nombre,asiento[q].Cchica);
}
}
}
fgets(a,200,archivo);
if (AUX = strstr(a,"pone ciega grande"))
{
for (q=0;q<9;q++)
{
if (AUX = strstr(a,asiento[q].nombre))
{
AUX = strtok(a," ");
AUX = strtok(NULL, " " ":");
AUX = strtok(NULL," ");
AUX = strtok(NULL," ");
AUX = strtok(NULL," ");
// printf("%s\n",AUX);
asiento[q].Cgrande = atoi(AUX);
printf(" el jugador %s pone ciega grande %d\n",asiento[q].nombre,asiento[q].Cgrande);
}
}
}
} while (!(AUX = strstr (a,"*** CARTAS PROPIAS ***")));
//---------------------------------------------------ACA EMPIESA CARTAS PROPIAS---------------------------------------------
//---------------------------------------------------CARTAS PROPIAS---------------------------------------------------------------
fgets(a,200,archivo);
for (q=0;q<9;q++)
{
if (AUX1 = strstr(a,asiento[q].nombre))
{
AUX = strtok(a," ");
AUX = strtok(NULL," ");
AUX = strtok(NULL," ");
AUX = strtok(NULL,"[" "]");
strcpy (asiento[q].cartasmias,AUX);
printf("repartidas a %s = %s\n",asiento[q].nombre, asiento[q].cartasmias);
}
}
//-------------------------------------------------------------------------------------------------------------------------------------
//------------------------------------------------------COMIENZO DE LECTURA DE ACCIONES DE JUGADORES---------------------------------
char* accion;
char retira[20] = "retira";
char apuesta[20] = "apuesta";
char pasa[20] = "pasa";
char ausente[20] = "ausente";
char sube[20] = "sube";
char ANI[30] = "apuesta no igualada";
char Tagotado[30] ="ha agotado su tiempo";
char iguala[10] = "iguala";
char recaudo[20]= "recaud";
char cartaspropias[30]= "*** CARTAS PROPIAS ***";
char resumen[20]= "*** RESUMEN ***";
char flop[20] = "*** FLOP ***";
char turn[20] = "*** TURN ***";
char river[20] = "*** RIVER ***";
char JeJ= 9;
char x = 0;
char m;
char* AUX2;
int AUX3;
do
{
fgets(a,200,archivo);
for (x=0;x<9;x++)
{
if (AUX=strstr(a,asiento[x].nombre))
{
//----------------------------------------------------------------------------------------------------------------------
if (accion = strstr(a,retira))
{
strcpy(asiento[x].accion,retira);
printf("el jugador %s se retira\n",asiento[x].nombre);
}
//----------------------------------------------------------------------------------------------------------------------
if (accion = strstr (a,apuesta))
{
if (!(accion = strstr(a,ANI)))
{
strcpy (asiento[x].accion,apuesta);
asiento[x].fichas = asiento[x].fichas - asiento[x].apuesta;//RESTA A LA CANTIDAD DE FICHAS DISPONIBLES MENOS LAS QUE APOSTO.
printf("el jugador %s = %s\n",asiento[x].nombre,asiento[x].accion);
AUX2 = strtok(a," ");
AUX2 = strtok(NULL," ");
AUX2 = strtok(NULL," ");
// LAS SGTES LINEAS ASIGNAN LA CANTIDAD APOSTADA AL JUGADOR...
asiento[x].cantapuesta = atoi(AUX2);
printf("%d\n",asiento[x].cantapuesta);
asiento[x].fichas = asiento[x].fichas - asiento[x].cantapuesta;
printf("cantidad apostada por %s es = %d\n",asiento[x].nombre,asiento[x].cantapuesta);
}
}
//-----------------------------------------------------------------------------------------------------------------------
if (accion = strstr (a,pasa))
{
strcpy (asiento[x].accion,pasa); //UN JUGADOR SOLO PUEDE PASAR SI NADIE HA HECHO UN APUESTA O SI ESTA EN POSICION DE CIEGA
printf("el jugador %s = %s\n", asiento[x].nombre,asiento[x].accion);
}
//-----------------------------------------------------------------------------------------------------------------------
if (accion = strstr (a,ausente))
{
strcpy (asiento[x].accion,ausente);
//asiento[x].estado = asiento[x].accion;
printf("el jugador %s = %s\n",asiento[x].nombre,asiento[x].accion);
}
//-----------------------------------------------------------------------------------------------------------------------
if (accion = strstr(a,sube))
{
strcpy (asiento[x].estado,sube);// ASIGNA A LA VARIABLA ACCION DEL JUGADOR EL VALOR SUBE..
printf("el jugador %s= %s\n",asiento[x].nombre,asiento[x].estado);
AUX2= strtok(a," ");
AUX2= strtok(NULL," ");
AUX2= strtok(NULL," ");
asiento[x].cantsube = atoi(AUX2);
printf("el jugador %s sube %d \n",asiento[x].nombre,asiento[x].cantsube);
AUX2=strtok(NULL," ");
AUX2=strtok(NULL," ");
asiento[x].fichas = asiento[x].fichas - atoi(AUX2);;
printf("cantidad de fichas del jugador %s son %d\n",asiento[x].nombre,asiento[x].fichas);
}
//-----------------------------------------------------------------------------------------------------------------------
if (accion = strstr(a,ANI))
{
strcpy (asiento[x].estado,ANI);
printf("el ganador es %s = %s\n",asiento[x].nombre,asiento[x].estado);
asiento[x].fichas = asiento[x].fichas + asiento[x].cantsube;
printf("se devuelven %d fichas al jugador\n",asiento[x].cantsube);
}
//-----------------------------------------------------------------------------------------------------------------------
if (accion = strstr(a,Tagotado))
{
strcpy (asiento[x].estado,Tagotado);
printf("El jugador %s ha agatado su tiempo\n",asiento[x].nombre);
}
//-----------------------------------------------------------------------------------------------------------------------
if (accion = strstr(a,iguala))
{
if (!(accion = strstr(a,ANI)))
{
strcpy(asiento[x].accion,iguala);
AUX2 = strtok(a," ");
AUX2 = strtok(NULL, " ");
AUX2 = strtok(NULL, " ");
asiento[x].cantigualada = atoi(AUX2);
asiento[x].fichas = asiento[x].fichas - asiento[x].cantigualada;
printf("iguala %d\n",asiento[x].cantigualada);
}
}
//-----------------------------------------------------------------------------------------------------------------------
if (accion = strstr(a,recaudo))
{
AUX2=strtok(a," ");
AUX2=strtok(NULL," ");
AUX2=strtok(NULL," ");
printf("el jugador %s ha ganado %d en esta mano\n",asiento[x].nombre,atoi(AUX2));
asiento[x].fichas = asiento[x].fichas + atoi(AUX2);
printf("cantidad de fichas es igual a %d\n",asiento[x].fichas);
}
//-----------------------------------------------------------------------------------------------------------------------
}
}
}while (!(AUX=strstr(a,resumen)));
fgets(a,200,archivo);
printf("%s\n",a);
do
{
char resuflop[40]= "antes del Flop";
char resurecaudo[20]= "recaud";
char resuflop1[40]= "se retir en el flop";
char resudesc[30]= "se retir sin mostrar";
char resuperdio[20]= "mostr y perdi";
char resugano[20]= "mostr y gan";
char resuriver[30]= "se retir en el river";
char resuturn[20]= "se retir en el turn";
char resuboton[20]= "Bote total";
if (AUX=strstr(a,resuboton))
{
printf("la linea se encontro\n");
printf("%s\n",a);
}
if (AUX=strstr(a,resuflop))
{
printf("la linea se encontro");
printf("%s\n",a);
}
if (AUX=strstr(a,resurecaudo))
{
printf("la linea se encontro");
printf("%s\n",a);
}
if (AUX=strstr(a,resuflop1))
{
printf("la linea se encontro");
printf("%s\n",a);
}
if (AUX=strstr(a,resudesc))
{
printf("la linea se encontro");
printf("%s\n,",a);
}
if (AUX=strstr(a,resuperdio))
{
printf("la linea se encontro");
printf("%s\n",a);
}
if (AUX=strstr(a,resugano))
{
printf("la linea se encontro");
printf("%s\n",a);
}
if (AUX=strstr(a,resuriver))
{
printf("la linea se encontro");
printf("%s\n",a);
}
if (AUX=strstr(a,resuturn))
{
printf("la linea se encontro");
printf("%s\n",a);
}
if (AUX=strstr(a,resuboton))
{
printf("la linea se encontro");
printf("%s\n",a);
}
fgets(a,200,archivo);
}while(!(AUX =strstr(a,"Juego")));
printf("%s\n",a);
}
puede que sea un poco confuso y que alla variables que no son usadas (por ahora), tambien tengo que remplazar los IF por swich -case , pero es un codigo preliminar....espero puedan ayudarme.
gracias...
Valora esta pregunta


0