Ir ao conteúdo
  • Cadastre-se

Flávio Pedroza

Membro Pleno
  • Posts

    2.063
  • Cadastrado em

  • Última visita

Tudo que Flávio Pedroza postou

  1. Posta o código todo, talvez possa ajudar a encontrar o erro na função recursiva.
  2. A sua lógica booleana para verificar se encontrou ou não está correta , tanto no primeiro post, ("!=NULL"), quando no último ("==NULL"). O problema deve ser dentro da função "busca".
  3. Do jeito que está, seu programa está armazenando os números sempre nas mesmas posições. você tem que criar um variável para armazenar quantos nomes já foram entrados e ir adicionando sem reescrever os que já foram entrados. int index=0; //variável global (...) void cadastro(void){ // void menu(void); menu(); //para chamar o metodo, basta assim int g; g = 0; while(g == 0){ (..) if (index < 10) //só armazena 10 nomes { scanf("%s",nomes[index]); fflush(stdin); index = index + 1; }
  4. 0 é falso e qualquer coisa diferente de zero é verdadeiro. É "busca" ou "find" o nome da função?
  5. Não uso o Dev-C++, mas pelo que andei pesquisando teria que adicionar "-Wl,--subsystem,windows" nas diretivas do "linker". Tentar achar algum menu do tipo "linker" ou "linking"command line/options". https://www.allegro.cc/forums/thread/126698
  6. você tem que usar dois \ seguidos e tem que colocar o arquivo png. Ex: "C:\\users\\windows_10\\Documents\\cadeiras\\lab\\Protocolo\\2aetapa\\imagens\\DamaBranca.png"
  7. O caminho do arquivo de imagem *.png provavelmente está errado (está dando erro de arquivo não encontrado). Onde está está localizada pasta "Imagens"? Tenta colocar na mesma pasta onde está localizado o arquivo "Damas.exe". Alternativamente, fornece o caminho completo. Ex.: "c:\arquivos de programas\visual studio 2017...", etc.
  8. "Ai se eu fizer *no = paux, funciona. SO que eu nao sei o que estou atribuindo, se é tudo. Acredito que sim. É isso?" Sim, isso mesmo. "voce sabe sobre arvores 2-3?" Infelizmente não.
  9. tem que incluir using System.Drawing; no começo se quiser usar a classe Point
  10. paux é um ponteiro de que tipo, int ou void? se for int basta.: (*no)->key = *paux;
  11. int main() { int valor,maior,menor,cnt; printf("Informe o primeiro numero: "); scanf("%d",&valor); maior = valor; menor = valor; cnt=1; //for(cnt=11; cnt<=10; cnt++) for(cnt=1; cnt<=10; cnt++) { printf("Informe o proximo numero: "); scanf("%d",&valor); if (valor>maior) maior = valor; if (valor<menor) menor = valor; //cnt=cnt+1; a variavel ja e incrementada pelo for, se você incrementar novamente dentro do laco, vai terminar antes do esperado }; printf("Maior = %d\n",maior); printf("Menor = %d\n",menor); return 0; }
  12. Qual o erro que dá? Tenta assim: public Pedras(bool imagem_, Point _posicao) //imagem é a imagem da peças e a posiçao é a posicao que vão ter no tabuleiro { //Point posicao = new Point(); imagem = imagem_; posicao = _posicao; }
  13. public Pedras(bool imagem_, Point _posicao) //imagem é a imagem da peças e a posiçao é a posicao que vão ter no tabuleiro { //Point posicao = new Point(); posição tem que pertencer a classe (um campo da classe). //Todas as variaveis declaradas dentro do método são removidas da memória após o fim do mesmo. imagem = imagem_; posicao.X = _posicao.X; posicao.Y = _posicao.Y; } public Jogo() //vamos inicializar as peças no tabuleiro { tabuleiro = new List<Pedras>(); //essa lista vai sumir no fim do método ok? tem que ser membro da classe... //é adicionada a imagem das peças nestas posiçoes quando o tabuleiro é inicializado tabuleiro.Add(new Pedras(true,new Point(8,2))); //peças brancas tabuleiro.Add(new Pedras(false, new Point(8,4))); //peças pretas }
  14. void excluiValor(No **inicio) { No *atual = *inicio, *anterior; int valor = 0; printf("Valor para exclusão: "); scanf("%d", &valor); //verifica se está no inicio if ((atual != NULL) && (atual->valor == valor)) { *inicio = atual->next; free(atual); return; } //procura pelo no while ((atual != NULL) && (atual->valor != valor)) { anterior = atual; atual = atual->proximo; } if (atual == NULL) return; //nao achou anterior->proximo = atual->proximo; free(atual); } veja se assim funciona (não pude testar);
  15. this.interfoneTableAdapter.Conferir(txtRamal.Text).ToString() Não o string, objeto é que null se this.interfoneTableAdapter.Conferir(txtRamal.Text) == NULL, e você chamar .ToString() vai gerar um exceção e a execução do programa vai pular para o catch.
  16. teste = exclui->proximo-1; teste->proximo = exclui->proximo; Não entendi muito bem o que você quis fazer neste trecho? Porque subtrai 1 do ponteiro?
  17. "Quando a busca encontra algo, o código não da erro, mas quando é o retorno é null" Ora, se o retorno do metodo "Conferir(txtRamal.Text)" for null, é natural que der erro "System.NullReferenceException" quando você chama o método toString. você pode tratar esse caso no catch e mostrar uma messagem do tipo "Ramal Inexistente". Ou com if private void btEnviar_Click(object sender, EventArgs e) { try { resp = this.interfoneTableAdapter.Conferir(txtRamal.Text).ToString(); if (!String.IsNullOrEmpty(resp)) { MessageBox.Show("Este interfone já foi reportado por " + resp, "Aviso"); } else { ... } } catch (System.NullReferenceException ex) { MessageBox.Show("Este interfone não existe", "Erro"); }
  18. Acredito que sim. Ja troquei de placas com chipset diferentes (h61 para h110 - troquei até o processador) e mantive o mesmo sistema operacional. Conseguir dar boot e fazer o backup e posteriormente formatei.
  19. Não necessariamente, mas talvez o sistema fique instável. Caso perceba problemas de estabilidade, faça backup dos arquivos e formate.
  20. Nas duas tem aux->prox != NULL, mas acho que entendi. Veja se consegue entender pelo exemplo abaixo, com 3 nós. A condição é verificada antes de executar o que tem dentro do laço. Como pode ver, o laço com aux != NULL tem uma iteração a mais. Nós: No1 No1->prox = No2; No2->prox = No3; No3->prox=NULL; Inicio aux = No1 No. Interação | Verificar condição (aux->prox != NULL) | Executa imprima aux->valor? 1 | Falso | Sim, faça aux = No2 2 | Falso | Sim, faça aux = No3 3 | Verdadeiro (aux->prox = NULL) | NÃO Fim do laço Inicio aux = No1 No. Interação | Verificar condição (aux != NULL) | Executa imprima aux->valor? 1 | Falso | Sim, faça aux = No2 2 | Falso | Sim, faça aux = No3 3 | Falso | Sim, faça aux = NULL 4 | Verdadeiro (aux == NULL) | NÃO Fim do laço
  21. Mostra um exemplo de código que dá erro.
  22. A alocação permanece na memória até a próxima re-inicialização do sistema. Chamar free em uma variável que não foi previamente alocada na memória com malloc, calloc, etc. dará erro.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!