19/01/2009, 15:44
|
| | | Fecha de Ingreso: diciembre-2005 Ubicación: Tei Chua - China
Mensajes: 214
Antigüedad: 19 años, 1 mes Puntos: 4 | |
Problema con un codigo que no me va. Bueno gente, buenas a todos. Estoy armando un ahorcado para entregar mañana en clases y estube toda la tarde dandole vueltas a un error que tengo con respecto a menu y a un switch y no logro ver donde esta. Mi pedido es que si algun alma caritativa me puede mirar un poco el codigo y decirme si hay algo mal.
Código:
#include<stdio.h>
#include<iostream.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
#include<ctype.h>
int premio (int a);
int menu(void);
int main() {
char palabra[15],rep[100],temporal[100];
char pal;
int longitud=0,i,j=0,inicio=0,acertado=0,temp=0,oportunidad=8, min;
int repetido=0,gano=0, opcion;
do
{
opcion = menu(); //llamada a la funcion menu
switch(opcion){
case 1:
printf("Palabra que tiene que adivinar: ");
gets(palabra);
system("cls");
rep[0] = ' ';
rep[1] = '\0';
do {
system("cls");
temp=0;
for(i=0;palabra[i]!='\0';i++)
{
if((islower(palabra[i]))==0)
{
min++;
}
}
if(inicio == 0) {
for(i=0;i<strlen(palabra);i++) {
if(palabra[i] == ' ') {
temporal[i] = ' ';
longitud++;
}
else {
temporal[i] = '_';
longitud++;
}
}
}
inicio = 1;
temporal[longitud] = '\0';
for(i=0;i<strlen(rep);i++) {
if(rep[i] == pal) {
repetido = 1;
}
else {
repetido = 0;
}
}
if(repetido == 0) {
for(i=0;i<strlen(palabra);i++) {
if(palabra[i] == pal) {
temporal[i] = pal;
acertado++;
temp=1;
}
}
}
if(repetido == 0) {
if(temp == 0) {
oportunidad = oportunidad - 1;
}
}
else {
printf("Esta letra esta repetida.");
printf("\n\n");
}
printf("\n");
for(i=0;i<strlen(temporal);i++) {
printf(" %c ",temporal[i]);
}
printf("\n");
if(strcmp(palabra,temporal) == 0) {
gano = 1;
}
printf("\n");
printf("Aciertos: %d",acertado);
printf("\n");
printf("Te quedan %d oportunidades.",oportunidad);
printf("\n");
rep[j] = pal;
j++;
printf("Letra que este en la palabra::");
scanf("\n%c",&pal);
}
while(oportunidad != 0);
premio(gano);
break;
case 2:
printf("\n\nGracias por jugar. \n\n\n");
system("pause");
system("cls");
}
system("cls");
}
while(opcion==1);
}
int premio (int a)
{
if(a==1) {
printf("\n\n");
printf("Felicitaciones, esa era la palabra\n");
system("pause");
}
else {
printf("\n\n");
printf("Perdiste, otra ves sera...\n");
system("pause");
}
printf("\n\n");
}
int menu(void)
{ int opcion;
printf("\t | Juego del Ahorcado |\n\t\n\t1. Jugar\n\n\t2. Salir\n\n\t Elegir la opci¢n: ");
scanf("%d",&opcion);
return(opcion);
}
Lo que no me deja poner es la palabra a adiviar, una ves que tengo el menu, ingreso al switch pero no me respeta la peticion de la palabra. |