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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Necesito ayuda con un generador de numeros al azar
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Necesito ayuda con un generador de numeros al azar  (Leído 1,666 veces)
JuanTheTropper

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Necesito ayuda con un generador de numeros al azar
« en: 5 Diciembre 2018, 03:53 am »

Lo que ocurre es que cree este codigo para generar un numero al azar del 1 al 10 pero me sale error y no soy capaz de encontrar el problema, podrian ayudarme?
-------------------------------
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>


int turnos=16;
int operarios=40;
int numeroTrabajadores=0;
int a=1;
using namespace std;   
int main(int argc, char** argv) {
   cout << " " <<endl;
   int i=0; int j=0;
   numeroTrabajadores = turnos * operarios;
   cout << "El numero de trabajadores es" << endl;
   cout << numeroTrabajadores<< endl;
   
   srand(time(NULL));
   FILE* contador;contador=fopen("puntaje","wt");
   for (i=1; i<=turnos; i++)
   {
        for (a=1;a<=operarios;a++){   
             if (i==3 || i==16){   
            
                   printf (contador, "%d%c",  rand() % 5 + 4, '\n');
            else {
                  printf (contador, "%d%c",  rand() % 10, '\n');
            }
       }
   }

}
    fclose(contador);
   printf("Completado");
   return 0;
}
--------------------------------------


En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: Necesito ayuda con un generador de numeros al azar
« Respuesta #1 en: 5 Diciembre 2018, 04:14 am »

hay que saber lo que se esta haciendo con el operador de modulo, solo devuelve el residuo de la division

Código
  1. rand() % 10

Solo genera números del 0 al 9 ya que son los residuos posibles al dividir cualquier numero entre 10

Código
  1. 1 + rand() % 10

Solo genera numeros del 1 al 10 ya que seria 1 + los numeros del 0 al 9, si haces la suma te dara numeros del 1 al 10

Por cierto tienes error en el printf

MAL
Código
  1. printf (contador, "%d%c",  rand() % 10, '\n');

deberia de ser

Código
  1. printf ("%d\n",  rand() % 10);

Por lo visto lo tratas de usar como si fuera cout, yes muy distinto el comportamiento

Saludos


« Última modificación: 5 Diciembre 2018, 04:16 am por AlbertoBSD » En línea

CalgaryCorpus


Desconectado Desconectado

Mensajes: 323


Ver Perfil WWW
Re: Necesito ayuda con un generador de numeros al azar
« Respuesta #2 en: 5 Diciembre 2018, 05:11 am »

Reemplaza printf por fprintf para escribir en el archivo.
En línea

Aqui mi perfil en LinkedIn, invitame un cafe aqui
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Generador de numeros
Programación Visual Basic
pedro004 5 2,210 Último mensaje 28 Mayo 2007, 15:32 pm
por pedro004
Azar -Nombres batch al azar -please ayuda
Scripting
usuario oculto 4 4,457 Último mensaje 16 Diciembre 2008, 19:44 pm
por SmartGenius
numeros al azar « 1 2 »
Programación C/C++
mapers 16 8,792 Último mensaje 13 Agosto 2010, 17:42 pm
por mapers
¿Generar numeros al 100% al azar?
Programación C/C++
meaf75 2 2,705 Último mensaje 13 Agosto 2016, 23:06 pm
por MessageBoxA
error en el orden de 4 números al azar de mayor a menor
Programación Visual Basic
creiko 0 2,823 Último mensaje 18 Septiembre 2016, 05:40 am
por creiko
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines