Ir ao conteúdo
  • Cadastre-se

devair1010

Membro Pleno
  • Posts

    6.293
  • Cadastrado em

  • Última visita

Tudo que devair1010 postou

  1. @Zweiss você colocou o vetor vect dentro da função main e isso costuma causar erros, é melhor declarar o vetor como global colocando essa declaração lá no inicio antes da main, então coloquei essa declaração lá no inicio : veja como ficou o seu código : #include <stdio.h> int tam=1,vect[1]; int pedir_tamanho(); int pedir_valor_vect(int n); void func(int vector[], int tamanho); void func_mostra(int vector[], int tamanho); void mostra_int (int pos_vect,int i); int main (){ setvbuf (stdout, NULL, _IONBF, 0); tam = pedir_tamanho(); vect[tam]; func (vect, tam); int i, soma=0; //somar as posições do vetor for (i=0; i<tam; i++) { soma=soma+vect[i]; } func_mostra (vect, tam); } //pedir o tamanho do vetor int pedir_tamanho (){ int tama; printf ("Insira o tamanho do vector a criar: "); scanf ("%d", &tama); return tama; } void func(int vector[], int tamanho){ int i; for (i=0; i<tamanho; i++) { vector[i]=pedir_valor_vect(i); } } //mostrar o vetor void func_mostra(int vector[], int tamanho){ int i; for (i=0; i<tamanho; i++) { mostra_int(vector[i],i); } } //pedir valores int pedir_valor_vect(int n){ int a; printf ("Insira numero %d: ", n+1); scanf ("%d", &a); return a; } //mostra a posicão e o número void mostra_int (int pos_vect,int i){ printf ("O %d valor : %d \n",i+1,pos_vect); }
  2. @Rodrigo2018 esse código parece ser do visualg, então a sintaxe das funções no visualg seria assim: funcao Nome-da-função(variável : tipo) : tipo inicio retorne expressão fimfuncao Exemplo de como criar uma função: funcao somar(x,y : inteiro) : inteiro var soma : inteiro inicio soma := x + y retorne soma fimfuncao
  3. @João Pedro Hass pode conectar o resistor no positivo ou no negativo não faz diferença você liga o positivo da pilha no terminal com sinal + que é o positivo aí do led, se você tiver um led novo ele terá uma perninha maior que a outra então essa perninha maior é o positivo do led , mas se você tem um led já usado ele provavelmente terá as duas pernas do mesmo tamanho então o negativo será o lado que tiver um chanfro ( uma parte reta ) na direção da perna.
  4. @João Pedro Hass sim funciona sim , înclusive se você ligar só a bateria de 9v funciona também; esses soquetes você compra em loja de componentes eletrônicos ou pela internet é só pesquisar no google, veja aí na sua cidade onde tem uma loja dessas de componentes eletrônicos.
  5. @João Pedro Hass você pode colocar 6 pilhas comum que vai dar 9v aí o cooler vair rodar bastante mas para rodar no máximo precisa colocar 8 pilhas comum que vai dar 12v e para ligar pode ligar o positivo das pilhas no fio vermelho do cooler e o negativo das pilhas no fio preto, mas se inverter também não tem problema não, apenas que o cooler vai girar ao contrário . veja como ligar as pilhas umas nas outras e depois no cooler : você pode usar um soquete de pilhas para quatro pilhas que vai dar 6v ou unir dois soquetes de 4 pilhas formando 12v ou conseguir um soquete de 8 pilhas
  6. @João Pedro Hass eu também não sei muito sobre eletrônica não, mas pelo que sei para você ligar um led você precisa ligar do lado certo pois ele tem dois terminais sendo que um é o anodo que se liga no positivo e o outro é o catodo que se liga no negativo, então para que o led se acenda você precisa ligar no mínimo 3v nele observando o positivo e o negativo, se usar 3v que é igual a duas pilhas, não precisa de resistor, mas se usar maior tensão, como por exemplo 5v, será preciso usar resistores para que o led não se queime . veja como são os terminais de um led :
  7. @gustavodbg pelo que sei esses driver eram necessários para os monitores antigos (crt) que informavam para o sistema operacional as sincronizações horizontal e vertical para eles funcionar certo, já nos monitores novos não precisa deles não.
  8. @Rafael Filho sinceramente eu não sei o motivo desse erro por que sou apenas iniciante em lógica de programação, mas já vi esse erro acontecer várias vezes e todas as vezes que acontecia eu colocava esse comando e resolvia, eu uso o codeblocks, não sei qual compilador você usa, por que em outro compilador pode ser que não dê certo.
  9. @Rafael Filho essa solução do @isrnick resolve certinho, mas tem uma outra solução que é usar a instrução fflush ( stdin ) ; antes do scanf ( " %c " , & duvida ) ; aqui eu testei e funciona bem.
  10. @Liandra Giovanna você precisa colocar em qual posição do vetor está se referindo, e precisa inicializar as variáveis maior e menor com o primeiro número digitado para que a partir daí ele faça as verificações de maior e menor . veja seu código com algumas modificações : Algoritmo "semnome" var i : inteiro x : vetor[1..10] de inteiro menor : inteiro maior : inteiro inicio escreval ("digite 10 números") para i de 1 ate 10 faca escreva("digite o ",i,"º número --> ") leia(x[i]) fimpara para i de 1 ate 10 faca se i=1 ENTÃO maior:=x[i] menor:=x[i] fimse se (maior < x[i]) ENTÃO maior <- x[i] fimse se (menor > x[i]) ENTÃO menor := x[i] fimse fimpara escreval("o menor número é = ",menor) escreval("o maior número é = ",maior) fimalgoritmo
  11. @Kiuski posta o código que você já fez assim poderemos ver como está e em que poderemos ajudar.
  12. @eyjafjallajokull_ a flag é apenas uma variável comum, apenas que eu inicializei ela com o valor zero antes de testar se algum aluno ficou reprovado, então se algum aluno tiver ficado reprovado a flag passa a ter o valor hum assim saberei que teve aluno reprovado, caso no final dos testes a flag continuar com valor zero é por que não teve nenhum aluno reprovado e aí escreve aquela mensagem informando que nenhum aluno foi reprovado.
  13. @eyjafjallajokull_ o que vi de errado é que estava juntando o nome com o sexo, e isso é por que você declarou a variável nome do tipo char com tamanho estipulado por MAX que vale 3 então o nome poderia ter apenas 3 caracteres e não sei bem por que mas ele juntava as duas variáveis, então para corrigir coloque nome com tamanho de 10 e sexo com tamanho 3. e lá na função lista_reprovados o else estava causando um erro também, então modifiquei isso colocando uma flag para imprimir o resultado certo. veja seu código com algumas modificações : #include <stdio.h> #include <string.h> #define MAX 3 struct vetor{ char nome[10], sexo[3], n_matricula [9]; int ano_nasc; float nota1, nota2, nota3, nota4; }; void leitura_alunos (struct vetor CAD[MAX]){ int i; char nMaior[MAX], nMenor[MAX]; float media, Mmenor=300, Mmaior=0; for (i=0;i<MAX;i++){ printf ("Insira o numero da matricula: "); fflush (stdin); gets (CAD[i].n_matricula); printf ("Digite o nome do aluno: "); fflush (stdin); gets (CAD[i].nome); printf ("Digite o sexo, 'M' para masc. e 'F' para fem.: "); scanf ("%c", &CAD[i].sexo); printf ("Digite o ano de nascimento: "); scanf ("%d", &CAD[i].ano_nasc); printf ("Insira aqui a nota da primeira prova: "); scanf ("%f", &CAD[i].nota1); printf ("Insira aqui a nota da segunda prova: "); scanf ("%f", &CAD[i].nota2); printf ("Insira aqui a nota da terceira prova: "); scanf ("%f", &CAD[i].nota3); printf ("Insira aqui a nota da quarta prova: "); scanf ("%f", &CAD[i].nota4); media = (CAD[i].nota1 + CAD[i].nota2 + CAD[i].nota3 + CAD[i].nota4)/4; printf ("Media = %.2f\n", media); if (media>=5) printf ("APROVADO!\n"); else printf ("REPROVADO!\n"); printf ("\n"); if (media>Mmaior){ Mmaior=media; strcpy (nMaior,CAD[i].nome); } else if (media<Mmenor){ Mmenor=media; strcpy (nMenor,CAD[i].nome); } } printf ("Aluno com a maior media = %s\nAluno com a menor media = %s\n\n", nMaior, nMenor); } void lista_reprovados (struct vetor CAD[MAX]){ int i,flag; float media; printf ("ALUNOS REPROVADOS:\n\n"); flag=0; for (i=0;i<MAX;i++){ media = (CAD[i].nota1 + CAD[i].nota2 + CAD[i].nota3 + CAD[i].nota4)/4; if (media<5){ printf("%s\n", CAD[i].nome); flag=1; } } if(flag==0){printf ("Nenhum aluno foi reprovado!");} } main (){ struct vetor CAD[MAX]; int i; leitura_alunos (CAD); lista_reprovados (CAD); }
  14. @Filipe de Luca pelo que vi ele está funcionando bem.
  15. @Filipe de Luca nesse caso para você fazer multiplicação de int com double ou float é preciso fazer a conversão colocando esse comando (float) antes do número int . veja como seu código ficaria : #include<stdio.h> int main(){ int num,horas; double valorh, sal; scanf("%d", &num); scanf("%d", &horas); scanf("%lf",&valorh);/*não pode colocar esse .2 aqui não, tem que colocar no printf*/ printf("NUMBER = %d\n", num); sal=valorh*(float)horas; printf("SALARY = U$ %.2lf\n", sal); }
  16. @Filipe de Luca alguns errinhos básicos, não se pode multiplicar float por int , e esse double é um problema melhor usar float mesmo . veja seu código com algumas modificações : #include<stdio.h> int main(){ int num ; float horas, valorh, sal; scanf("%d", &num); scanf("%f", &horas); scanf("%f",&valorh);/*não pode colocar esse .2f aqui não, tem que colocar é no printf*/ sal=valorh*horas; printf("NUMBER = %d\n", num); printf("SALARY = U$ %.2f\n", sal); } se usar double use também lf (LF Long Float em letras minúsculas) nos scanf e nos printf
  17. @JPistore esse erro que está dando é por que você colocou o \n dentro do scanf, para acertar basta deletar esse \n
  18. @Caroline Moraes esse texto que você escreveu já é um algoritmo, agora o que você precisa é traduzir para a linguagem c ,por exemplo você disse - Solicite, via teclado, o preço de um refrigerador. - em c seria scanf ( " %d " , preco ) ; com isso você pegaria o preço do refrigerador, e ali no se preco maior que 1000 - seria if ( preco > 1000 ) e aí faria o desconto de 10 % e o senão seria else e nesse caso faria o desconto de 7% e mostrar o preco final seria printf ( preco ) ;
  19. devair1010

    void e strcpy

    @lobo30 você precisa declarar a main como int e no strcpy coloque virgula no lugar de igual.
  20. @Natália Horvath não entendi o que você está querendo fazer, será que você está querendo girar a tela do pc? ou é notebook ? se for veja se essa informação que peguei na net te ajuda. Em primeiro lugar você pressione as é teclas "fn" e f5 para mudar o ecrã ativo. Sua tela ficara preta e depois aparecera no bom sentido. Em segundo lugar, e obrigatório para não ter nunca mais o problema (se não fizer isto a cada vez que iniciar o seu laptop a tela aparecera com a rotação de 90°) vá na barra de tarefas à direita em baixo da tela e clique no ícone Intel(R) Graficas Media Driver acelerator for Mobilie >> propriedades graficas >> parâmetros de afixagem >> desative a rotação. Volte ao menu principal da Intel e clique em tecla de acesso rapide e desative "ative as teclas de acesso rápido". Pressione sobre "aplicar, a direita abaixo desta caixa de dialogo e pronto! Você resolveu seu problema
  21. @lucashp com vetores é difícil fazer isso, melhor usar matriz que vai armazenar o nome dos alunos e as notas na mesma matriz. seu código com algumas modificações para funcionar com matriz : Algoritmo "notas" Var Nome : vetor [1..2,1..5] de Caracter nota:vetor [1..8] de real x,y:inteiro Soma,Media:real Inicio para x de 1 ate 2 faca soma:=0 escreval("Digite o nome do aluno :") leia(Nome[x,1]) para y de 2 ate 5 faca escreval("Digite a ",y-1,"ª nota do aluno") leia(nome[x,y]) Soma<-Soma+caracpnum(nome[x,y]) Media<-Soma/4 fimpara escreval("A soma da nota do aluno é : ",Soma) escreval("A media do aluno é : ",Media) fimpara para x de 1 ate 2 faca escreval("Nome Do Aluno ",Nome[x,1]) soma:=0 para y de 2 ate 5 faca escreval(y-1," nota ",nome[x,y]) soma:=soma+caracpnum(nome[x,y]) fimpara escreval("teve ",soma," pontos") media:=soma/4 escreval("media ",media) se soma >=30 ENTÃO escreval("Aprovado...!") fimse fimpara Fimalgoritmo
  22. @Yasmin Pereira então pelo jeito você vai precisar formatar seu notebook .
  23. @José Augusto Junior como você pode ver nesse site que te passei isso está acontecendo só com o windows 10, nos outros windows não há nenhum relato sobre essa tela verde. então tente instalar o w8 mesmo, é provável que funcione bem.
  24. @José Augusto Junior mas isso é com windows 10 , você ainda pode instalar o windows 8, talvez com ele não tenha esse problema.
  25. @José Augusto Junior essa tela verde veio substituir a antiga tela azul que dava quando o windows dava algum erro, e isso pode ser por vários motivos, pode ser problema de memória ou placa de vídeo ou nos driver de vídeo,se você pesquisar vai encontrar vários relatos deste fato acontecido. Agora para resolver você pode tentar o que este site ensina, tente aí. https://answers.microsoft.com/pt-br/windows/forum/windows_10-hardware/tela-verde-após-instalar-windows-10/98684f72-a271-414d-9f9b-544a12d8cd0d se não conseguir sugiro que leve seu pc em um técnico.

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!