Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Nanah

Nao consigo chamar a função qq acontece?? Me ajudem porfavor

Recommended Posts

Quando vou compila o codigo ele da erro na hora de chama a função adicionaRegistro nao sei o que tem que fazer....Alguem pode me ajuda??

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define MAXIMO 1000

typedef long tipoChave;
//Definição do registro. Neste caso o registro contem apenas a chave.
typedef struct Registro {
tipoChave chave;
// Aqui poderiam entrar outras informações
}Registro;
typedef int indice;
//Definição de um arquivo, utilizando o tipo registro definido acima
typedef struct Arquivo{
Registro item[MAXIMO + 1];
indice n; // O numero de registros inseridos no arquivo
}Arquivo;
//Método para inicializar o arquivo
void inicializa( Arquivo *arquivo){
arquivo->n = 0;
}
indice pesquisaSequencial ( tipoChave ch, Arquivo *arquivo ){
int i;
arquivo->item[0].chave = ch;
i = arquivo->n+1;
do {
i--;
}while( arquivo->item[i].chave != ch);
return i;
}
indice pesquisaBinaria( tipoChave ch, Arquivo *arquivo){
int i, esq, dir;
if ( arquivo->n == 0){
return 0;
}
esq = 1;
dir = arquivo->n;
do{
i = (esq + dir) / 2;
if ( ch < arquivo->item[i].chave){
dir = i - 1;
}else {
esq = i +1;
}
}while(( ch != arquivo->item[i].chave ) && ( esq <= dir ));
if ( ch == arquivo->item[i].chave ){
return i;
}else{
return 0;
}
}

void adicionaRegistro(Arquivo *arquivo){
int c;
arquivo->n = 1;
printf("Digite nova chave:");
scanf("%d",&c);
arquivo->item[arquivo->n].chave = c;
printf("Posiçao %d, Chave n° %d", &arquivo->n, c);
arquivo->n++;
}
int main(){
int opcao;
printf("\n *******************");
printf("\n **Menu de escolha**");
printf("\n *******************");
printf("\n-----------------------");
printf("\n|1-Adicionar Registro |");
printf("\n|2-Pesquisa Sequencial|");
printf("\n|3-Pesquisa Binaria |");
printf("\n|10-sair |");
printf("\n-----------------------\n");
scanf ("%d",&opcao);
switch(opcao){
case 1:
adicionaRegistro();//aqui nao chama a funçao
break;
case 2:
pesquisaSequencial();
break;
case 3:
pesquisaBinaria();
break;
case 10:
return 0;
break;
default:
printf("Essa opção nao existe!");
}
getch();
}

Editado por Nanah

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Nanah!

você declarou que a função adicionaRegistro precisa de um argumento do tipo Arquivo.

para chamá-la com êxito você precisa passar o parâmetro especificado.

Abraço

Editado por A.F.O
Referencia a pessoa errada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não há nenhuma passagem de um parâmetro do tipo ponteiro para a função que está apresentando erros. Lembre-se que é preciso passar um parâmetro do tipo ponteiro e não uma variável qualquer.

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×