Ir ao conteúdo
  • Cadastre-se

guhbrj

Membros Plenos
  • Total de itens

    23
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. Galera, boa noite ! Estou aprendendo Python na prática e gostaria da ajuda de vocês. Estou lendo uma string de um arquivo .dat, no meu pc e estou comparando com uma string mas não está dando certo .Acredito que o tipo do retorno da função read() não seja uma string. Abaixo segue o códido arq = open('C:\\Users\\MeuPC\\Desktop\\MonitoramentoIAlfred\\Arquivos\\LMsg.dat', 'r') mensagem = arq.read() if mensagem == "texto qualquer": print(mensagem) Não entra no IF. podem ajudar ? Tem que fazer um casting ? valeu
  2. Olá pessoal ! Estou precisando da ajuda de vocês. Estou desenvolvendo um dispositivo de monitoramento que dispara alarmes por e-mail, usando arduino, que se comunica com um computador via porta COM. No computador, há um script desenvolvido em powershell que interpreta os dados do arduino e dispara e-mails para um determinado usuário. Está funcionado perfeitamente. Agora gostaria de implementar uma nova função. Quero enviar um e-mail que será lido por powershell e interpretado pelo computador que enviará requisições para o arduino que retornara os dados solicitados. Alguém saberia como fazer um script em shell para ler o conteúdo do e-mail e realizar as tarefas ?
  3. Esse programa só calcula potências de 2. A variável x conta quantas vezes foi necessário fazer a divisão; O programa pega um número e devolve sua raiz, como o @CARRETA PCZAO pediu. Temos um clássico problema de arredondamento, tendo em vista que estamos trabalhando com divisão entre números inteiros. A proposta é demonstrar a possibilidade da implementação de uma função recursiva para a solução deste problema. O código é aberto e podem fazer as alterações necessárias para adequação, de acordo com a demanda de cada um.
  4. Aqui segue o programa "completo". Vale lembrar que este algoritmo só calcula potências de 2. Se quiser que calcule outras potencias, basta alterar a linha 30 //return pot (num/2, x+1); #include<stdio.h> int pot(int num, int x); int main() { int num, result=0 ,x=1; printf("entre com um numero: ") ; scanf("%d", &num); if(num%2==1) { printf("\npotencia nao existe"); } else { result = pot(num, x); printf("%d = 2^%d",num, result); } } int pot(int num, int x) { if(num/2>1) { printf("x = %d num = %d\n", x, num); // essa linha e so pra apurar o comportamento do codigo return pot (num/2, x+1); } else { return x; } }
  5. @Simon Viegas tente apenas ler num na main e passar por parâmetro pra função pot(), e tirar o retante do código. Deve funcionar.
  6. Já tem algo desenvolvido? Se puder postar. não tenho conhecimento mas podemos ajudar no algoritmo.
  7. guhbrj

    C Matriz de Led 8x8 MikroC

    Qual plataforma você está utilizando ?
  8. Você pode usar recursividade para isso. lembra de iniciar x=1, na main int pot(int num, int x) { if(num/2>1) { //debbug//printf("x = %d num = %d\n", x, num); return pot (num/2, x+1); } else { return x; }
  9. Boa noite @Marquinhos Rolemã, verifique se os componentes que está usando no Arduino estão de acordo com a especificação elétrica (se consome muita energia) as vezes estas peculiaridades podem impedir que o projeto seja compilado e upado pra placa. Tente remover algum do esquema elétrico e tente novamente ou toque a fonte de energia.
  10. Boa noite ! na linha "fscanf(arq1, "home/n" ,"rt");" se você está lendo de um arquivo e quer manipular os dados lidos, você deve 'jogá-lo' na memória, em uma variável de mesmo tipo do dado lido. Ex.: Supomos que o dado a ser lido era do tipo INT, logo ficaria : fscanf(arq1,"%d", &variaveldotipoINT); se deseja escrever, aí sim você usa o comando fprintf(arq1,"conteudo a ser escrito %d", variaveldotipoINT); atente também para o tipo de abertura do arquivo, se for leitura "r" ou escrita "w"
  11. Você vai usar esse código em algum Hardware tipo Arduino ou Raspberry? Pergunto isso porque a sintaxe pode variar de acordo com a aplicabilidade do código e, também sabendo da aplicabilidade, posso ajudar de maneira mais adequada.
  12. Nesse caso, acredito que nem precisaria de um FOR. seria apenas colocar: char novaentrada, string[20]; printf("\nEntre com a posicao que deseja alterar: "); scanf("%d", &posicao); //numero inteiro fflush(stdin); printf("Entre com o novo caracter para esta posicao: "); scanf("%c", &novaentrada); fflush(stdin); string[posicao]=novaentrada;
  13. Olá, tente implementar o código a seguir ao seu e veja se funciona. #include<stdio.h> #include<string.h> int main() { int tam, i=0, encontrei=0, j, insere=0; char email[30], dominio[20], valido=0; do { printf("Entre com o e-mail: "); gets(email); fflush(stdin); tam = strlen(email); printf("Tamanho da string: %d", tam); do { if(email[i] =='@') { printf("\nachei! ta na posicao %d", i+1); for(j=i; j<tam; j++) { dominio[insere]=email[j]; printf("%c - copiado para dominio[%d]\n", email[j], j); insere++; encontrei = 1; } } i++; }while((i<=tam)&&(encontrei==0)); valido = verificaEmail(dominio); // pode usar essa funcao que retorna um inteiro dos strcpy para mudar o valor da variavel "valido" para entao sair do laco de repeticao if(valido==0) { printf("\nEmail invalido, entre com outro endereco\n"); } }while(valido=0); } adicionado 7 minutos depois
  14. Tente inserir a biblioteca #include<string.h> essa função pertence à esta biblioteca.

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

×