Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: JuanTheTropper en 5 Diciembre 2018, 03:53 am



Título: Necesito ayuda con un generador de numeros al azar
Publicado por: JuanTheTropper 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;
}
--------------------------------------


Título: Re: Necesito ayuda con un generador de numeros al azar
Publicado por: AlbertoBSD 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


Título: Re: Necesito ayuda con un generador de numeros al azar
Publicado por: CalgaryCorpus en 5 Diciembre 2018, 05:11 am
Reemplaza printf por fprintf para escribir en el archivo.