Jump to content

passing `long int' to argument 1 of `inic(long int *, long int *)' lacks a cast


Recommended Posts

Posted
#include <stdio.h>
#include <stdlib.h>
#include <time.h>


int numeros[49];
int numero_gerado[4];


void inic(int nu[49],int gerador[4])
{
  int i,j;
   for(i=1;i<=50;i++)
     nu[i-1] = i;
   for(j=1;j<=5;j++)
      gerador[j] = j;
}
void mostra()
{
  int i;
  for (i=0;i<=50;i++)
   {
     if (!(i%7))
       putchar('n');
     printf("%d ", i);
    }
}
void aleatorio(int s[4])
{
   int j;
   for (j=1;j<=5;j++)
   {
    time(numero_gerado[j]);
    srand((unsigned int)numero_gerado[j]);
   }
}
main()
{
     int i,j;

     inic(numeros,numero_gerado);
     printf("Benvindo ao Jogo de Apostas do EuroEcol\n\n");
     mostra();
     getchar();
     aleatorio(numero_gerado);
     srand((unsigned int)aleatorio);
     for (i=1;i<=50;i++)
        for (j=1;j<=5;j++)
         {
          if(numeros[i]== numero_gerado[4])
            printf("XX");
          else
            printf("%d",numeros[i]);
          }
      system("PAUSE");
  }




33 d:\docume~1\tiagop~1\osmeus~1\exerci~1\testes.cpp

passing `long int' to argument 1 of `inic(long int *, long int *)' lacks a cast

estou aqui um pouco aterefado 😛 :wallbash:

Posted

Exceptuando na função aleatorio e na main falta-te sempre um } a fechar as funções! 😛

EDIT:

Falta-te tb em "printf("%d ", i)" e em "time(numero_gerado[ i ])" os ";" no fim!

No aleatório falta-te declarar o i... etc 😄

Posted

sim porque eu depois comecei a fazer umas modifcaçoes e este era o source inicial entao como o outro n deu pus aki este e eskecime de as fechar.. mas akele erro dá sempre

Posted

Outro erro teu nessa mm função é que declaras o i=0 e que ele vai até 50 (i<=50)... ora o vector "nu[ 49]" não tem esse numero de casas!

Qd declares algo como abc[1] ele aloca espaço na memora para 2 casas... que são a abc[0] e a abc[1]! 😛

Posted

não, pode ser de 1 a 50 (sao 50 algarismos) visto que a var variavel[49] é igual a 50 algorismos, visto que o indice começa em 0.

logo 49 +1 = 50 😄

a cena do lack a cast é que me está a partir a cabeça

Posted

pois 😄

mas posso nu[i-1] = i 😄

Nem mais! 😄

e acena do erro ja descobriste?

Já te pedi para actualizares o codigo todo :$ Eu sou mto de descubrir a testar e aquilo assim dá-me 10 erros! 😄

Posted

A mim na função aleatorio dá este:

32 C:\Documents and Settings\Bruno\Desktop\Untitled1.cpp invalid conversion from `int*' to `time_t*'

Do q percebi do teu codigo acho que tens outro erro:

  for (j=1;j<=5;j++)

    time(numero_gerado[j]);

    srand((unsigned int)numero_gerado[j]);

Se queres q o time e o srand estejam ambos no ciclo for precisas de fazer um bloco 😄

Posted

O time recebe um endereço de uma variavel do tipo time_t... exemplo:

time_t t1;

time(&t1);

😄 Ja agora dá uma olhadela pelas guardas dos outros ciclos for que tens no teu codigo porque têm erros como aqueles que já falamos! 😄

Declaration:

    time_t time(time_t *timer);

Calculates the current calender time and encodes it into time_t format.

The time_t value is returned. If timer is not a null pointer, then the value is also stored into the object it points to. If the time is unavailable, then -1 is returned.

(fonte)

Posted

nao sei ondek o compilador vai buskar a definicao de long int* na funcao inic, de kk maneira, experimenta mudares o cabecalho da funcao, em vez de

void inic(int nu[49],int gerador[4]){ ... }

para

void inic(int* nu, int* gerador)

hasta

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.