10/06/2009, 09:37
|
| | Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 15 años, 7 meses Puntos: 0 | |
Respuesta: AYUDA ahorcado en c++ esto es lo que tengo , la funcion void palabra es la que tengo medio hecha y no me tira haber si alguien me lo puede "hacer " o ayudar.
gracias:
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <string.h>
#include <process.h>
typedef struct
{
char Nombre[15];
int Aciertos;
int Error;
int Victorias;
}
DatoJugador;
char resp;
DatoJugador jugadores[3];
void Jugadores(DatoJugador*);
void Palabra(char *, char *);
void Jugar(DatoJugador*);
void Aciertos(DatoJugador*);
void Ranking(DatoJugador *);
/////////////////////////MENU//////////////////////////
void main ()
{
setlocale(LC_ALL, " Spanish");
Jugadores(jugadores);
char palabra_1 [15];
char palabra_2[15];
fflush (stdin);
system ("cls");
do
{
printf ("\n\n Elije una opcion :");
printf ("\n\n 1:Introduce una palabra ");
printf ("\n\n 2: Jugar");
printf ("\n\n 3: Jugador con mas aciertos ");
printf ("\n\n 4: Ranking de jugadores\n");
printf ("\n\n 5: Salir");
resp=getch();
system ("cls");
//fflush (stdin);
switch (resp)
{
case '1':
system("cls");
Palabra(palabra_1,palabra_2);
break;
case '2':
system("cls");
Jugar(jugadores);
break;
case '3':
system("cls");
Aciertos (jugadores);
break;
case '4':
system("cls");
Ranking (jugadores);
break;
}
system ("cls");
}
while(resp!='5');
}
///////////////////////////////////////////////////
void Jugadores(DatoJugador* Jug)// INTRODUCIR EL NOMBRE DE LOS 3 CONCURSANTES
{
printf ("\n\n Bienvenido al programa de la ruleta:");
printf ("\n\n A continuacion sigue los pasos a realizar:");
int i;
for (i=0;i<3;i++)
{
printf ("\n-----------------------------------------");
printf ("\n\n Introduce el nombre de un concursante:");
gets (Jug[i].Nombre);
}
}
//////////////////////////////////////////
void Palabra(char palabra_1 [15] ,char palabra_2[15])//INTRODUCIR PALABRA NUEVA //ESTA FUNCION NO FUNCIONA
//NO RECOGE LA PALABRA INTRODUCIDA
{
int i;
char palabra [15];
printf ("Introduce una palabra nueva:");
gets(palabra);
for (i=0;i<15;i++)
{
palabra_2[i]=palabra[i];
}
strcpy(palabra_1, palabra_2);
}
////////////////////////////////////////////////////
void Jugar(DatoJugador* Jug) //JUGAR
{
int i;
int z;
int x;
int acertar;
int palabra_Acertada;
int fallo;
int Fin;
char respuesta ;
char palabra_1[15]="Ahorcado";//PASAR A GLOBAL Y PEDIR PALABRA DE 1
char palabra_2[15]="--------";
char Abecedario[110]="A a B b C c D d E e F G g H h I i J j K k L l M m N n Ñ ñ O o P p Q q R r S s T t U u V v W w X x Y y Z z ";
Fin =0;
resp= ' ';
palabra_Acertada=0;
i=0;
Jug[0].Aciertos=0 ;
Jug [0].Error;
Jug[1].Aciertos=0;
Jug[1] .Error;
Jug[2].Aciertos=0;
Jug [2].Error;
do
{
do
{
acertar=0;
system("cls");
printf("\n %s ",Abecedario);
printf ("\n %s ", palabra_2);
printf ("\n %s ", Jug[i].Nombre);
fflush(stdin);
printf("Introduce una letra del abecedario:");
scanf ("%c",& resp);
for(z=0;z<15;z++)
{
if (resp==palabra_1[z])
{
acertar=1;
palabra_2[z]=palabra_1[z];
Jug[i].Aciertos++;
}
}
for (x=0;x<110;x++)
{
if (resp==Abecedario[x])
{
Abecedario[x]=32; // en codigo ANSI es el espacio en blanco
}
}
Fin=1; //cuando es 1 se sigue haciendo el bucle do while
for(z=0;z<15;z++)
{
if (palabra_2[z]!=palabra_1[z])
{
Fin=0;
}
}
}
while(acertar==1 && Fin==0);
if (Fin==1)
{
palabra_Acertada=1;
printf("\n\n Enhorabuena , has acertado la palabra");
Jug[i].Victorias++ ;//quitarlo hoy por el de abajo
Jug [i].Error++;
printf ("\n\n Pulsa una tecla para volver al menu principal :");
getch();
}
else
{
i++;
//Jug [i].Error++;
}
if(i==3)
{
i=0;
}
}while(palabra_Acertada==0);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
//
void Aciertos (DatoJugador* Jug)
// FUNCION ACIERTOS JUGADORES
{
int i;
for (i=0;i<3;i++)
{
printf ("\n\n Estos son los datos de los aciertos de los jugadores:");
printf ("\n----------------------------------------------------------");
printf ("\n %s------> ",Jug[i].Nombre);
printf (" %d \n\n ",Jug[i].Aciertos);
}
getch();
}
/////////////////////////////////////////////////////////////////////////////////////////////
void Ranking (DatoJugador * Jug ) //FUNCION RANKING DE LA PARTIDA
{
printf ("\n\n Esta es la opcion que muestra el Ranking:");
printf ("\n----------------------------------------------");
printf ("\n\n A continuacion te ofreceran el resultado total de aciertos y de errores:");
int i;
for (i=0; i<3; i++)
{
fflush (stdin);
printf ("\n %s ",Jug[i].Nombre);
printf ("\n Numero de Partidas Ganadas (VICTORIAS): %d" , Jug[i].Victorias);
printf ("\n Numero de errores en la partida : %d \n " , Jug [i].Error );
//PERFECTO , ERROR ERA QUITAR ; Y LIMPIABA EL NUMERO
//FALLO: AL PRIMER JUGADOR NO LE COGE LOS ERRORES
}
getch ();
} |