Ir para conteúdo
Fórum Script Brasil

LazaroBinda

Membros
  • Total de itens

    45
  • Registro em

  • Última visita

Sobre LazaroBinda

Últimos Visitantes

1.222 visualizações

LazaroBinda's Achievements

0

Reputação

  1. Esse passo a passo aí foi mais uma intenção de fazer uma espécie de troubleshooting e descobrir onde está o problema. A questão aí é que seu compilador não está gerando os arquivos objeto. você tem que usar o terminal do ubuntu pra ver melhor o que está acontecendo. Abra um terminal. No ubuntu geralmente o atalho padrão é ctrl+alt+T. Depois disso, digite: cd "/home/gabriel/Área de Trabalho/caramba" e então digite: g++ -Wall -fexceptions -g -c main.cpp -o obj/Debug/main.o Veja se isso depois disso o arquivo obj/Debug/main.o existe. Se sim, então provavelmente seu problema é esse caminho com espaços "Área de Trabalho" Se não, veja se o terminal te mostrou algum erro e então poste aqui.
  2. Por algum motivo seu compilador não criou o arquivo objeto necessário pro linkador formar o executável. Faça a compilação passo a passo. 1 - Abra um terminal e vá até a pasta do seu projeto. 2 - Certifique-se que exista a pasta obj/Debug. (Sem ela o arquivo main.o não será criado) 3 - execute o seguinte comando dentro da pasta do seu projeto: g++ -Wall -fexceptions -g -c "/home/gabriel/Área de Trabalho/caramba/main.cpp" -o obj/Debug/main.o Vai na pasta obj/Debug e veja se criou o arquivo main.o 4 - Depois disso gere o binário: g++ -o bin/Debug/caramba obj/Debug/main.o
  3. Boa tarde, Acredito que seu problema seja com índices Na tarefa_1: deveria ser: c[0][col] += a[0][i] * b[i][col]; O índice tb está errado nas outras tarefas...
  4. LazaroBinda

    Ajuda

    Isso pode ser muito coisa. Pode ser alguma dll que você esteja usando e não está sendo encontrada pelo sistema quando você abre seu exe. Tenta abrir o exe depurando ele.
  5. Amigo, Boa tarde, Os parâmetros que você passa pra pesqbin: retorno = pesqbin(vet1, vendedor); Esse "vet1" é um array pra tp_tab1? Se for, você deveria usá-lo da seguinte forma: v[meio].nome Outra coisa, o operador "Aponta para (->)" é somente usando com ponteiro, o que não é o caso dessa sua função. Então ou você transforma o argumento em um ponteiro ou use como coloquei acima. Quanto ao segundo erro. É exatamento o que o amigo acima disse. Presumo que a variável "vendedor" seja uma "const char*" ou um array de char. Em anbos os casos, não funcionaria. porque sua função pesqbin pede um argumento do tipo char. Então ou você passa pra função algo tipo "vendedor[0]" (o que levaria somente o primeiro caractere da variável "vendedor") ou altere sua função pra aceitar um char*. Se ela for um ponteiro pra char, a forma de comparação dentro da função também estaria errado. porque você não pode comparar strings terminadas em nulo usando o operador de comparação (==). Pesquise sobre função de manipulação da biblioteca do C. Tipo ". Se não conseguir, posta aí que te ajudo
  6. Dá uma lida sobre o armazenamento do buffer no C e como funciona a função fflush( ). Acontece que quando seu programa chega na leitura de opc, já existe alguma coisa no buffer. Por isso ele passa direto no scanf sem receber nenhum valor. O pior é que a função getchar() logo em seguida faz o programa esperar uma entrada criando a falsa ilusão de que você está informando o valor de opc. Em primeiro lugar, você não precisa desse getchar( ) aí, ele tá perdido no código. E em segundo lugar, você pode limpar o buffer. Existem duas formas de fazer isso. A Primeira: printf("Deseja voltar ao menu? (s/n)"); scanf(" %c", &opc); //getchar(); if (opc=='s') { menu(); }else{ denter(); printf("Obrigado! "); } Seria basicamente colocar um espaço antes do argumento de scanf( ). Isso vai fazer que o programa ignore o que estiver no buffer pra então ler o valor de char. A segunda e preferida: printf("Deseja voltar ao menu? (s/n)"); fflush(stdin); //Caso esteja no Windows //__fpurge(stdin); //Caso esteja no Linux scanf("%c", &opc); //getchar(); if (opc=='s') { menu(); }else{ denter(); printf("Obrigado! "); } Seria utilizar a função fflush no windows ou __fpurge no linux pra limpar o buffer antes de utilizar o scanf. Outra coisa. Já que você repete esse bloco aí várias vezes, seria preferível você transformar isso aí em uma função.
  7. Não entendi isso aí. você está setando buf com 2 bytes ACC_PWRCTRL_ADDR(0x2D) e ACC_MEASURE_MODE(0x08) e antes de usá-los você está alterando o valor do buf pra ACC_OUT_LSB_X(0x32) e NULL(0x00). Quando o programa chama a função write, ele está na verdade enviando 0x32 0x00. Outra coisa. Os bytes foram invertidos de propósito?
  8. Opa, boa noite. Seria mais fácil te ajudar se você postasse parte do seu código, pelo menos a parte onde você faz a leitura do arquivo. Mas já me adianta uma coisa, você tá manipulando seu stream em modo binário né??? Outra coisa, você está usando fscanf pra fazer a leitura do arquivo? Em modo binário, é preferível que se use o fread( ).
  9. Nâo. Você não pode ter duas funções main no mesmo programa. Dê uma estudada sobre funções e tudo vai ficar claro pra vc....
  10. Na verdade seu programa não deveria nem ter compilado. você está utilizando a palavra reservada "void" na chamada de função dentro do switch.
  11. for(i=0; i < 5; i++) { //vetor[i]->getRaca(); for(j=0; j < 5; j++){ if(vetor[i]->getRaca() == vetor[j]->getRaca()) { //iguais } } }
  12. Se entendi bem, você quer usar os dois arquivos no mesmo arquivo cpp. você já estudou sobre funções??? Pega o conteúdo do segundo arquivo, troca o nome da função main por qualquer outra coisa e inclui isso no primeiro arquivo. Ficaria algo tipo: int main() { ... return 0; } int login() { //este é o main do segundo arquivo ... return 0; }
  13. Amigo, posta o erro que o compilador te mostra.
  14. Amigo, não tenho skype, mas posta uma imagem aqui que tento te ajudar. você usa proteus?
  15. Não sei se eu conseguiria te ajudar por aqui. porque você está com um programa pra PIC. Aparentemente não vejo erro no seu código (embora seja difícil afirmar isso, porque não tenho como depurá-lo, visto que não tenho o esquema do seu circuito). O problema é que quando se trabalha com pic, a gente sempre culpa o código pelo mal funcionamento do circuito. E às vezes o problema não está no código. Você já verificou o seu display? Os outros caracteres que você manda escrever aparecerem normalmente? Não se esqueça que display lcd depende de um tempo entre as escritas, mesmo usando a biblioteca do microc. Existe algum pino do pic que não esteja totalmente definido e você esteja usando? O oscilador do pic é interno ou externo? Ele não está sofrendo nenhuma interferência? (Principalmente se estiver usando motor). Existem muitos fatores que podem influenciar no funcionamento. Estou vendo que você não configurou o conversor AD, que por padrão é o que vem ativado quando você configura o TRISA como entrada. Caso esteja tudo ok. Tente utilizar as interrupções INT ou PORTB. Boa sorte!
×
×
  • Criar Novo...