Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda programita de c++

Estas en el tema de Ayuda programita de c++ en el foro de C/C++ en Foros del Web. Hola gente mira me han encargado este programita de c++ ok: Se trata de confeccionar un programa que haga una simulación del famoso concurso La ...
  #1 (permalink)  
Antiguo 03/06/2009, 05:19
 
Fecha de Ingreso: junio-2009
Mensajes: 11
Antigüedad: 14 años, 11 meses
Puntos: 0
Ayuda programita de c++

Hola gente mira me han encargado este programita de c++ ok:
Se trata de confeccionar un programa que haga una simulación del famoso concurso La ruleta de la fortuna.

Estas son las acciones que deberá hacer el programa, mediante un menú:

1. Introducir nueva palabra
2. Jugar
3. Mostrar el jugador con mayor numero de aciertos
4. Mostrar el ranking de concursantes por número de partidas ganadas.
5. Salir

En el programa, no se podrán utilizar variables globales, y las funciones deberán usar el paso por referencia, cuando sea necesario. El programa, a parte de las variables que considere el programador necesarias para que funcione correctamente, deberá tener:

Una variable, de 15 letras a lo sumo, cuyo valor inicial será Ahorcado, y que es la palabra que deberán acertar los concursantes.

Un vector de 27 posiciones, que contendrá cada una de las letras del alfabeto, en cada una de sus posiciones, y de esta forma saber si una letra ya ha sido utilizado por un concursante (para ello basta que en el momento que se escoge una letra, esta debe desaparecer del vector).

Una estructura, que contenga el nombre de usuario (15 letras como máximo), el número de aciertos, el número de errores y el número de partidas ganadas que ha realizado un concursante.

El mecanismo del juego ya se sabe, hay 3 concursantes, que por turno intentan adivinar una palabra. En cada turno un usuario va eligiendo letras del alfabeto, si la letra se halla en la palabra, ésta se muestra a los concursantes, en su posición correcta, si falla pasa el turno a otro concursante. El juego finaliza bien cuando un concursante acierta la última letra de la palabra, ya que eso significa que ha ganado o bien cuando se pulsa la tecla ESC (que preguntará a los concursantes si desean salir del juego, y esto implicará regresar al menú inicial). Cada acierto o error quedará registrado en el concursante en cuestión, así como el número de partidas ganadas por dicho concursante.

A los usuarios se les puede mostrar en todo momento las letras que todavía no se han utilizado.

El programa además de la opción 2 jugar (explicada como mecnismo de juego), deberá tener, la opción 1, con la que se podrá cambiar la palabra a adivinar por defecto, la opción 3 con la que se deberá mostrar toda la información del jugador con más aciertos, la opción 4, con la que se deberá mostrar toda la información de los 3 concursantes, ordenados por el numero de partidas ganadas, y la opción 5 con la que se acabará el programa.




Esto es lo que tengo hecho , me peta abajo cuando hace el cambio de jugadores , a ver si alguien me puede ayudar y decirme lo que falta solo de la funcion jugar , el resto ya me encargo yo . gracias:

#include <stdio.h>
#include <conio.h>
#include <process.h>
#include <locale.h>
#include <string.h>

typedef struct
{
char Nombre[15];
int Aciertos;
int error;
int Victorias;

}tipoDatJug;

char resp;

tipoDatJug jugadores[3];

void Jugadores(tipoDatJug*);
void Palabra();
void Jugar(tipoDatJug*);
void Aciertos();
void Ranking();

/////////////////////////MENU//////////////////////////
void main()
{
setlocale (LC_ALL,"");
Jugadores(jugadores);
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':
Palabra();
break;

case '2':
Jugar(jugadores);
break;

case '3':

break;

case '4':

break;
}
system ("cls");

}while(resp!='5');
}

///////////////////////////////////////////////////

void Jugadores(tipoDatJug* pJug)// INTRODUCIR EL NOMBRE DE LOS 3 CONCURSANTES
{
int i;
for (i=0;i<3;i++)
{
printf ("\n\n Introduce el nombre de un concursante:");
gets (pJug[i].Nombre);
}
}

//////////////////////////////////////////

void Palabra()//INTRODUCIR PALABRA NUEVA
{
char palabra [15];
printf ("Introduce una palabra (ha de ser la palabra 'ahorcado ' ):");
gets (palabra);
}

////////////////////////////////////////////////////

void Jugar(tipoDatJug* pJug) //JUGAR
{
int i;
int j;
int x;
int acertar;
int palabra_Acertada;
int fallo;
int Fin;
char respuesta ;
char palabra_1[15]="Ahorcado";
char palabra_2[15]="--------";
char Abecedario [54]="A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z";
Fin =0;
resp=" ";
palabra_Acertada=0;
i=0;
Abecedario[54]=0;
do
{
do
{
acertar=0;
system("cls");
printf("% s ",Abecedario[54]);
printf ("% s ", palabra_2);
printf ("% s ", pJug[i].Nombre);
fflush(stdin);
printf("Introduce una letra del abecedario:");
scanf ("%c",& resp);
for(j=0;j<15;j++)
{
if (resp==palabra_1[j])
{
acertar=1;
palabra_2[j]=palabra_1[j];
}
}
for (x=0;x<54;x++)
{
if (resp==Abecedario[x])
{
Abecedario[x]=32;
}
}
Fin=1;
for(j=0;j<15;j++)
{
if (palabra_2[j]!=palabra_1[j])
{
Fin=0;
}
}
}while(acertar==1 && Fin==0);

if (Fin==1)
{
palabra_Acertada=1;
printf("\n\n Enhorabuena , has acertado la palabra");
getch();
}else
{
i++;
}
if(i==3)
{
i=0;
}
}while(palabra_Acertada==0);
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:24.