Ir ao conteúdo
  • Cadastre-se

1freakday

Membro Pleno
  • Posts

    671
  • Cadastrado em

  • Última visita

Tudo que 1freakday postou

  1. Testei sim, pois depende da IDE que eu uso, quando não havia stdio.h não funcionou printf, creio que se você possui uma IDE flexível ela ira auto-incrementar para você, então, na parte onde tem os títulos Calculadora, etc, e só você adicionar o titulo de um programa, onde fica no topo, e vai dizer se esta aberta ou não.
  2. Tive que verificar as '{ }', mas não testei, espero que funcione: switch(conta){ case 1: lcd.begin(16,2); lcd.setCursor(0,2); lcd.print("Lat 1= "); lcd.setCursor(7,2); lcd.print(setlata1); delay(2); { int enc=digitalRead(setPin); if (enc!=setPin) { if (enc==HIGH) { conta++; } } } delay(2); { int enc=digitalRead(incPin); if (enc!=enclata1) { if (enc==HIGH) { setlata1++; } } } { int dec=digitalRead(decPin); if (dec!=declata1) { if (dec==HIGH) { setlata1--; } } } delay(2); break; case 2: { lcd.begin(16,2); lcd.setCursor(0,2); lcd.print("Lat 2= "); lcd.setCursor(7,2); lcd.print(setlata2); delay(2); { int enc=digitalRead(setPin); if (enc!=setPin) { if (enc==HIGH) { conta++; } } } delay(1); { int enc=digitalRead(incPin); if (enc!=enclata1) { if (enc==HIGH) { setlata1++; } } } { int dec=digitalRead(decPin); if (dec!=declata1) { if (dec==HIGH) { setlata1--; } } } } delay(1); break; }
  3. envia toda essa parte do switch aqui: http://pastebin.com/
  4. if (dec==HIGH) { setlata1--; } } } break; delay(3); } <--- Remova esse fechamento de bloco e tente compilar.
  5. Seu código esta correto, o problema e que você tem que compilar a dll separadamente do projeto inicial(main.c) e depois você tem que linkar a dll no projeto principal, assim ele vai compilar corretamente. Se estiver usando o codeblocks, cria um Projeto, e escolhe Dynamic Link Library, depois só copia seu código para esse projeto, ai voce compila a dll. Depois vai no seu projeto inicial e linka essa dll.dll na propriedade do Projeto. Abaixo segue os projetos no codeblocks. Corrigindo, agora que vi que voce esta usando DevC++, então aconselho a apenas compilar os PROJETOS no codeblocks ou usar apenas o main.c, dll.h, dllmain.c no DevC++, porém se houver como criar um projeto de dynamic lib no DevC++ é melhor. Projeto dll.rar
  6. Não sabia muito sobre isso, porém dei uma pesquisada, e encontrei uma solução, perceba que só funciona com o titulo dos programas e não sua marca, no seu codigo voce usava 'printf()' mas não havia declarado #include <stdio.h>: #include <stdio.h> #include <iostream> #include <windows.h> using namespace std; int main() { HWND janela; char wlist[][100] = { "Calculadora", "Bibliotecas", "Gerenciador de Tarefas do Windows"}; int cnt = sizeof(wlist) / sizeof(*wlist); for (int i = 0; i < cnt; i++){ //Obter status da janela janela = FindWindow(0,wlist[i]); //Mensagem if (!janela) cout << wlist[i] << " esta fechado\n" << endl; else cout << wlist[i] << " esta aberto!\n" << endl; } getchar(); return 0; }
  7. Você precisa seguir a logica da questão, como se fosse uma estória. 1- Ler o código do produto a ser identificado com um da tabela. 2- Ler a quantidade que sera usado na "compra". 3- Calcular o preço unitário sendo que você tem uma certa quantidade do produto, e no caso você pega o preço do produto(caso o código foi identificado) e a quantidade do segundo, ai é so calcular valorProduto = precoUnitario*Quantidade. 4- sua vez No caso do seu outro comentário com o código(acima), se você não estiver cadastrando os produtos em uma struct, apenas mostrando com switch, creio que esta correto.
  8. 1 - Você determinar quantas pessoas vão ser armazenadas 2 - Você precisa de um plano de armazenamento, aconselho o uso de struct. Exemplo: #define MAX_PESSOAS 5 struct Pessoas { int idade; float altura; }; Pessoas pessoa[MAX_PESSOAS]; 3 - De acordo com seu código, você não recebeu os dados corretamente, o correto seria(seguindo o exemplo de cima): //Armazenar na estrutura 'pessoa' acima e finalizar quando for MAX_PESSOAS = 5 for(int i = 0; i < MAX_PESSOAS; i++){ printf("\nDigite a idade:"); scanf("%d",&pessoa[i].idade); printf("\nDigite a altura:"); scanf("%f",&pessoa[i].altura); } 4 - Para mostrar as informações de acordo com a media, você só precisa determinar quando mostrar os abaixo da media e depois os acima da media, exemplo: #define MEDIA_IDADE 50 //variveis int divisor = 0; float alturaTotal = 0.0; float mediaAltura = 0.0; //Obter todas alturas de pessoas com a idade acima da media for(int i = 0; i < MAX_PESSOAS; i++){ if(pessoa[i].idade > MEDIA_IDADE){ alturaTotal+=pessoa[i].altura; divisor++; } } //Nosso divisor tambem funciona como contador, ele determina qual a quantidade //de pessoas com idade acima da media. if(divisor <= 0) printf("Nenhuma pessoa possui idade acima/igual a %d",MEDIA_IDADE); else { mediaAltura = alturaTotal/divisor; printf("Media de altura das pessoas acima de %d anos : %f m", MEDIA_IDADE, mediaAltura); }
  9. Creio que você não verificou a condição do múltiplo 'int mm', na questão proposta, é dito que o múltiplo tem que ser menor ou igual ao segundo inteiro, então na parte do 'if (mm = num - (num % divisor))' voce apenas acrescenta o valor ao inteiro mm, porém precisa verificar se é menor ou igual ao segundo inteiro que no caso seria 'if (mm <= num - (num % divisor))' Mas você ainda nem sequer procurou pelo múltiplo, você pode utilizar um loop, e determinar ate quando ele sera finalizado, por exemplo: Como já temos o divisor, preciso verificar todos múltiplos ate obter um que seja menor ou igual ao 2º inteiro, e pegar o maior múltiplo, o loop faz exatamente isso, ele pega o m(múltiplo) verifica se o m*divisor for menor ou igual que o 2º inteiro, vamos continuar ate encontrar um que não seja, ai finalizamos o loop e já temos o maior inteiro int m; for(m = 0; m*divisor <= num; m++) mm = m*divisor; Como o mm so vai ter um valor real quando ele obter o multiplo, podemos simplificar e usa-lo para mostrar a mensagem: if(mm) printf("%d e o maior multiplo de %d, e menor ou igual a %d, resultando em: %d\n", m-1, divisor, num, mm); else printf("Sem multiplos menores que %d", divisor); *P.S: O loop 'for' acima é apenas um rascunho, não aconselho a usa-lo, procure um que seja definitivo, pois quando é colocado um divisor 0 e um 2 inteiro 0 ele fica procurando o múltiplo infinitamente. *P.S: Na 1 mensagem printf eu utilizei o argumento m-1 para identificar o multiplo, pois quando o loop termina ele acrescenta um valor a mais do que o necessário.
  10. if(resp) printf("NAO POSSUI CICLOS\n"); else printf("POSSUI CICLOS\n"); } <--- Fechamento de bloco fantasma, ou seja não deveria estar ai, creio que essa seja um dos erros, porém não sei como ajudar no restante do código sem saber o calculo e a logica usada.
  11. No caso você tem vários vector<int> da linguagem C++, que no caso seria trocado por matrizes: int [], como o CiroboyBR disse. porém eu acho que na linguagem C não foi implementado a possibilidade de declarar variáveis dentro do loop 'for', exemplo: no C++ podemos usar 'for(int j = 0; j < 8; j++)' mas no C temos que declarar o j e depois usar normalmente no loop, exemplo: int j = 0; for(j = 0; j < 8; j++){ } Então se quiser usar for no C, terá que declarar as variáveis antes de usar no loop. vector<> é do std da biblioteca <iostream>.
  12. http://www-cs-students.stanford.edu/~jl/Essays/ga.html

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!