
Jonathan Queiroz
Membros-
Total de itens
3.718 -
Registro em
-
Última visita
Tudo que Jonathan Queiroz postou
-
Utilize a função strcpy da string.h. Essa função copia o conteúdo de uma string para outra. Ao escrever um código do tipo: char v[50]; v="abcde"; Você estará alocando espaço para 50 variáveis do tipo char e criando um ponteiro (variável do tipo char*) que aponta para o primeiro caractere. Ao atribuir essa variável para "abcde" (que é outro ponteiro para caracteres), você perde o endereço do ponteiro inicial e passa a apontar para outro lugar, ao invés de utilizar aquele espaço de 50 caracteres para armazenar a string. Lembre-se também de que um vetor de 7 chars armazena apenas 6 caracteres (a última posição deve ser preenchida com 0 para indicar o fim da string). Portanto, um char[7] não pode armazenar a palavra "exemplo".
-
Evite utilizar getters e setters desnecessariamente. Ao invés de atributos privados (você não postou o .h, mas creio que tenha declarado corpo e assunto dessa forma) e getters/setters, você poderia ter deixado as propriedades públicas, ou mesmo utilizar uma struct. ifstream Mensagem("Mensagem.txt",ios::in); Não entendi direito o motivo do arquivo "mensagem.txt", então removi essa parte do código. list<Mensagem> Lista; list<Mensagem>::iterator Lst; As variáveis Lista e Lst estavam como variáveis globais. Alterei para que fossem locais à função main apenas para facilitar a organização. Lista.push_from(m); Troquei o push_front por push_back, para evitar que a lista seja mostrada na ordem inversa. Também modifiquei o código para, ao invés de utilizar vetores de caracteres, utilizar a classe std::string e acrescentei a parte de mostrar mensagens apenas para que pudesse testar. O código ficou assim: #include <iostream> #include <string> #include <list> using namespace std; struct Mensagem{ string assunto, corpo ; }; int main(){ list<Mensagem> Lista; list<Mensagem>::iterator Lst; int opcao=1; while(opcao!=6){ Mensagem m; cout << "Escolha uma opcao: \n1 - Inserir Msg \n2 - Remover Msg \n3 - ordenalor por assunto \n4 - Mostrar Mensagens \n5 - juntar Filas \n6 - Sair" << endl; cin >> opcao; cin.get(); switch(opcao){ case 1: cout << "Digite um assunto: " << endl; cin >> m.assunto; cout << "Digite uma mensagem: " << endl; cin >> m.corpo; Lista.push_back(m); break; case 4: unsigned int numero_mensagem=0; for(Lst=Lista.begin();Lst!=Lista.end();Lst++){ cout << "Mensagem " << ++numero_mensagem << endl << "\tAssunto: " << Lst->assunto << endl << "\tMensagem: " << Lst->corpo << endl ; } } } } Qualquer dúvida posta aí.
-
O que você já fez? Poste o código que você tem e as dúvidas que forem surgindo.
-
Movendo: PHP --> Ajax, Javascript, XML, DOM.
-
Bloquear KeyUp pelo KeyDown
pergunta respondeu ao LucAlucard de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
Sim, é possível. Nesse caso você teria que manter uma variável informando se a tecla foi pressionada. Algo assim: var shift_pressionado=false onkeydown=function(){ ... if(tecla==tecla_shift) shift_pressionado=true else if(shift_pressionado) return false //evita que a tecla seja processada ... } onkeyup=function(){ ... if(tecla==tecla_shift) shift_pressionado=false ... } -
(Resolvido) Elemento Toggle
pergunta respondeu ao Lou Poulit de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
Me desculpe a falta de atenção, era display:none; mesmo, mas tinha escrito display:hidden (o hidden é usado no atributo visibility). Precisando de alguma coisa é só postar. Obs.: O tópico foi marcado como Resolvido. -
setAttribute não funciona
pergunta respondeu ao Martinsrj de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
Como estava funcionando antes então pode deixar assim mesmo (imaginei que estivesse ocorrendo algum erro na comparação). Se possível poste como está o código do combo optSituacao. -
setAttribute não funciona
pergunta respondeu ao Martinsrj de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
Ao invés de comparar a variável obrigatorio com 1 tente comparar com "1" (string). -
Peço que evite a postagem de up's conforme a regra 3.8 (ver regras) Pode explicar melhor a dúvida? Como assim chama o efeito e não encontra a página?
-
(Resolvido) Script
pergunta respondeu ao PRWEBMaster de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
Se possível poste como resolveu o problema, a fim de deixar a solução visível a outras pessoas com a mesma dúvida. Obs.: O tópico foi marcado como Resolvido. -
Mascara para numero de telefone padrão internacional
pergunta respondeu ao Gilvan Lima de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
Você sabe utilizar expressões regulares? Utilizando expressões regulares é relativamente simples. Recomendo a leitura desse link: Guia de expressões regulares. -
Bem-vindo ao fórum! Não sei muita coisa sobre Access, mas na medida do possível posso ajudar.
-
Bem-vindo ao fórum, precisando de qualquer coisa é só postar.
-
Para evitar essa repetição você pode seguir essa lógica: Pedir os números ao usuário;Percorrer todos os itens desse vetor (usando o iterador i).Para cada item, percorrer novamente o vetor (usando o iterador j)Se, na primeira repetição encontrada, o valor de j for menor que i, significa que, no loop principal, já processamos a ocorrência. Nesse caso, pare de procurar repetições (para sair do loop, use a instrução break)Do contrário (j>i), apenas incrementamos o contador.Depois basta verificar se cont>1; se for, mostra a mensagem e percorre o vetor novamente para mostrar as posições.No seu código, algumas variáveis estavam sendo declaradas logo no início da função. Isso não é errado, mas deixa o código um pouco desorganizado. Como está utilizando C++, não é necessário fazer dessa forma (em C é obrigatóio). Adaptei a função para ajudar na organização. Segue o código: #include <stdlib.h> #include<stdio.h> int main(int argc, char** argv){ //Quantidade de números const int tamanho=20; //Vetor com os números int vet[tamanho]; //Obtém a lista for(int i = 0; i < tamanho; i++){ printf("\n\nDigite o numero para a posicao %d: ",i); scanf("%d",&vet[i]); } //Percorre os números e armazena os repetidos printf("\n"); for(int i = 0; i < tamanho; i++){ int cont=0; for(int j = 0; j < tamanho; j++){ if(vet[j]==vet[i]){ if(j<i){ //essa verificação já foi feita antes, portanto o valor já foi escrito na tela break; } cont++; } } if(cont>1){ printf("O numero %d se repete %d vezes, nas posicoes: ",vet[i],cont); bool virgula=false; //variável que apenas indica se devemos colocar a vírgula antes do número for(int j=0; j < tamanho; j++){ if(vet[j]==vet[i]){ if(virgula){ printf(", "); //escreve a vírgula } printf("%d",j); virgula=true; //como já escrevemos ao menos uma vez, precisaremos de vírgula } } printf("\n"); } } system("pause"); return 0; } Nota: em C++ o modificador const indica que uma variável não pode ter seu valor modificado. Se desejar, pode adaptar o código para percorrer os documentos do vetor para ficar em uma função. Você tentou fazer algo parecido com o loop intermediário (de índice j no seu código). Esse código que postei ainda não é a melhor forma de fazer (isto é, poderia ser otimizado), mas é suficiente para fins didáticos.
-
Tentando calcular distancia entre dois pontos.
pergunta respondeu ao SirPlinio de Jonathan Queiroz em C, C++
O problema ocorre ao tirar a raiz quadrada. Você está passando 1/2 para a função, mas o C++ está tratando o 1 como inteiro, ou seja, 1/2 = 0. Como x^0 = 1, o programa retornava sempre 1. Para resolver o problema, você pode converter o 1 para float. Exemplo: dst = pow(dst,(float)1/2); -
Movendo: C, C++ --> Tutoriais & Dicas - C, C++. O código parece bem interessante. Testei aqui no VS e não funcionou, mesmo com a inclusão da conio.h. Acrescentei as seguintes linhas no início do arquivo e o código passou a funcionar: enum COLORS { BLACK = 0, BLUE = 1, GREEN = 2, CYAN = 3, RED = 4, MAGENTA = 5, BROWN = 6, LIGHTGRAY = 7, DARKGRAY = 8, LIGHTBLUE = 9, LIGHTGREEN = 10, LIGHTCYAN = 11, LIGHTRED = 12, LIGHTMAGENTA = 13, YELLOW = 14, WHITE = 15, BLINK = 128 }; struct text_info { unsigned char winleft; /* left window coordinate */ unsigned char wintop; /* top window coordinate */ unsigned char winright; /* right window coordinate */ unsigned char winbottom; /* bottom window coordinate */ unsigned char attribute; /* text attribute */ unsigned char normattr; /* normal attribute */ unsigned char currmode; /* current video mode: BW40, BW80, C40, C80, or C4350 */ unsigned char screenheight; /* text screen's height */ unsigned char screenwidth; /* text screen's width */ unsigned char curx; /* x-coordinate in current window */ unsigned char cury; /* y-coordinate in current window */ }; enum text_modes { LASTMODE=-1, BW40=0, C40, BW80, C80, MONO=7, C4350=64 };[/codebox] Olhei as declarações que estavam faltando e copiei desse post. Obs.: O link que você postou está quebrado. Edit: Corrigi o link, você tinha deixado a palavra "aqui" no final da URL.
-
(Resolvido) Elemento Toggle
pergunta respondeu ao Lou Poulit de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
Nesse caso, você pode trabalhar com o atributo display no CSS (display: hidden) ou mudar o Javascript para se adequar ao CSS. Não entendi muito bem, pode explicar melhor? -
(Resolvido) Elemento Toggle
pergunta respondeu ao Lou Poulit de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
Uma solução pode ser deixar o elemento inicialmente invisível via CSS. -
uma declaração que não funciona
pergunta respondeu ao fisiCalebe de Jonathan Queiroz em Flash & ActionScript
Movendo: Tutoriais & Dicas - Flash & ActionScript --> Flash & ActionScript. -
Capturar erro gerado pelo js
pergunta respondeu ao Rafael Laurindo de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
Se for apenas limpar a página e mostrar uma mensagem é possível sim. A classe Exception poderia ficar mais ou menos assim: var Exception=function(description){ document.body.innerHTML="Ocorreu um erro: "+description } E, quando ocorrer um erro, você pode apenas instanciar um objeto da classe. new Exception("erro desconhecido") De qualquer forma, não vejo muito sentido em deixar de usar o try..catch para utilizar essa classe. -
Script para mudar imagem ao passar mouse
pergunta respondeu ao Creative Design de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
Basta criar uma função que realize a troca e passar um parâmetro para ela. Exemplo: function MudaImagem(nova_imagem){ this.src=nova_imagem } E o HTML pode ficar mais ou menos assim: <img src="imagem1.jpg" onmouseover="MudaImagem('imagem2.jpg')" onmouseout="MudaImagem('imagem1.jpg')"> -
(Resolvido) Verificar resultado
pergunta respondeu ao DiegoCipriano de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
Tente trocar o ]msg===0 por msg=="0" (string). -
Capturar erro gerado pelo js
pergunta respondeu ao Rafael Laurindo de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
Até onde sei não é possível com o throw. O que você pode fazer é somente instanciar um objeto da classe Exception e tratar o erro nele. -
Arquivo JS externo
pergunta respondeu ao bicho_domato de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
Isso apenas significa que o código Javascript tem algum erro, não necessariamente relacionado ao fato de o script estar num arquivo externo. Obs.: Separei seu post do tópico principal. -
(Resolvido) Erro em exceção
pergunta respondeu ao Rafael Laurindo de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
De nada, qualquer coisa posta aí.