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

ayuda urgente por favor

Estas en el tema de ayuda urgente por favor en el foro de C/C++ en Foros del Web. tengo k acer un programa que simule la loteria primitiva, el usuario introduce unos numeros, y les tengo k kontrastar con los numeros k genera ...
  #1 (permalink)  
Antiguo 24/03/2008, 11:29
 
Fecha de Ingreso: marzo-2008
Mensajes: 1
Antigüedad: 16 años, 1 mes
Puntos: 0
ayuda urgente por favor

tengo k acer un programa que simule la loteria primitiva, el usuario introduce unos numeros, y les tengo k kontrastar con los numeros k genera aleatoriamente la maquina, pero me an surgido 2 problemas k no soi capaz de arreglar, el 1º que tras que el usuario introduzca los numeros, el programa se para y no continua con la otra parte, y el 2º no se como poder contabilizar los aciertos que ha tenido el usuario. gracias de antemano. 1 saludo


#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define L 0
void introducir(int loteria[]);
void comparar(int loteria[]);

main(){

int loteria[8];

introducir(loteria);
comparar(loteria);

}

void introducir (int loteria[]){
int i;
for(i=0;i<=7;i++){
printf("\nIntr. el numero de loteria, y en ultimo lugar el reintegro %d: ",i);
scanf("%d",&loteria[i]);

}
return EXIT_SUCCESS;
}
void comparar(int loteria[]){
int n,num,r;

srand(time(NULL));
for(num=0; num<=6; num++)
{

n= 1+(rand() % 49);
scanf("%d",&n);

printf(" %d",n);

if(loteria[num]==n)
printf("Has acertado *L+1* numeros%d: ",num);
}

for(num=6;num<=7;num++);
{
r = rand() % 9;
scanf("%d",&r);
printf("Reintegro:%d",r);
if (loteria[7]==r)
printf("Has acertado el reintegro, felicidades%d:",num);
}
}
  #2 (permalink)  
Antiguo 25/03/2008, 10:57
Avatar de Mephisto  
Fecha de Ingreso: enero-2006
Ubicación: Mexico DF
Mensajes: 184
Antigüedad: 18 años, 4 meses
Puntos: 3
Re: ayuda urgente por favor

Código:
void introducir (int loteria[]){
int i;
for(i=0;i<=7;i++){
printf("\nIntr. el numero de loteria, y en ultimo lugar el reintegro %d: ",i);
scanf("%d",&loteria[i]);
return EXIT_SUCCESS;
}

}
En esta parte de tu codigo no tienes que colocar un return ya que la funcion es de tipo void, tambien al colocar un EXIT_SUCCESS te provoca que se termine la ejecución por lo que se detiene tu prog

Código:
n= 1+(rand() % 49);
scanf("%d",&n);
En la variable n ya tienes cargado el numero, no tienes que solicitarlo otra vez con un scanf ya que te va a borrar el numero aleatorio que habias generado.

Por otro lado, primero genera los numeros que simularan los que salieron en la loteria y despues ya los comparas con los que haya ingresado el usuario, ya que los estas generando en cada ciclo y eso seria una trampa al evaluar ya que sería mas dificil que alguien ganara jejejejeje...

Tu funcion para evaluar pudiera quedarte así

1. Defines un array para almacenar los numeros aleatorios

2. En un ciclo cargas los numeros generados aleatoriamente

3. En otro ciclo realizas la comparación de cada numero ingresado por el usuario con los que generaste aleatoriamente.
__________________
Saludos...

Todos somos sabios, solo que en diferentes disciplinas...
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 02:41.