Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: x I HACK YOU x en 29 Mayo 2015, 20:33 PM

Título: Acierta el numero PROBLEMA
Publicado por: x I HACK YOU x en 29 Mayo 2015, 20:33 PM
Hola me gustaría que alguien me corrigiera el error que tengo en este pequeño programa, acabo de empezar y voy un poco perdido.
El error se encuentra en la linea rand(), o eso es lo que marca mi entorno de trabajo.
Código (cpp) [Seleccionar]
#include<stdio.h>
#include<stdlib.h>
int main (){
int x, y , numero1, numero2 ;

printf("Entre cuantos numeros quieres hacer el sorteo? (1 - 10) \n");
printf("Introduce el primer numero. \n");
scanf("%i", &numero1);
printf("Introduce el segundo numero. \n");
scanf("%i", &numero2);

srand(time(0));
x = rand() % (%numero2 + %numero1);

printf ("Cual es el valor de x ?. \n");
scanf ("%i.", &y);

if(y == x){
printf("Felicidades !! Has acertado.\n\n");

}
else {
printf("Lo siento, te has equivocado. \n\n");
printf("El valor de x era: %i.\n", x);
printf("Otra vez sera... \n");
}

system ("pause");
return 0;

   
Gracias
x I HACK YOU x


Mod: Los códigos deben ir en etiquetas GeSHi
Título: Re: Acierta el numero PROBLEMA
Publicado por: engel lex en 29 Mayo 2015, 21:08 PM
primero te falta time.h, segundo

Código (cpp) [Seleccionar]
x = rand() % (%numero2 + %numero1);

para que los % antes  de los numeros? :s ese es el error

Código (cpp) [Seleccionar]
x = rand() % (numero2 + numero1);
Título: Re: Acierta el numero PROBLEMA
Publicado por: 0xFer en 30 Mayo 2015, 00:37 AM
BIevenido al foro

Un duda, tratas de generar números aleatorios entre numero1 y numero2 como un intervalo?

Un saludo
Título: Re: Acierta el numero PROBLEMA
Publicado por: x I HACK YOU x en 30 Mayo 2015, 08:33 AM
Exacto esa es mi intención
Título: Re: Acierta el numero PROBLEMA
Publicado por: 0xFer en 30 Mayo 2015, 19:41 PM
Entonces:

Código (cpp) [Seleccionar]

x = numero1 + (rand() % (numero2 - numero1 + 1));  


Mira si funciona así.

Un saludo
Título: Re: Acierta el numero PROBLEMA
Publicado por: x I HACK YOU x en 31 Mayo 2015, 10:14 AM
Muchas gracias, ahora si que funciona.
Lop que no entiendo es porque no se ponen las variables numero1 i numero2 en el formato "normal". (%i, numero1)
Título: Re: Acierta el numero PROBLEMA
Publicado por: 0xFer en 1 Junio 2015, 00:17 AM
con (%i, numero1) creo que te refieres a cuando uno quiere imprimir una variable, en realidad el % en ese caso es para especificar que tipo de variable es la que vas a imprimir.



printf("%i", xxx ); // imprime un entero

printf("%c", xxx );//imprime un char

http://www.9wy.net/onlinebook/CPrimerPlus5/ch04lev1sec4.html

Esto es así en varios lenguajes.

También sirve como operador de modulo,que devuelve el resto de la división entera del primer operando entre el segundo.