Ir ao conteúdo
  • Cadastre-se

Malcolm X

Membro Pleno
  • Posts

    134
  • Cadastrado em

  • Última visita

posts postados por Malcolm X

  1. Pessoal, deem uma ajuda em um conteúdo de estudo que estou fzndo pro meu github.

    Estou com um problema no código, estou querendo buscar o valor max e min da bst.

    Remoção não construi ainda, mas se poderem me dá uma força também.

    Conteúdo Completo:

    https://github.com/DanielSantDev/Estrutura-de-Dados-Cpp/tree/main/03-Árvores

     

        Tipo valorMaximo(Node<Tipo> *t) {
            if(t == NULL) {
                return NULL;
            }else {
                if(t->pDir == NULL) {
                    return t->info;
                    }else {
                        return t->pDir = valorMinimo(t->pDir);
                    }
            }
        }
    
        Tipo valorMinimo(Node<Tipo> *t) {
            if(t == NULL) {
                return NULL;
            }else {
                if(t->pEsq == NULL) {
                    return t->info;
                    }else {
                        return t->pEsq = valorMinimo(t->pEsq);
                    }
                }
            }

     

    • Haha 1
  2. /*Uma empresa vende o mesmo produto para quatro diferentes estados. Cada estado
    possui uma taxa diferente de imposto sobre o produto (MG 7%; SP 12%; RJ 15%; MS
    8%). Fac¸a um programa em que o usu´ ario entre com o valor e o estado destino do
    produto e o programa retorne o prec¸o final do produto acrescido do imposto do estado
    em que ele ser´a vendido. Se o estado digitado n˜ao for v´ alido, mostrar uma mensagem
    de erro.*/
    main()
    {
        int valor,opc;
        printf("Digite o valor do produto: ");
        scanf("%d",&valor);
        printf("Escolha o estado.\n");
        printf("Escolha - Estado = Imposto\n");
        printf("   1   -   MG    =  7%%\n   2   -   MS    =  8%%\n");
        printf("   3   -   SP    =  12%%\n   4   -   RJ    =  15%%\n");
        printf("Escolha: ");
        scanf(" %d",&opc);
    
        switch(opc)
        {
            case 1:
            {
                printf("Estado escolhido: Minas Gerais - Taxa de imposto 7%%.\n");
                printf("O preço final do produto com o imposto é R$%d\n",valor+(valor*0,07));
                break;
            }
            case 2:
            {
                printf("Estado escolhido: Mato Grosso do Sul - Taxa de imposto 8%%.\n");
                printf("O preço final do produto com o imposto é R$%d\n",valor+(valor*0,08));
                break;
            }
            case 3:
            {
                printf("Estado escolhido: São Paulo - Taxa de imposto 12%%.\n");
                printf("O preço final do produto com o imposto é R$%d\n",valor+(valor*0,12));
                break;
            }
            case 4:
            {
                printf("Estado escolhido: Rio de Janeiro - Taxa de imposto 15%%.\n");
                printf("O preço final do produto com o imposto é R$%d\n",valor+(valor*0,15));
                break;
            }
            default:
            {
                printf("O estado não foi escolhido corretamente.\n");
                break;
            }
        }
    }

    Já resolvi o problema troquei os valores por " valor+(valor*(8/100)) "

    Mas fiquei sem saber porque acontece esse erro, nunca tinha ocorrido cmg.

    Pesquisei e achei esse caso de outra pessoa: https://stackoverflow.com/questions/8459030/whats-wrong-with-array-declaration-invalid-digit-in-octal-constant

    Pelo o que eu entendi o certo é colocar um espaço Ex.: " 8" ao invés de "08"

    Mas ainda não entendi o porquê. Se alguém poder me ajudar a entender agradeço.

  3. /*Uma empresa vende o mesmo produto para quatro diferentes estados. Cada estado
    possui uma taxa diferente de imposto sobre o produto (MG 7%; SP 12%; RJ 15%; MS
    8%). Fac¸a um programa em que o usu´ ario entre com o valor e o estado destino do
    produto e o programa retorne o prec¸o final do produto acrescido do imposto do estado
    em que ele ser´a vendido. Se o estado digitado n˜ao for v´ alido, mostrar uma mensagem
    de erro.*/
    
    main()
    {
    
        setlocale(LC_ALL, "Portuguese");
        int valor,opc;
        printf("Digite o valor do produto: ");
        scanf("%d",&valor);
        printf("Escolha o estado.\n");
        printf("Escolha - Estado = Imposto\n");
        printf("   1   -   MG    =  7%%\n   2   -   MS    =  8%%\n");
        printf("   3   -   SP    =  12%%\n   4   -   RJ    =  15%%\n");
        printf("Escolha: ");
        scanf(" %d",&opc);
    
        switch(opc)
        {
            case 1:
            {
                printf("Estado escolhido: Minas Gerais - Taxa de imposto 7%%.\n");
                printf("O preço final do produto com o imposto é R$%d\n",valor+(valor*0,07));
                break;
            }
            case 2:
            {
                printf("Estado escolhido: Mato Grosso do Sul - Taxa de imposto 8%%.\n");
                printf("O preço final do produto com o imposto é R$%d\n",valor+(valor*(8/100)));
                break;
            }
            case 3:
            {
                printf("Estado escolhido: São Paulo - Taxa de imposto 12%%.\n");
                printf("O preço final do produto com o imposto é R$%d\n",valor+(valor*0,12));
                break;
            }
            case 4:
            {
                printf("Estado escolhido: Rio de Janeiro - Taxa de imposto 15%%.\n");
                printf("O preço final do produto com o imposto é R$%d\n",valor+(valor*0,15));
                break;
            }
            default:
            {
                printf("O estado não foi escolhido corretamente.\n");
                break;
            }
        }
    
    }

    Pessoal estou com um problema. Parece que não estou o meu CodeBlocks não está mais funcionando a biblioteca ocale.h, antigamente conseguia. Mas mesmo declarando #include <locale.h>, e o setlocale(LC_ALL, "portuguese-brazilian"); , os caracteres especiais não aparecem.

  4. Pessoal, após conectar e reconectar o cabo Sata 3 da placa o HD voltou a funcionar. Não entendi o porque aconteceu isso. Estava td de boa, não mexo na minha máquina há um bom tempo. E foi apenas dps da instalação da atualização que desapareceu todos os ícones da área de trabalho, assim causando o problema. Enfim, agradeço a todos que me ajudaram até aqui. Valeu. Abs.

  5. 3 minutos atrás, Tavaares00 disse:

    @Malcolm X Tentou fazer o que falei? Deu certo?

    Não encontrei esse "Gerenciamento de Disco"

    Apenas Gerenciamento de Dispositivos. E no botão ação não possui a opção Examinar discos novamente.

    4 minutos atrás, Malcolm X disse:

    Não encontrei esse "Gerenciamento de Disco"

    Apenas Gerenciamento de Dispositivos. E no botão ação não possui a opção Examinar discos novamente.

    Achei. Estava no lugar errado rs. 

    Executei o que você pediu.

    image.thumb.png.350e719581c49cb0b7ee278273374626.png

    Acho que não está reconhecendo mesmo não é mesmo?

    Aparece apenas meu HD externo e SSD

  6. Após séries de atualizações Windows 10, HD não está mais sendo reconhecido. Não sei exatamente qual atualização mexeu nisso. Só sei que nada está no diretório certo. O SO só está reconhecendo meu SSD de 120 GB. O HD por outro lado está fora. Procurei em várias pastas. Nada. Partições? Nada. Desapareceu, como se eu não tivesse um. Não é problema com HD, pois já desinstalei as atualizações e voltou a funcionar. Porém, esqueci de desativar as atualizações automáticas e agora não consigo desinstalar novamente as atts. 

    Alguém poderia ajudar, ou se alguém já teve algo parecido.

    image.thumb.png.4bf5e3a631c9be7850cff3955965bb14.png 

     

    Segue as últimas atualizações:

    image.thumb.png.3edf0e95cfbb16f6ba52f1103635cf75.png

     

    Reconhece meu SSD(C) e meu disco externo(E). Mas o meu HD interno(D) não está mais no computador.image.thumb.png.dd1d1ea429025f7e3354f968c516bc89.png

  7. @GabrielLV @carlos muccioli Meu Windows Update todo apresentando problemas. A atualização foi sozinho mesmo eu tendo bloqueado o serviço no Executar/services.msc/Windows Update. Geralmente faço as atualizações e nada ocorre. Mas essa última ***** comigo, não consigo mais acessar meu HD. Apenas o SSD. Meu HD que tem meus arquivos da faculdade.

     

    9 minutos atrás, Malcolm X disse:

    @GabrielLV @carlos muccioli Meu Windows Update todo apresentando problemas. A atualização foi sozinho mesmo eu tendo bloqueado o serviço no Executar/services.msc/Windows Update. Geralmente faço as atualizações e nada ocorre. Mas essa última ***** comigo, não consigo mais acessar meu HD. Apenas o SSD. Meu HD que tem meus arquivos da faculdade.

     

    image.thumb.png.870c22d6c58f6a47574dec94c2e1621c.png

    Tento desinstalar isso mas aparece essa mensagem. Foi essa atualização que me trouxe esse problema

     

  8. Tive um problema após uma atualização do Windows.

    A atualização foi:

    Update for the new Microsoft Edge for Windows 10, version 1903, 1909, and 2004: October 28, 2020

     

    E teve outras atualizações de Driver:

    AOC International (Europe) GmbH - Display - AOC 2260

    INTEL - System - 7/18/1968 12:00:00 AM - 10.1.14.7

    INTEL - System - 10/3/2016 12:00:00 AM - 10.1.1.38

     

    Após essas atualizações meu Windows começou a não reconhecer mais minhas pastas do HD, apenas do SSD. A maioria dos meus arquivos estão no HD. SSD só mais o Sistema operacional.

    problem.png.9b29f8de884b978175234078bf1d0ff4.png

    Para todas as pastas está aparecendo essa msg. Deste de Desktop até Videos e etc...

    Alguém conseguiria me ajudar?

  9. Olá pessoal. Estou com um programa desafio que não estou conseguindo fzr certa parte.

    O desafio é o seguinte:

    Escreva um programa que tem as 3 vetores (unidimensionais) nome[20] e 3 vetores email[30] declaradas como variáveis globais. Na função main()  faça um menu com as seguintes funções:

     

       1 – entrada de dados.

       2 – lista todos os dados na tela.

       3 – pesquisa um nome completo e mostra na tela

       4 – pesquisa os nome pela 1. letra e mostra todos na tela.

       5 – altera  dados. Com pesquisa pelo nome

       6 – exclui dados. Com pesquisa pelo nome

       7 - saída

     

    OBS: Os 6 vetores devem ser escritos e lidos de um arquivo.

     

    Já consegui fzr parte do desafio, mas ainda me falta entrar com os 3 nomes e 3 emails. Não consegui achar uma solução, a não ser que eu use um vetor bidimensional, mas nesse caso estaria usando um recurso que não é permitido pela ativida já que ela pede apenas vetores unidimensionais.

    Alguém poderia dar uma força nessa parte do programa para assim eu continuar com a atividade.

     

    Código:

     

    #include<stdio.h>
    #include<stdlib.h>
    #include<locale.h >
    
    //variáveis globais
    char nome1[20], nome2[20], nome3[20];
    char email1[30], email2[30], email3[30];
    
    //protótipos das funções
    void EscreverDados();
    void LerDados();
    
    //ponteiro
    FILE *arquivo;
    
    //MAIN
    void main(){
        setlocale(LC_ALL, "portuguese"); //pontuação
        short menu;
        do{
            system("color A");
            system("cls");
            printf("*******************| SEJA BEM-VINDO! |******************* \n");
            printf("\nEntrada de dados\n\nInsira sua opção;\n");
            printf("1 * Entrada de dados\n");
            printf("2 * Lista todos os dados na tela\n");
            printf("3 * Pesquisa um nome e mostra na tela\n");
            printf("4 * Pesquisa os nomes pela 1ª Letra e mostra todos na tela\n");
            printf("5 * Altera dados\n");
            printf("6 * Exclui dados\n");
            printf("7 * Sair\n");
            scanf("%d", &menu);
            system("cls");
            switch(menu){
                case 1:
                    printf("**** ENTRADA DE DADOS ****\n");
                    getchar();
                    printf("\nInsira o 1º Nome--> ");
                    gets(nome1);
                    printf("Insira o 1º E-mail--> ");
                    gets(email1);
                    EscreverDados();
                    printf("\n\n--Tecle algo para voltar ao menu--");
                    getch();
                    break;
                case 2:
                    printf("**** LISTAGEM DE TODOS OS DADOS ****\nNomes:\n");
                    getchar();
                    LerDados();
                    printf("--> %s\n", nome1);
                    printf("--> %s\n\n", email1);
                    printf("\n\n--Tecle algo para voltar ao menu--");
                    getch();
                    break;
                case 3:
                    //a ser feita...
                    printf("\n\n--Tecle algo para voltar ao menu--");
                    getch();
                    break;
                case 7:
                    system("color a");
                    getch();
                    exit(0);
                    break;
            }
        }while(menu != 7);
    }
    
    void EscreverDados(){ //função para escrever nos arquivos
        arquivo = fopen("arq.txt", "wt");
        fwrite(nome1, 1, sizeof(nome1), arquivo);
        fwrite(email1, 1, sizeof(email1), arquivo);
        fclose(arquivo);
    }
    
    void LerDados(){//Le todos os dados
        arquivo = fopen("arq.txt", "rt");
        fread(nome1, 1 , sizeof(nome1), arquivo);
        fread(email1, 1 , sizeof(email1), arquivo);
        fclose(arquivo);
    }
    
    void LerNomes(){//Le os nomes
        arquivo = fopen("arq.txt", "rt");
        fread(nome1, 1 , sizeof(nome1), arquivo);
        fclose(arquivo);
    }

     

    • Obrigado 1
  10. Me ajudem não acho o erro no meu programa:

     3 - De um modo geral, as ligações telefônicas são cobradas pelas suas durações.
        O sistema registra os instantes em que a ligação foi iniciada e concluída.
        Escreva um programa que recebe via teclado dois instantes dados em
        horas, minutos e segundo e determina o intervalo de tempo
        (em horas, minutos e segundos) decorrido entre eles.

    main()
    {
        int hora1,minuto1,segundo1,hora2,minuto2,segundo2,instante1=0,instante2=0,total=0,h=0,m=0,s=0;
        printf("Digite a hora do primeiro instante: ");
        scanf("%d", &hora1);
        printf("Digite os minutos do primeiro instante: ");
        scanf("%d", &minuto1);
        printf("Digite os segundos do primeiro instante: ");
        scanf("%d", &segundo1);
    
        instante1=(hora1*3600)+(minuto1*60)+segundo1; //passa tudo para segundos
    
        printf("Digite a hora do segundo instante: ");
        scanf("%d", &hora2);
        printf("Digite os minutos do segundo instante: ");
        scanf("%d", &minuto2);
        printf("Digite os segundos do segundo instante: ");
        scanf("%d", &segundo2);
    
        instante2=(hora2*3600)+(minuto2*60)+segundo2; //passa tudo para segundos
        total=instante2-instante1;
        h=total/3600;
        m=((h*3600)-total)*60;
        s=(total-(h*3600+(m*60)));
        printf("O intervalo de tempo será;\n");
        printf("%d h/ %d min/ %d sec\n", h, m, s);
        printf("*****************FIM DO PROGRAMA.*****************");
    
    }

     

    adicionado 37 minutos depois
    main()
    {
        int hora1,minuto1,segundo1,hora2,minuto2,segundo2,instante1=0,instante2=0,total=0,h=0,m=0,s=0;
        printf("Digite a hora do primeiro instante: ");
        scanf("%d", &hora1);
        printf("Digite os minutos do primeiro instante: ");
        scanf("%d", &minuto1);
        printf("Digite os segundos do primeiro instante: ");
        scanf("%d", &segundo1);
    
        instante1=(hora1*3600)+(minuto1*60)+segundo1; //passa tudo para segundos
    
        printf("Digite a hora do segundo instante: ");
        scanf("%d", &hora2);
        printf("Digite os minutos do segundo instante: ");
        scanf("%d", &minuto2);
        printf("Digite os segundos do segundo instante: ");
        scanf("%d", &segundo2);
    
        instante2=(hora2*3600)+(minuto2*60)+segundo2; //passa tudo para segundos
        if(instante1>instante2)
        {
            total=(24*3600-instante1)+instante2;
            printf("O intervalo de tempo será; %d\n",total);
            printf("%d h/ %d min/ %d sec\n",total/3600,(total%3600)/60,total%60);
        }
        total=instante2-instante1;
        printf("%d h/ %d min/ %d sec\n",total/3600,(total%3600)/60,total%60);
        printf("*****************FIM DO PROGRAMA.*****************");
    }

    Pessoal Consegui resolver do jeito que eu queria.

    • Obrigado 1
  11. main()
    {
        char c;
        double x=50,y=x/2;
        for( ; ; )
        {
            printf("Seu numero eh maior(>), menor(<) ou igual(=) a: %.0lf\t",x);
            scanf(" %c", &c);
            if (c == '>')
            {
                x=x+y; // 50+25=75
                y=y/2; // 25/02=12.5
                if(x>=99.2) //não deixa ultrapassar 99
                {
                    x=x-1;//subtrai -1
                }
                else if(x<=0.2) //não vai abaixo de zero
                {
                    x=x+1;//adiciona +1
                }
            }
            else if (c == '<')
            {
                x=x-y; //Recebe 50-25=25
                y=y/2;
                if(x>=99.2)//não vai além 100
                {
                    x=x-1;//subtrai -1
                }
                else if(x<=0.2) //não vai até zero
                {
                    x=x+1;//adiciona +1
                }
            }
            else if(c == '=')
            {
                printf("\O NUMERO QUE VOCEH PENSOU EH = %.0lf\n",x);
                break;
            }
        }
            printf("*****************FIM DO PROGRAMA.*****************");
    }

    Consegui deixar do jeito q eu queria, tive que fazer várias alterações no programa e na minha lógica também kkk, mas enfim tá ai.

    Se alguém puder dá um feedback, agradeço.

    • Curtir 1
  12.  

    10 minutos atrás, Lucca Rodrigues disse:

    @Malcolm X Então o usuário insere um número entre 1 e 99, o programa chuta um número nesse intervalo e o usuário tem que ficar dando dicas até ele acertar?

    Sim, quero que o usuário tente dentro de 10 tentativas no máximo, até menos se eu pensar em algo legal. O que eu quero é que o usuário diga se o numero é maior ou menor que 50, ai eu armazeno esse numero em uma variável, e já corto metade dos 99. Dps armazeno esse valor em maior= i (50); dps vou jogando números aleatórios até achar o número certo, sempre cortando a metade desse número pra não ter q ficar indo um em um.

     

    tipo:

    usuário pensou em 74

    numero maior, menor ou igual q 50?

    usuário digita '>'

    maior recebe 50

    numero maior, menor ou igual q 69?

    usuário digita '>'

    numero maior, menor ou igual q 79?

    usuário digita '<'

    numero maior, menor ou igual q 74?

    usuário digita '='

    fim do programa.

    ""'''''''''''''''''''''''''''''''''''

  13. Pessoal estou tentando fzr tipo um jogo de adivinhação, mas estou com dificuldades de criar um algoritmo que resolva o meu problema, tenho q criar tipo um laço números aleatórios que diz se éh o número certo.

    Enfim, quem poder dá uma ajuda, agradeço. Vou estar alterando conforme eu for fazendo e arrumando do jeito q eu quero, ai vou postando aqui.

     

    /*1 - Escreva um programa para adivinhar um numero entre 1 e 99 que o usuario
        pensou. Digite via teclado os simbolos =, > ou < a cada pergunta. Utilize o
        comando if-else.*/
    main()
    {
        int i,maior,menor;
        char tecla;
        for(i=50;tecla=='=';i++)
        {
            printf("Seu numero eh %d??", i)
            scanf(" %c", &tecla);
            if(tecla == '>')
            {
                
            }
            else if(tecla == '<')
            {
                
            }
            if(i==99){i=0;}
        }
            printf("O NUMERO QUE você PENSOU FOI %d!", i);
            printf("FIM DO PROGRAMA");
    }

     

    adicionado 8 minutos depois
    7 minutos atrás, Malcolm X disse:

    if(i==99){i=0;}

    Não faz sentido, já removi isso. Tinha pensado em uma coisa, mas vi que não vai dá certo.

  14. @Math.Pi entendi. Vou manter a H310cm então, o desempenho com ela está ótimo e até a agr não deu problema. A minha inicial era a B360M, mas estava com algum problema e pedi RMA, me enviaram essa nova e só queria saber se era possível trocar sem perde desempenho. Falando nisso daq a 5 anos provavelmente não vou querer mais um processador da 9º geração da Intel, vai estar ultrapassado meu I5 9400f.

     

    Agradeço a ajuda de todos.

     

     

    • Curtir 1
  15. Boa tarde pessoal, gostaria de saber se é possível alterar uma placa-mãe por outro sem trazer riscos pro sistema computacional. 

    Todas as peças são compatíveis, vou trocar uma H310CM-HG da ASRock por uma B360M PLUS GAMING da ASUS.

    Fiquei em dúvida se não prejudica de alguma forma o SO Windows 10, ou se mais tarde trará problemas de desempenho...

     

    Obs.: Todo o hardware do meu pc está escrito no meu perfil.

     

  16. Consegui resolver o que eu queria:

     

    main()
    {
        int i, j, num[3], numInvertido[3]; //contador
        printf("Digite o numero: ");
            for(i = 0; i<3; i++)
                scanf("%d", &num);
            for(i = 0, j = 2; i < 3; i++, j--)
                numInvertido[j] = num;
            for(i = 0; i < 3; i++)
                printf("%d", numInvertido);
    }

     

    se alguém quiser complementar ou diminuir os 3 for fiquem a vontade

     

    obs.: o único problema é q para o usuário digitar ele vai ter q apertar enter para cada numero digitado, talvez fuja um pouco da questão por causa disso, já que é apenas um número inteiro de três dígitos. 

    • Curtir 1

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!