Ir ao conteúdo
  • Cadastre-se

devair1010

Membro Pleno
  • Posts

    6.288
  • Cadastrado em

  • Última visita

posts postados por devair1010

  1. @Thaianny Oliveira   no primeiro código você está incrementando a variável que controla o loop for e assim vai pular de dois em dois , e lerá apenas cinco números , 

    scanf("%i", &idade);
    /// count++; já incrementada pelo "for" 

    e no segundo você colocou um loop "while" dentro do "for" sem necessidade ,  e se que apenas mostrar as idades maior ou igual a 18 então só precisa de uma comparação " if "

     

    printf("Informe 10 idades para o sistema:\n");
    for(int count=0; count<10; count++)
    {
        /// while(count<10)
        /// {
        printf("Informe a %d idade -: ",count+1);
        scanf("%i", &idade);
        /// count++;
        if ( idade >= 18 )
        {
            printf("\n%i Idade -> %d\n\n",count+1, idade);
        }
        /// }
    }

    e outro modo mais elaborado seria usar um vetor para armazenar todas as idades com um loop "for" indo de zero até enquanto for menor que 10 , e depois outro loop para fazer a comparação e mostrar tais idades ,  e outra coisa também é que o mais comum é começar o loop em zero "0"  pois na linguagem c os vetores se iniciam pela posição zero mesmo , apesar de que não terá erro se começar em " 1 " , mas se assim o fizer vai perder duas posições do vetor,  a primeira e a última posição  , pois essa última posição não estará reservada . 

    • Curtir 1
    • Obrigado 1
  2. @santicide   você postou no tópico de C++ , mas esse código é todo da linguagem C ,  e então você vai fazer em Qual linguagem ?  ,   e pode ser na linguagem  C mesmo , então essa função sorteio_manual não funciona pois está em loop infinito , já que essa variável "i" que foi criada mas não  foi inicializada e assim ela terá um valor aleatório qualquer , 

    #define     _WIN32_WINNT 0x600
    #define     _h GetStdHandle(STD_OUTPUT_HANDLE)
    #include    <stdio.h>
    #include    <conio.h>
    #include    <iso646.h>
    #include    <stdlib.h>
    #include    <iostream>
    #include    <string.h>
    #include    <windows.h>
    #include    <math.h>
    #include    <time.h>
    #include    <stdbool.h>
    #include    <locale.h>
    using namespace std;
    int sorteio_manual()
    {
        int i,                  /// var não inicializada , pode ter qq valor 
            numeroSorteioM = 0, /// inicializa uma variAvel "int" 
            numeroDigitadoM, verificaNumeroM, numeroJaDigitadoM, 
            numerosM[6] = {0};  /// inicializando um vetor de "int" todos elementos zerados 
        while(i < 6)            /// só vai entrar nesse loop se i for menor que 6
        {                       /// e só vai sair qundo "i" for maior Que zero
            printf("Val I= %d\n",i); /// para ver o valor da var "i"

    e essas funções são ineficazes pois não recenem nenhum argumento e nem retornam nada .

  3. @gui_3824    o enunciado diz que os dados precisam estar um arquivo txt e depois de calcular a área do polígono , mostrar na tela .

    2. O que deve ser feito Escreva, em C, um algoritmo para determinar a área de uma região poligonal cujos vértices estão organizados em um arquivo texto. Nesse arquivo, a primeira linha mostra o número de lados (ou vértices) do polígono e cada uma das linhas a seguir trazem as coordenadas x e y desses vértices separadas por um espaço. Por exemplo, caso o polígono tenha vértices   (1, 2), (3, 8 ] e (5, 1),      o arquivo de entrada terá o seguinte aspecto: Como saída, o programa deve informar a área desse polígono em uma mensagem exibida no painel terminal ou no prompt de comando. Assim, no caso do triângulo indicado acima, a saída deveria ser: “A área do polígono é 13”.

    poligono.jpg.e4cb2d74ccb9ae07f3ac5879373ddc5d.jpg

    se você já tem um código sobre esse exercício , poste aqui e ajudaremos .

    • Obrigado 1
  4. @Eli Almeida   seu código está funcionando bem ,  porém não entendi o modo de jogar , pois parece que seja para apenas um jogador ,  ou talvez para dois jogadores humanos ,  sendo  que cada um joga  e espera o outro fazer a jogada dele ,   e se fosse para jogar contra o computador  poderia colocar para que o computador escolhesse  aleatoriamente uma das posições usando a função "randi" .

    • Amei 1
  5. @jaireugenio   para esse código não repetir os mesmos números você pode colocar uma variável que armazena os números encontrados e assim evitar imprimi los novamente ,  porém não sei se esses números encontrados pelo programa são realmente números amigos ,  e com essa modificação seu código ficou assim  :

    #define     _WIN32_WINNT 0x600
    #define     _h GetStdHandle(STD_OUTPUT_HANDLE)
    #include    <stdio.h>
    #include    <conio.h>
    #include    <iso646.h>
    #include    <stdlib.h>
    #include    <string.h>
    #include    <windows.h>
    #include    <math.h>
    #include    <time.h>
    #include    <stdbool.h>
    #include    <locale.h>
    char cor( int, int );
    int main(int argc, char* argv[] )
    {
        srand(time(NULL));
        int letra,fundo;
        CONSOLE_SCREEN_BUFFER_INFO _c                            ;
        if( GetConsoleScreenBufferInfo     ( _h, & _c )          )
        {
            letra = (   _c.wAttributes & 0xFF )            & 0x0F;
            fundo = ( ( _c.wAttributes & 0xFF ) >> 4    )  & 0x0F;
        }
        cor(12,14);
        setlocale(LC_ALL,"");
        ///-------------------------------------------------------
    
        int n, divisor, r, soma1, soma2, y, x;
        int flag = 0;
        scanf("%d", &x);
        if(x>3)
        {
            y=x*1500;
        }
        else
          y=x*1000;
        for (n = 2; n <= y; n++)
        {
            soma1 = 1;
            for (divisor = 2; divisor <= n/2; divisor++)
            {
                if (n % divisor == 0) soma1+=divisor; //calcula a soma dos divisores
            }
            soma2 = 1;
            if (soma1 != n)
              for (divisor = 2; divisor <= soma1/2; divisor++)
              {
                if (soma1 % divisor == 0) soma2+=divisor; //calcula a soma dos divisores
              }
            if (soma2 == n && flag != n) //verificar se a soma dos divisores eh igual ao numero
            {
              printf("  (%7d,%7d)  \n",n, soma1);
              flag = soma1; /// armazena para q não repita esses mesmos num's
            }
    
        }
    
        for(int f=0; f<10; f++) Beep(rand()%3000,rand()%150+150);
    
        ///-------------------------------------------------------
        cor(letra,fundo);
        printf("\n\n\n");
        return   0;
    }
    char cor( int L, int F )
    {
        SetConsoleTextAttribute( _h, L +( F << 4 ) );
    }

     

    • Curtir 1
    • Obrigado 1
  6. @jaireugenio    seu programa está em loop infinito , por que você colocou a condição de saida do while como "num1"  igual a zero  , e isso nunca acontece pois sempre que é zero recebe incremento  .

    while(num1)  /// repita enquanto for diferente de zero
    {
      while(num2)
      {
        if(amigo(num1,num2)==1)
        { 
          f = num1;
          k = num2;
          printf("(%d,%d)",num1,num2);
          num1 = 0; /// num1 recebe valor zero
          num2 = 0;
        }
        num1++; /// incrementa, e assim nunca sairA desse Loop etherno
      }
    }

     

  7. @Sants_021       o enunciado diz que é apenas um funcionário :

    Em 21/11/2023 às 23:49, ElliePJ disse:

    O funcionário possui os seguintes dados

    e sendo assim diferente do código da @ElliePJ seu código está certo seguindo fielmente o que diz o enunciado e está funcionando bem , mas precisa deletar essa linha 

    Escreval("Auxilio Alimentação:",aux_aliment," Salario Final:",sal_final)
    fimpara // <----------  essa linha Aqui, pois não tem o outro comando, o "para" 
    
    Fimalgoritmo

    e informar os dados certos conforme citados por @Simon Viegas   ,  e seguindo a ordem em que  for pedidos ,          o restante tudo certo , basta digitar os dados corretos na entrada e sairá todos os resultados .     e seu código modificado , sem o "fimpara" ,    ficou assim :

    Algoritmo "valor de horas trab"
    Var
       codigo, horas_trab       : inteiro
       turno, categoria         : caractere
       sal_minimo, valor_hora   : real
       sal_inicial, aux_aliment : real
       sal_final                : real
    Inicio
                                          // entrada dos Dados
      Escreval("Digite o codigo do funcionario:"                  )
      Leia    ( codigo     )
      Escreval("Digite o numero de horas trabalhadas no mês:"     )
      Leia    ( horas_trab )
      Escreval("Digite o turno de trabalho (M-Matutino, V-Vespertino, N-Noturno)")
      Leia    ( turno      )
      Escreval("Informe a categoria do (G-Gerente, F-Funcionario)")
      Leia    ( categoria  )
      Escreval("Digite o valor do salario minimo:"                )
      Leia    ( sal_minimo )
                                          // calcular o valor da hora trabalhada
      Se (categoria = "G") então          // categoria igual G
        se (turno = "N")então             // horArio noturno
          valor_hora <- sal_minimo * 0.06
        senao                             // horArio vespertino ou matutino
          valor_hora <- sal_minimo * 0.04
        fimse
      senao                               // categoria igual  F
        se (turno = "N")então             // horArio noturno
          valor_hora <- sal_minimo * 0.02
        senao                             // horArio vespertino ou matutino
          valor_hora <- sal_minimo * 0.01
        fimse
      fimse
                                          // calcular o salArio inicial
      sal_inicial <- horas_trab * valor_hora
                                          // calcuLar o ticket AlimentaCAo
      escolha (sal_inicial)
      Caso 0 ate 800                      // para salArio até 800
        aux_aliment <- sal_inicial * 0.25
      Caso 801 ate 1200                   // para salArio De 801 até 1200
        aux_aliment <- sal_inicial * 0.20
      outrocaso                           // para salArio acima De 1200
        aux_aliment <- sal_inicial * 0.15
      fimescolha
                                          // calcular o salArio FinaL
      sal_final  <- sal_inicial + aux_aliment
                                          // Mostrar os ResuLtados
      Escreval("Codigo Do Funcionário ----: " , codigo     )
      escreval("Horas Trabalhadas --------: " , horas_trab )
      Escreval("Valor da Hora Trabalhada -: " , valor_hora )
      EscrevaL("Salario Inicial ----------: " , sal_inicial)
      EscrevaL("Auxilio Alimentação ------: " , aux_aliment)
      EscrevaL("Salario Final ------------: " , sal_final  )
                                          // fim, pois Eh apenas um FuncionArio
                                          // para mais funcionArios use um laCo
                                          // de repetiCAo que pode ser o "Repita/ate"
    Fimalgoritmo

    visualg_cod_sants_021.jpg.07e4bce1a4e735e8007b369cd5dd4119.jpg

    • Curtir 1
  8. @evertonatk     conforme explicado nesse link  :

    https://sempreupdate.com.br/computador-apitando-o-que-e-cada-bip/

    esses bip's seja provavelmente as memórias que está com problema , então remova-as e limpe seus contatos com uma borracha e recoloque novamente , e caso seja apenas isso mesmo , seu pc voltará a funcionar bem novamente . e se você puder e quiser , poste a configuração de seu pc , o processador    os Giga's de memórias    SSD     placa de vídeo    e a placa maii     marca e modelo da fonte    , pois assim  pode se ter noção do que poderia ser  .

     

  9. @arfneto e  @Flávio Pedroza , obrigado , pela ajuda ,
    usei o codeblocks para acessar o código da biblioteca "stdio.h" e nela tem apenas os protótipos das funções e muitos define's , e DLLs ,  e então tentei encontrar o arquivo ".c" dessa biblioteca , porém não localizei em nenhuma pasta do local onde está instalado o compilador / IDE ,   e então se o código está em uma dessas dll , teria como saber em qual delas está o "stdio.c"

  10. @El Dorado    a linguagem c++ foi criada muito tempo  depois da linguagem c , e assim herdou todas as funções / comandos da linguagem c , então c++ faz tudo que a linguagem c faz e melhor , pois tem muitos outros recursos ,  e inclusive interface gráfica , usando a API do windows ,  que você pode saber algumas coisa nesse link :

    http://vulms.vu.edu.pk/Courses/CS410/Downloads/Charles Petzold - Programming Windows - 5th Ed.pdf

    ou esse também :

    https://forum.zwame.pt/threads/tutorial-programar-para-windows.75878/

    além de que existem bibliotecas para criação de gráficos como a Allegro, SDL2, Qt e outras , tanto para a linguagem C , como C++.

    • Curtir 1
    • Amei 1
  11.  nos estudos sobre header vi que servem para organizar o código e reduzir a quantidade de dados dentro da função principal "main.c" ,  porém notei que usando apenas o arquivo ".c" que contém as funções e sem usar um arquivo do tipo ".h" , que só contém os protótipos das funções que estão no arquivo ".c"  , o código funciona bem . como nesse pequeno código :

    #include    "funcs.c" /// apenas o arquivo ponto c
                          /// que contém as funCOes 
    int main(int argc, char* argv[] )
    {
      printf
      (
        "valor de pi ----= %.6f\n"
        "Cubo -----------= %d  \n"
        "Quadrado -------= %d  \n"
        "Soma -----------= %d  \n"
        "Seno -----------= %f  \n"
        ,pi, Cubo(3), Quadrado(5)
        , Soma(7), Seno(167)
      );
    
      return   0;
    }

    e com essas funções no arquivo com formato ".c" :

    #define     pi    3.141592
    #include    <stdio.h>
    #include    <stdlib.h>
    #include    <string.h>
    #include    <math.h>
    #include    <math.h>
    int Cubo(int x)
    {
      return x*x*x;
    }
    int Quadrado(int x)
    {
      return x*x;
    }
    int Soma(int x)
    {
      return x+x;
    }
    float Seno(float x)
    {
      return sin(x)/180+250;
    }

     

  12. @ignite137  creio que esse exercício seja do site "beecrowd" antigo "Uri"  ,  e  uma caixa tem 6 lados então multiplique x por y depois x por z  , e depois y por z , e somar esses 3 valores e depois multiplicar por 2 ,  assim terá o total em metros quadrados , e multiplique pelos valores informados no enunciado , e depois que você fizer um código sobre esse exercício , poste aqui e ajudaremos se ainda precisar   .

    • Obrigado 1
  13. olá , quero usar vários sons tipo "beep" , não é musica , sendo cada som com frequência diferente ,  pois se colocar apenas um som o programa roda com boa velocidade , porém com vários "beep" ele se torna lento demais , então imaginei que se mixar todos os sons em apenas um , aí vai continuar com boa velocidade ,  já vi em alguns sites que tem comandos para mixar áudio de música mas é para programas com interface Gráfica e não em console ,  desde já agradeço muito , se alguém puder ajudar  .     para usar nesse programa experimentaL :

    using System.Reflection.Metadata;
    using static System.Formats.Asn1.AsnWriter;
    using System.Windows;
    using System.Media;
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Drawing;
    using static System.Net.Mime.MediaTypeNames;
    namespace paredao_1542
    {
        //public class SoundPlayer : System.ComponentModel.Component, System.Runtime.Serialization.ISerializable
        internal class Program
        {
            //public class SoundPlayer : System.ComponentModel.Component, System.Runtime.Serialization.ISerializable
            static void Main(string[] args)
            {
                int     flag  = 0;
                int     c     = 0;
                int a = 0;
                int qtd = 3;
                char[,] mat   = new char[120, 30];
                int [,] bolas = new int [ 10,  5];
                Random rand = new Random();
                
                for ( int f = 0; f < 119; f++)
                {
                    mat[f,   0] = (char)35;
                    mat[f,  29] = (char)35;
                    if (f < 30)
                    {
                        mat[  0, f] = (char)35;
                        mat[118, f] = (char)35;
                    }
                }
                for (int f = 0; f < 119; f++)
                {
                    for (int n = 0; n < 30; n++)
                    {
                        if ((f > 50 && f < 65) && (n > 5 && n < 15))
                        {
                            mat[f, n] = (char)35;
                        }
                        Console.SetCursorPosition(f, n);
                        Console.Write(mat[f, n]);
                    }
                }
                for (int f = 0; f < qtd; f++)
                {
                    a = 0;
                    do
                    {
                        bolas[f, 0] = rand.Next(5, 110); // ref ao x
                        if ( bolas[f,0] == ' ') a = 1;
                    } while (a == 0);
                    a = 0;
                    do
                    {
                        bolas[f, 1] = rand.Next(5, 25);  // ref ao y
                        if (bolas[f, 1] != ' ') a = 1;
                    } while ( a == 0);
                    bolas[f, 2] = bolas[f, 0];       // ref ao old_x
                    bolas[f, 3] = bolas[f, 1];       // ref ao old_y
                    bolas[f, 4] = rand.Next(4);      // ref ao dir
                }
                Bar(15,0, " Tecle ESC para Sair ");
                Console.CursorVisible = false;
                Thread.Sleep(1000);   
                do
                {
                    if (Console.KeyAvailable)
                    {
                        c = Console.ReadKey().KeyChar;
                        Console.SetCursorPosition(10, 10);
                        Console.WriteLine("   VaLor de Tecla PressionadA= {0}", c);
                    }
                    Thread.Sleep(10);
                    if (flag == 0) Som( 1 );
                    flag = 0;
                    for (int n = 0; n < qtd; n++)
                    {
                        Bar(bolas[n, 2], bolas[n, 3], " ");// remove o desenho da bola
                        Bar(bolas[n, 0], bolas[n, 1], "O");// desenhar a bola
                        // if (flag == 0) Som(n);  // com vArios sons fica Lentos
                        flag = 0;
                        bolas[n, 2] = bolas[n, 0];
                        bolas[n, 3] = bolas[n, 1];
                        switch (bolas[n, 4])
                        {
                            case 1:
                                if (mat[bolas[n, 0] + 1, bolas[n, 1]] == '#')
                                {
                                    bolas[n, 4] = 4; // pbe
                                }
                                else
                                {
                                    if (mat[bolas[n, 0], bolas[n, 1] + 1] == '#')
                                    {
                                        bolas[n, 4] = 2; /// pcd
                                    }
                                    else
                                    {
                                        if (mat[bolas[n, 0] + 1, bolas[n, 1] + 1] == '#')
                                        {
                                            bolas[n, 4] = 4;
                                        }
                                        else             /// continue pbd
                                        {
                                            bolas[n, 0]++;
                                            bolas[n, 1]++;
                                            flag = 1;// não colidiu com nada então sem som
                                        }
                                    }
                                }
                                break;
                            case 2:
                                if (mat[bolas[n, 0] + 1, bolas[n, 1]] == '#')
                                {
                                    bolas[n, 4] = 3; // pce
                                }
                                else
                                {
                                    if (mat[bolas[n, 0], bolas[n, 1] - 1] == '#')
                                    {
                                        bolas[n, 4] = 1; /// pbd
                                    }
                                    else
                                    {
                                        if (mat[bolas[n, 0] + 1, bolas[n, 1] - 1] == '#')
                                        {
                                            bolas[n, 4] = 3; // pce
                                        }
                                        else             /// continue pcd
                                        {
                                            bolas[n, 0]++;
                                            if (bolas[n, 1] > 1) bolas[n, 1]--;
                                            flag = 1;// não colidiu com nada então sem som
                                        }
                                    }
                                }
                                break;
                            case 3:
                                if (mat[bolas[n, 0], bolas[n, 1] - 1] == '#')
                                {
                                    bolas[n, 4] = 4; // pbe
                                }
                                else
                                {
                                    if (mat[bolas[n, 0] - 1, bolas[n, 1]] == '#')
                                    {
                                        bolas[n, 4] = 2; /// pcd
                                    }
                                    else
                                    {
                                        if (mat[bolas[n, 0] - 1, bolas[n, 1] - 1] == '#')
                                        {
                                            bolas[n, 4] = 4; /// pbe
                                        }
                                        else            /// continue pce
                                        {
                                            if (bolas[n, 0] > 1) bolas[n, 0]--;
                                            if (bolas[n, 1] > 1) bolas[n, 1]--;
                                            flag = 1;// não colidiu com nada então sem som
                                        }
                                    }
                                }
                                break;
                            default:
                                if (mat[bolas[n, 0], bolas[n, 1] + 1] == '#')
                                {
                                    bolas[n, 4] = 3; // pce
                                }
                                else
                                {
                                    if (mat[bolas[n, 0] - 1, bolas[n, 1]] == '#')
                                    {
                                        bolas[n, 4] = 1; /// pbd
                                    }
                                    else
                                    {
                                        if (mat[bolas[n, 0] - 1, bolas[n, 1] + 1] == '#')
                                        {
                                            bolas[n, 4] = 1;
                                        }
                                        else             /// continue pbe
                                        {
                                            if (bolas[n, 0] > 1) bolas[n, 0]--;
                                            bolas[n, 1]++;
                                            flag = 1;// não colidiu com nada então sem som
                                        }
                                    }
                                }
                                break;
                        }
                    }
                } while (c != 27) ;
            }
            public static void Som( int n )
            {
                // mixagem de Audio em programa com interface grAficas
                /*SoundPlayer soundPlayer = new SoundPlayer(Properties.Resources.SimpleSound);
                soundPlayer.Play(); // Para começar o som normalmente.
                soundPlayer.PlayLooping(); // Para começar o som e ficar repetindo.
                soundPlayer.PlaySync(); // Para começar o som e só ir para a próxima linha quando parar de tocar.
                SoundPlayer player = new SoundPlayer();
                player.SoundLocation = Environment.CurrentLocation + "beep.mp3";*/
                switch( n ) // 4 sons diferentes
                {
                    case 1: Console.Beep();break; // cada beep com frequência diferente
                    case 2: Console.Beep();break;
                    case 3: Console.Beep();break;
                    default:Console.Beep();break; // usando default para o quarto case
                }
            }
            public static void Bar(int x, int y, string ch)// mever a bola
            {
                Console.SetCursorPosition(x, y);           // posiciona o cursor nessa posiCAo
                Console.WriteLine(ch);                     // desenha a bola nessa posiÇAo
            }
        }
    }

     

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