Ir ao conteúdo
  • Cadastre-se

James_Mulder

Membro Pleno
  • Posts

    40
  • Cadastrado em

  • Última visita

Tudo que James_Mulder postou

  1. Coloquei uma laço para ler a nota de 4 bimestres de 10 alunos, mas só aparece 0 #include <stdio.h> #include <stdlib.h> /*4. */ int main(){ int op, i, j; float aluno[10][4]={0}; printf("[1] Entrada de dados\n[2] Pesquisa de RA\n[3] Relatorio de RAs\n[4] Fim"); printf("\ndigite sua opcao: "); scanf("%d", &op); switch(op){ case 1: for(i=0; i<10; i++){ for(j=0; j<4; j++){ printf("\nAluno %.0f - nota do bimestre %.0f: ", aluno[i][j]); scanf("%f", &aluno[j]); } } } }
  2. Olá! Estou lendo sobre redes de computadores e fiquei com uma dúvida (talvez meio *****): Segundo o livro, toda informação, é inicialmente um bit, transmitido por eletricidade através de um cabo, e quando chega ao computador, tem um protocolo codificador que transforma os 0 e 1 em informação convertida. Mas sem cabos (notebooks, celular), como isso funciona na prática?
  3. @arfneto Muito boa a resposta. Vou até salvar aqui. Valeu!
  4. Comecei a estudar matrizes hoje e estou com algumas dúvidas. No caso, o printf não imprime da forma correta. Preciso ler 5 colunas de uma linha e mostrar o total eu coloquei 3 linhas pois ainda estou dsenvolvendo #include <stdio.h> #include <stdlib.h> //exercício 2 int main() { int matriz[3][5]; int i, x, total1=0, total2=0, total3=0, total; for(i=0; i<5; i++){ printf("digite o valor %d da linha 1: ", i+1); scanf("%d", &matriz[0][i]); total1+=matriz[0][i]; } for(i=0; i<5; i++){ printf("%d = %d", matriz[0][i], total1); } }
  5. #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main() { int cand1=0, cand2=0, brancos=0, nulos=0, total=0; float porccand1=0, porccand2=0, porbrancos=0, pornulos=0; char op, c; do{ printf("Digite\n1 para o candidato X,\n2 para o candidato Y,\nB para votar em branco\nN para votar nulo"); printf("\nou 0 para sair: "); fflush(stdin); scanf("%c%c", &op, &c); //lê dois caracteres para limitar os votos a apenas 1 caracter op=toupper(op); switch(op){ case '1': if(c != '\n') //caso seja digitado dois caracters iguais (11) ele desconsiera e soma para nulos nulos++; else cand1++; break; case '2': if(c != '\n') nulos++; else cand2++; break; case 'B': brancos++; break; case 'N': nulos++; break; case '0': break; default: nulos++; break; }total=cand1+cand2+nulos+brancos; system("cls"); }while(op != '0'); printf("votos para o candidato X = %d\n\nvotos para o candidato Y = %d\n\nvotos brancos = %d\n\nvotos nulos = %d\n", cand1, cand2, brancos, nulos); printf("\ntotal de votos = %d\n\n", total); porccand1=((cand1/total)*100); porccand2=((cand2/total)*100); porbrancos=((brancos/total)*100); pornulos=((nulos/total)*100); printf("%.2f", porccand1); printf("\n%.2f", porccand2); printf("\n%.2f", porbrancos); printf("\n%.2f", pornulos); }
  6. @devair1010 valeu! tentei várias coisas e nenhuma deu certo. não estou habituado a usar logica booleana. O if(flag) seria o mesmo q dizer se flag for verdade (recebeu o numero 50), então ele é verdadeiro e vai imprimir a mensagem?
  7. o problema ocorre no case 4. caso algum numero digitado foi igual a 50, ele deve mostrar em que posição se encontra. mas só funciona se for digitado 50 na posicao 0, de resto ele mostra a posicao em que foi digitado (por exemplo "50 na posicao 2") e em seguida mostra a a mensagem do else "\n50 nao aparece no vetor" a qnt de vezes igual a posicao do valor 50 (eu sei, ficou dificl de entender) o problema é so no case 4, desconsiderem o resto porque ainda está em produção #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main() { int vetorA[10], vetorB[10]; int i, x, soma10=0; int op; for (i=0; i<10; i++){ printf("Valor %d do vetor: ", i+1); scanf("%d", &vetorA[i]); } printf("opção: "); scanf("%d", &op); switch(op){ case 1: for(i=0; i<10; i++){ vetorB[i]=vetorA[i]; printf("\n%d", vetorB[i]);} break; case 2: case 3: printf("posicao 7 %d\nposicao 9 %d", vetorA[7], vetorA[9]); break; case 4: for(i=0; i<10; i++){ if(vetorA[i]==50){ printf("\n50 na posicao %d", i); break;} else printf("\n50 nao aparece no vetor"); }break; case 5: for(i=0; i<10; i++){ if(vetorA[i]==10){ soma10++;}} if(soma10==1){ printf("10 aparece uma vez no vetor A"); break;} else if(soma10>=2){ printf("\n10 aparece %d vezes no vetor A", soma10); break;} else{ printf("10 nao aparece nenhuma vez no vetor A"); break;} }}
  8. @zPsychosocial ah, sim. tem a questão das posições do vetor. Valeu
  9. #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main() { int vetorA[10]={0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, vetorB[10]={0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; int i; char op; for (i=0; i<10; i++){ printf("Valor %d do vetor: ", i+1); scanf("%d", &vetorA[i]); } printf("opção: "); fflush(stdin); scanf("%c", &op); switch(op){ case '1': for(i=0; i<10; i++){ vetorB[i]=vetorA[i]; printf("\n%d", vetorB); } } }
  10. Preciso fazer um programa que calcule a qnt de votos de dois candidatos, o numero d votos brancos e nulos. estou com 2 problemas: é pra adicionar 1 aos nulos quando uma das opções for errada, por exemplo '3', mas quando eu digito 11, vai tanto um voto pro candidato 1 (que tem o codigo 1 pra receber votos) qnt pro nulo. e é pro programa paraar quando for digitado 0, mas quando eu digito 0 contabiliza para os nulos também. tem alguma forma de fazer uma "exceção" pro 0? #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main() { int op, cand1=0, cand2=0, brancos=0, nulos=0; //candidato 1 e candidato 2 char op; do{ printf("Digite\n1 para o candidato X,\n2 para o candidato Y,\nB para votar em branco\nN para votar nulo"); printf("\nou 0 para sair: "); fflush(stdin); scanf("%c", &op); op=toupper(op); switch(op){ case '1': cand1++; break; case '2': cand2++; break; case 'B': brancos++; break; case 'N': nulos++; break; default: nulos++; break; } system("cls"); }while(op != '0'); printf("%d\n\n%d\n\n%d\n\n%d", cand1, cand2, brancos, nulos); } adicionado 3 minutos depois se forem testar, tirem aquele op do int. tava testando de outra forma e esqueci de tirar qn postei aqui
  11. coloquei a condição para que quando o char seja diferente de 'f' ou 'm' o programa pare, mas ele continua com o loop #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main(){ int n, idade, peso, i, mediapeso=0, qntpeso=0, peso_acima80=0; int mediaidade=0, idade_acima25=0, qntidade=0; char op; do{ printf("\nquantidade de pessoas: "); scanf("%d", &n); for(i=0; i<n; i++){ printf("\npeso em kg: "); scanf("%d", &peso); printf("idade: "); scanf("%d", &idade); printf("sexo [m/f]: "); getchar(); scanf("%c", &op); op=tolower(op); if(op=='m'){ qntpeso++; mediapeso+=peso; mediapeso=mediapeso/qntpeso; if(op=='m' && peso>80) peso_acima80++;} if(op=='f'){ qntidade++; mediaidade+=idade; mediaidade=mediaidade/qntidade; if(op=='f' && idade>25) idade_acima25++; } }printf("media do peso dos homens = %d\nquantidade de homens acima de 80kg = %d", mediapeso, peso_acima80); printf("\nmedia da idade das mulheres = %d\nquantidade de mulheres acima dos 25 anos = %d", mediaidade, idade_acima25); }while(op!='m' || op!='f'); }
  12. Fiz um programa que pede um numero total de funcionarios, calcula um aumento fixo p cada um e a a partir da daí pede um monte de coisa. A unica (eu acho) q n consegui foi calcular a media dos funcionarios q ganham abaixo de 1000 mesmo apos o aumento. Ela está no final do codigo #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main(){ int funcionarios, salario_inicial, aumento, aumento_salarial, i, maior, menor; int total=0, total5000=0, cond1=0, menos_de_mil=0, media=0; //cond1 = quantos ganham entre 1001 e 2500 antes dos aumentos int cond2=0; //cond2 = quantos ganharam um aumento entre 2501 e 5000 char op; do{ printf("total de funcionarios: "); scanf("%d", &funcionarios); for(i=0; i<funcionarios; i++){ printf("\nsalario %d: ", i+1); scanf("%d", &salario_inicial); if(salario_inicial >1000 && salario_inicial <=2500) cond1++; if(salario_inicial<=1000){ aumento=salario_inicial+(salario_inicial*0.035); aumento_salarial=salario_inicial*0.035;} else if(salario_inicial>1000 && salario_inicial<=2500){ aumento=salario_inicial+(salario_inicial*0.03); aumento_salarial=salario_inicial*0.03;} else if(salario_inicial>2500 && salario_inicial<=5000){ aumento=salario_inicial+(salario_inicial*0.025); aumento_salarial=salario_inicial*0.025;} else if(salario_inicial>5000){ aumento=salario_inicial+(salario_inicial*0.01); aumento_salarial=salario_inicial*0.01;} if(i==0){ maior=aumento;} else if(i==0) menor=aumento; if(aumento>maior){ maior=aumento;} else if(aumento<menor) menor=aumento; if(aumento>5000) total5000+=aumento; if(aumento_salarial>2500 && aumento_salarial <=5000) cond2++; if(aumento<1000) menos_de_mil++; total+=aumento; media=aumento+aumento; media=aumento/menos_de_mil; printf("\nnovo salario %d\n", aumento); } printf("quer continuar [S/N]"); getchar(); scanf("%c", &op); op=toupper(op); }while(op != 'N'); printf("\nmaior %d\nmenor %d\n%d funcionarios ganham entre 1001 e 2500 antes dos aumentos", maior, menor, cond1); printf("\nsoma total dos salarios apos o aumento %d", total); printf("\nsoma total dos salarios acima de 5000 apos o aumento = %d\n", total5000); printf("%d funcionarios ganharam aumento entre 25001 e 5000", cond2); printf("\nmedia dos que ganham menos de 1000 apos o aumento = %d", media); }
  13. @Flávio Pedroza acredito q sim. Vou fazer a somatoria na calculadora pra conferir, mas aparentemente está correto.
  14. Exercício: fazer a soma de 37*38/1 + 36*37/2 .... + 1*2/37 eu sei q parece uma duvida meio *****, mas n consigo fazer a somatoria dos valores 1406 + 666... e quando coloco float nas variaveis só resulta em 0 #include <stdio.h> #include <stdlib.h> int main(){ int a, b=38, div=0, media=0, soma=0; for(a=38; a>=2;a--){ b--; div++; media=((a*b)/div); soma=media+media; printf("soma dos inteiros %d\n", soma); } }
  15. @isrnick tava usando dev c++ mas já deu pra resolver com o getchar(). Valeu pela explicação
  16. @Flávio Pedroza Funcionou XD valeu mesmo pela ajuda. Eu raramente uso o char, então não tinha muito conhecimento sobre esse tipo.
  17. @Flávio Pedroza não deu o mesmo problema, mas no momento em q eu digito um numero pra variavel int n a execução fecha. Acontece no seu IDE também?
  18. @Flávio Pedroza aparece um erro chamado deprecated conversion from string constant to 'char*'
  19. Qual a forma de armazenar esse tipo de char? com scanf já tentei e n funciona #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main() { int i, n, tab=0; char op; printf("n: "); scanf("%d", &n); printf("operacao '*' para multiplicar, '+' para somar"); gets(op); if(op == '*'){ for(i=1; i<=10; i++){ tab++; printf("\n%d", n*tab); }}}
  20. @Felipe Eduardo R. Mesquita @Felipe Eduardo R. Mesquita esquece o q eu disse ai em cima. Me esqueci q era menor de 18 anos. por algum motivo eu estava com <25 na mente. Desculpe. Valeu pela ajuda
  21. @Felipe Eduardo R. Mesquita quando eu coloco um jogador na condição (altura < 1.80 && idade < 18), por exemplo 1.78 de altura e 22 de idade ele não soma. Aparece como 0 no final. O seu também está assim ou deve ser meu compilador?
  22. ler a altura e a idade de 5 jogadores. No final mostre qnts tem mais de 1.80m, qnts tem 25 anos ou mais e qnts são menores do q 1.80m e também tem menos de 18 anos. Estiu com problemas para fazer a contagem desse último, atribuindo tanto altura qnt idade em um contador soma_inferior #include<stdio.h> #include <stdlib.h> int main(){ int i, idade[5], soma_idade=0, soma_altura=0; float altura[5], media=0, soma_inferior=0; for(i=0; i<5; i++){ printf("Altura do jogador %d : dade do jogador %d: ", i+1, i+1); scanf("%f %d", &altura[i], &idade[i]); if(altura[i]>1.80) soma_altura++; if(idade[i]>=25) soma_idade++; else if(altura[i]<1.80 && idade[i]<18){ soma_inferior++; } } printf("%d jogadores com mais de 1.80m", soma_altura); printf("\n%d jogadores com mais de 25 anos", soma_idade); printf("\n%d jogadores com menos de 1.80m e menores de 18 anos", soma_inferior); }
  23. @Flávio Pedroza agora nos cases 3 e 4 tem apenas um animal. morcego pra 3(voador) e baleia pra 4 (aquatico), então não tem o q scanf ou switch. eu tento colocar apenas case 3 e imprimir direto mas n aparece #include <stdio.h> #include <stdlib.h> #include <math.h> int main(){ int op, op2, op3, op4, op5, op6, op7, op8; printf("-----------------------MENU--------------------"); printf("\n1 para mamiferos\n2 para aves\n3 para repteis"); printf("\ndigite a opcao: "); scanf("%d", &op); switch(op){ case 1: //mamiferos printf("\n1 para quadrupedes\n2 para bipedes\n3 para voador\n4 para aquatico:\n "); scanf("%d", &op2); switch(op2) { case 1: //quadrupedes printf("\n1 para carnivoros \n2 para herbivoros:\n "); scanf("%d", &op3); switch(op3){ case 1: //carnivoros printf("Leao"); break; case 2://herbivoros printf("Cavalo"); break;} break; case 2: // bipedes: printf("\n1 para onivoro \n2 para frutifero:\n "); scanf("%d", &op4); switch(op4){ case 1: //onivoro printf("Homem"); break; case 2: //frutifero printf("Macaco"); break; break; case 3: // voador printf("Morcego"); break; break; }}}} adicionado 56 minutos depois era
  24. @Flávio Pedroza agora preciso que o programa pare depois de chegar ao fim de uma das categorias. Mesmo depois q acaba a quadrupedes, ainda assim ele continua e pergunta a opção pra bipede #include <stdio.h> #include <stdlib.h> #include <math.h> int main(){ int op, op2, op3, op4, op5, op6, op7, op8; printf("-----------------------MENU--------------------"); printf("\n1 para mamiferos\n2 para aves\n3 para repteis"); printf("\ndigite a opcao: "); scanf("%d", &op); switch(op){ case 1: //mamiferos printf("\n1 para quadrupedes\n2 para bipedes\n3 para voador\n4 para aquatico"); scanf("%d", &op2); switch(op2) { case 1: //quadrupedes printf("\n1 para carnivoros \n2 para herbivoros"); scanf("%d", &op3); switch(op3){ case 1: //carnivoros printf("Leao"); break; case 2://herbivoros printf("Cavalo"); break;}} case 2: // bipedes: printf("\n1 para onivoro \n2 para frutifero"); scanf("%d", &op4); switch(op4){ case 1: //onivoro printf("Homem"); break; case 2: //frutifero printf("Macaco"); break; }}}
  25. @Flávio Pedroza valeu! vou tentar o código completo

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...