• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

astrix

ajuda funçoes.... (média de 3 valores de um array)

33 mensagens neste tópico

ola a todos tenho uma pequena duvida q e esta tenho uma funçao que me da o trienio em que ocorreram mais incendios,agora preciso de uma outra q me apresente a media da area ardida nesse trienio,alguem me pode dar uma ajuda....se acharem por bem ponho o codigo.... :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se tens os índices do triénio em que houveram mais fogos, é só somares as áreas desse triénio e dividires por 3.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ola a todos com o programa q esta em cima tenho q passar a informaçao de cada casa para um ficheiro,alguem me pode dar ai umas dicas como fazer ou algo para estudar para ver se consigo,pois nunca trabalhei com ficheiros e nao estou a ver como passo para o ficheiro um por casa toda a informaçao q resultou dessa votaçao  :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Votação?

Para passares a informação para um ficheiro, 1º depende se queres que o ficheiro seja legível por humanos, caso em que abres o ficheiro em modo de texto, e escreves com fprintf. No caso de não ser necessária a sua compreensão por humanos, abres o ficheiro em modo binário e escreves com fwrite.

As funções de que precisas são a fopen e a fprintf para escrever em modo texto, e a fwrite para escrever em modo binário.

Vê os links, experimenta, e volta aqui com as dúvidas que surjam :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ola a todos mais uma vez precisava q alguem me desse uma ajuda nisto,implementei esta funçao para gravar para um ficheiro a string

char *strcpy(char *dest,char *orig)
  {
  int i;
  for (i=0 ; orig[i]!=´\0´; i++)
      dest[i] = orig[i];
  dest[i] = ´\0´;
  return dest;
   }

so que me estar a dar estes erros 

type mismatch in redeclaration of ´strcpy´

´\0´-ilegal caracter

alguem me pode ajudar  :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ja existe essa funcao na biblioteca do C, nao é bem com esses parametros mas ja existe com esse nome. se quiseres usar a tua funcao muda-lhe o nome.

boas programacoes

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

amigo obrigado pela tua resposta a minha pergunta mas nao percebi o q me querias dizer podias ser mais esplicito por favor :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

strcpy e uma funcao da standard library do C penso que esteja refereciada no header string.h

existe o strcpy o strcmp o strlen entre outras. penso que devas mudar o nome da tua funcao de strcpy para my_strcpy ou algo do genero

e assim possas usar a tua funcao.

boas programacoes

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Outro problema é que tens `\0` em vez de '\0' (acentos graves em vez de plicas).

Isto acontece quando fazes copy paste de um pdf (ou outro tipo de documento) directamente para o editor.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

amigos o problema de ´\0´-ilegal caracter era mesmo o q o amigo thedark disse eu nao reparei que nao tinha posto plicas...agora e assim eu tive a ver se estava a passar tudo certinho para depois gravar para o ficheiro e vi q ha dois char q nao estao a passar o primeiro passa mas os outros dois nao e vou por aqui o q esta a dar e os q nao estao a ver se alguem me diz porque

m.assoc[ i]=associados[ i];neste passa bem o nome q ponho em cima tipo porto e passa porto

m.nome[ i]=nome[ i];aqui nao passa nada

m.pais[ i]=pais[ i];aqui tambem nao

fiz assim para ver se estava certo a passagem

printf("casa %s\n",m.assoc);este passa bem

printf("pais %s\n",m.pais);este nao se puser portugal nao passa nada

printf("cidade %s\n",m.nome);aqui igual

alguem me explica porque e ja agora como faço para gravar isto pra o ficheiro para mais tarde puder ir ver os resultados de uma casa qualquer a minha escolha,se alguem poder dar uma ajuda agradeço  :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

se mostrares o codigo de como estas a fazer isso ... penso que seria de alguma ajuda

boas programacoes

ps: como e que estas a fazer as afectacoes e como mostraste acima no post anterior ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

so uma curiosidade e que tal passares a usar a funcaoo que criaste my_strcpy para fazeres a atribuicao de memoria entre a variavel que queres afectar o valor e aquela que tem o valor.

so por curiosidade se n usaste a funcao my_strcpy que criaste para que e que a criaste ??

boas programacoes

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

para que e que criaste a funcao my_strcpy ?

boas programacoes

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

para copiar a string origem para a string de destino :hmm:,q sera passala para o ficheiro,porque se puseresb isso a correr a primeirochar passa certo,mas os outros dois char nao,por isso nao estou a entender o porque disso  :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

em c qdo queres copiar uma string para uma variavel tens de usar a funcao de strcpy, mas como foste implementar uma pensei que irias usar a tua.

ve exemplos de strcpy pela web uma procura no google sobre strcpy acho que vais ficar a perceber melhor do que estar aqui a tentar explicar.

boas programacoes

ps. qq coisa diz aqui que o ppl esta para ajudar

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

void inic_votos(int v[], int comp)
{
  int i;
  for (i=0; i<=comp; i++)
    v[i]=0;
}

Isto vai estar a escrever numa posição extra de memória. Retira o '=' do sinal '<='.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ok mas essa parte ja esta testada a funcionar agora nao consigo e passar o q me da a primeira parte do programa para o ficheiro para cada vez q corra fique gravado num ficheiro para mais tarde poder aceder a ele e ver os resultados de cada mesa e essa parte q me falta e nao estou a perceber qual o meu erro na funçao strcpy  :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

 char my_strcpy(char * dest,char * orig)
  {
  int i;
  for (i=0 ; orig[i]!='\0'; i++)
      dest[i] = orig[i];
  dest[i] = '\0';
  return 0;
   }

O tipo da strcpy não é char, mas sim char*, logo não fazes return 0 mas return dest.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

isso eu sei mas se puser isso dame um erro nonportable pointer conversion poque sera :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

char* my_strcpy(char * dest,char * orig)
  {
  int i;
  for (i=0 ; orig[i]!='\0'; i++)
      dest[i] = orig[i];
  dest[i] = '\0';
  return dest;
   }

É assim que tem de ficar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim eu ja tive assim mas nao me passa nada no nome da cidade nem no pais so me passa o nome da casa de associados e dai esta o meu problema q nao estou a  resolver isso ja dei voltas e voltas e nada passa tudo para o ficheiro como quero mas essas duas strings nao passa nada e nao percebo como passa a primeira e as outras duas nada  :wallbash:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e ja agora amigo amigo baderous obrigado pelo teu tempo perdido a tentar ajudar-me espero nao te estar a maçar com isto  ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora