Ir ao conteúdo
  • Cadastre-se

James_Mulder

Membro Pleno
  • Posts

    40
  • Cadastrado em

  • Última visita

posts postados por James_Mulder

  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]);
            }
        }
        }
    
    }

     

    • Curtir 1
  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. 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);
         }
    }

     

    • Obrigado 1
  4. #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);
    
    
    	}

     

    • Obrigado 1
  5. 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;}
    
    }}

     

    • Obrigado 1
  6. #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);
                }
    
    
        }
    
    }

     

    • Curtir 1
  7. 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
    2 minutos atrás, James_Mulder disse:

    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);
    
    
    	}

     

    se forem testar, tirem aquele op do int. tava testando de outra forma e esqueci de tirar qn postei aqui

  8. 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');
    }

     

  9. 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);
    
    }
    

     

    • Obrigado 1
  10. 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);
        }
    
        }

     

  11. 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);
    	}}}

     

  12. 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);
    
    }

     

    • Obrigado 1
  13. @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
    56 minutos atrás, James_Mulder disse:

     

    @Flávio Pedroza

    era só colocar uma } depois do break; fui desatento 

    era

    • Curtir 1
  14. @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;
                }}}
    
    

     

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!