elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Acierta el numero PROBLEMA
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Acierta el numero PROBLEMA  (Leído 2,796 veces)
x I HACK YOU x

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Acierta el numero PROBLEMA
« 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
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. int main (){
  4. int x, y , numero1, numero2 ;
  5.  
  6. printf("Entre cuantos numeros quieres hacer el sorteo? (1 - 10) \n");
  7. printf("Introduce el primer numero. \n");
  8. scanf("%i", &numero1);
  9. printf("Introduce el segundo numero. \n");
  10. scanf("%i", &numero2);
  11.  
  12. srand(time(0));
  13. x = rand() % (%numero2 + %numero1);
  14.  
  15. printf ("Cual es el valor de x ?. \n");
  16. scanf ("%i.", &y);
  17.  
  18. if(y == x){
  19. printf("Felicidades !! Has acertado.\n\n");
  20.  
  21. }
  22. else {
  23. printf("Lo siento, te has equivocado. \n\n");
  24. printf("El valor de x era: %i.\n", x);
  25. printf("Otra vez sera... \n");
  26. }
  27.  
  28. system ("pause");
  29. return 0;
   
Gracias
x I HACK YOU x


Mod: Los códigos deben ir en etiquetas GeSHi


« Última modificación: 29 Mayo 2015, 21:02 pm por engel lex » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Acierta el numero PROBLEMA
« Respuesta #1 en: 29 Mayo 2015, 21:08 pm »

primero te falta time.h, segundo

Código
  1. x = rand() % (%numero2 + %numero1);

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

Código
  1. x = rand() % (numero2 + numero1);


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Acierta el numero PROBLEMA
« Respuesta #2 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
« Última modificación: 30 Mayo 2015, 00:44 am por 0xFer » En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
x I HACK YOU x

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Acierta el numero PROBLEMA
« Respuesta #3 en: 30 Mayo 2015, 08:33 am »

Exacto esa es mi intención
En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Acierta el numero PROBLEMA
« Respuesta #4 en: 30 Mayo 2015, 19:41 pm »

Entonces:

Código
  1. x = numero1 + (rand() % (numero2 - numero1 + 1));  

Mira si funciona así.

Un saludo
« Última modificación: 30 Mayo 2015, 19:58 pm por 0xFer » En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
x I HACK YOU x

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Acierta el numero PROBLEMA
« Respuesta #5 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)
En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Acierta el numero PROBLEMA
« Respuesta #6 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.


 
Código
  1. printf("%i", xxx ); // imprime un entero
  2.  
  3. printf("%c", xxx );//imprime un char
  4.  
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.
« Última modificación: 1 Junio 2015, 02:12 am por 0xFer » En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python] Acierta el numero secreto
Scripting
Erik# 0 2,672 Último mensaje 11 Febrero 2009, 20:56 pm
por Erik#
Problema de digitos de un número.
Ejercicios
j retirado 2 8,371 Último mensaje 21 Agosto 2009, 02:33 am
por Caballero Maldito
PROBLEMA CON NUMERO IMAGINARIO
Programación Visual Basic
Sergioemus 1 2,290 Último mensaje 22 Noviembre 2011, 08:13 am
por BlackZeroX
¿Cómo acierta tanto Spotify en su Discovery semanal?
Noticias
El_Andaluz 0 1,162 Último mensaje 21 Febrero 2016, 17:08 pm
por El_Andaluz
Así sabe la policía si tu denuncia es falsa (y acierta un 91% de veces)
Noticias
wolfbcn 0 1,201 Último mensaje 18 Septiembre 2018, 02:00 am
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines