Jump to content
Gurzi

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

Recommended Posts

Gurzi

#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 :P :wallbash:

Share this post


Link to post
Share on other sites
Bruno

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

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 :D

Share this post


Link to post
Share on other sites
Gurzi

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

Share this post


Link to post
Share on other sites
Bruno

Eu editei o meu 1º e n sei se chegaste a ver o q escrevi depois!

Repara esses erros e coloca aí o codigo depois se ainda der problema!

Share this post


Link to post
Share on other sites
Bruno

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]! :P

Share this post


Link to post
Share on other sites
Gurzi

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 :D

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

Share this post


Link to post
Share on other sites
Bruno

Ok eu tinha dito mal mas tu tb estás a dizer... qd fazes var[49] declaras realmente 50 casas... mas essas casas são do 0 ao 49... o 50 já n existe! :D

Share this post


Link to post
Share on other sites
Gurzi

sim mas aquilo é um for para atribuir de 1 a 50 o valor á var que é var[49] só que o 1 vai ser atribuido ao var[0] por isso no fim vai ser igual

Share this post


Link to post
Share on other sites
Bruno

pois :D

mas posso nu[i-1] = i :D

Nem mais! :D

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! :D

Share this post


Link to post
Share on other sites
Bruno

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 :D

Share this post


Link to post
Share on other sites
Bruno

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

time_t t1;

time(&t1);

:D 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! :D

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)

Share this post


Link to post
Share on other sites
theproject

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

Share this post


Link to post
Share on other sites

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.