Curso de Programação C | Faça uma calculadora para as 4 operações matemáticas com switch | aula 77

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 ธ.ค. 2024

ความคิดเห็น • 30

  • @wesleipeter8485
    @wesleipeter8485 ปีที่แล้ว

    Gostei desse exercício, nele é possível mesclar alguns conceitos de aulas anteriores. Parabéns"

  • @Cd-k5
    @Cd-k5 ปีที่แล้ว

    TOP DE MAIS.. (EU NÃO SEI COMO ESSE VIDEO TEM POUCOS LIKES, TA DOIDO O CARA E UM MESTRE!!!

  • @waldamoreira7341
    @waldamoreira7341 2 ปีที่แล้ว +1

    Excelente aula, me ajudou muito !

  • @David55293
    @David55293 10 หลายเดือนก่อน

    isso aqui pra iniciante é o mundo

  • @fabiovinycius363
    @fabiovinycius363 3 ปีที่แล้ว +1

    TOP! SALVOU MEU LABORATORIO.

  • @hiagodossantostuber6329
    @hiagodossantostuber6329 2 ปีที่แล้ว +1

    Valeu Cara! Me Salvou!

  • @tofu764
    @tofu764 ปีที่แล้ว

    e caso eu queria que minha divisão de um valor quebrado? como utilizo o float?

  • @jhose_oliverr6608
    @jhose_oliverr6608 2 ปีที่แล้ว +1

    como sou novo no canal e cai de paraquedas nesse vídeo, qual é o nome desse app?

    • @programeseufuturo
      @programeseufuturo  2 ปีที่แล้ว

      Olá Jhose, seja muito bem vindo.
      Imagine que você esteja se referindo ao programa onde escrevo o código, certo? Se sim, é a IDE Code Blocks para programação em C.

  • @RyanVasco
    @RyanVasco 2 ปีที่แล้ว +1

    esse exercicio me deixou com umas duvidas, não sobre o exercicio em si, que eu consegui fazer. Mas foi sobre outras coisas que eu acabei pesquisando na tentativa de implementar no exercicio.
    1- Eu comecei o exercicio com do while, mas depois tentei passar pra um formato que eu conheci em python (while True) so que não tava entendendo como fazer isso, entao botei while(1){código} e funcionou. Isso está certo ou tem outra maneira?
    2- Eu tentei adicionar potenciação no código, não precisava mas eu acabei tentando. Vi um código de como era uma função em C e tentei fazer um função que calculasse potências.
    Ai escrevi o seguinte:
    ======================
    int potencia(float a, float b)
    {
    float resultado = 1;
    int i;
    if(b != 0)
    {
    resultado = a;
    for(i=1; i < b; ++i)
    resultado *= a;
    }
    return(resultado);
    }
    ======================
    O return sempre é 0.000000, n entendi pq vem dessa forma. Pq quando eu faço com int em vez de float os valores a, b, resultado, ele retorna um valor certo, por exemplo: 5⁵ = 3125
    Mas fora isso o código da aula ficou assim(um pouco bagunçado mas foi kk):
    #include
    int main()
    {
    float a, b;
    int escolha;
    while(1)
    {
    printf("
    ==================================================================
    ");
    printf("Escolha a operação a efetuar:
    ");
    printf("[1]Adição
    [2]Subtração
    [3]Multiplicação
    [4]Divisão
    [5]Sair
    ");
    printf("Sua escolha: ");
    scanf("%d", &escolha);
    if(escolha == 5)
    break;
    printf("
    Digite um número: ");
    scanf("%f", &a);
    printf("
    Digite um outro número para operar com %.2f: ", a);
    scanf("%f", &b);
    switch(escolha)
    {
    case 1:
    printf("
    O resultado da adição %.2f + %.2f foi: %.2f
    ", a, b, a + b);
    break;
    case 2:
    printf("O resultado da subtração %.2f - %.2f foi: %.2f
    ", a, b, a - b);
    break;
    case 3:
    printf("O resultado da multiplicação %.2f * %.2f foi: %.2f
    ", a, b, a * b);
    break;
    case 4:
    if(b != 0)
    printf("O resultado da divisão %.2f / %.2f foi: %.2f
    ", a, b, a / b);
    else
    printf("Não é possível dividir por 0.
    ");
    break;
    default:
    printf("");
    }
    }
    return 0;
    }

    • @programeseufuturo
      @programeseufuturo  2 ปีที่แล้ว +1

      Olá Ryan.
      1) Você pode usar while(1) sem problema, mas eu não gosto dele rsrsrs. While(1) é um loop infinito, ou seja, não há uma opção para finalizar o programa, lembre-se que qualquer coisa diferente de zero em C é sempre verdadeiro. Eu profiro perguntar ao usuário o que ele deseja fazer e depois testar essa variável no while.
      2) Muito bem. Em programação a curiosidade e a capacidade de buscar soluções são fundamentais.
      Quanto ao problema do retorno zero acredito que se deva ao fato de sua função retornar um int mas a variável resultado ser do tipo float. Observe a assinatura da sua função:
      int potencia(float a, float b)
      A primeira palavra a esquerda, int, indica que sua função retorna um valor inteiro, mas na verdade a variável retornada é do tipo float, então a assinatura correta fica assim:
      float potencia(float a, float b)

  • @jeffersongoulart2640
    @jeffersongoulart2640 3 ปีที่แล้ว +1

    Ola boa tarde! Se eu quiser aumentar a quantidade de dígitos? É só aumentar em int opcao; num1, num2;?

    • @programeseufuturo
      @programeseufuturo  3 ปีที่แล้ว

      Olá Jefferson.
      Como assim aumentar a quantidade de dígitos?
      Você quer aumentar a quantidade de dígitos (de um número) ou a quantidade de valores para realizar uma operação?

  • @carencris8785
    @carencris8785 2 ปีที่แล้ว +1

    Uhuu consegui fazer,a única coisa que fiz diferente, foi que não coloquei àquele último if, coloquei direto no while, é funcionou, eu queria melhorar usando aquela opção de apagar que vc ensinou, mais não achei em qual aula que foi, acho que é clt, não tenho certeza, consegue me ajudar?

    • @programeseufuturo
      @programeseufuturo  2 ปีที่แล้ว +1

      Parabéns Caren :)
      Para limpar o console você pode usar o system("clear"); no Linux e system("cls"); no Windows.

  • @eduardodenis6528
    @eduardodenis6528 10 หลายเดือนก่อน +1

    int main()
    {
    setlocale(LC_ALL, "Portuguese");
    int opcoes;
    float n1, n2, resultado;
    do
    {
    printf("
    \tCalculadora
    ");
    printf("
    \t1 - Somar\t2- Subtrair\t3-Multiplicar\t4-Dividir\t0-Sair

    ");
    printf("Digite uma opção: ");
    scanf("%d", &opcoes);
    switch (opcoes)
    {
    case 0:
    printf("Sair");
    break;
    case 1:
    printf("1 - Somar
    ");
    printf("
    Informe um valor: ");
    scanf("%f", &n1);
    printf("
    Informe outro valor: ");
    scanf("%f", &n2);
    resultado = n1 + n2;
    printf("Resultado: %.2f", resultado);
    break;
    case 2:
    printf("2 - Subtrair");
    printf("
    Informe um valor: ");
    scanf("%f", &n1);
    printf("
    Informe outro valor: ");
    scanf("%f", &n2);
    resultado = n1 - n2;
    printf("Resultado: %.2f", resultado);
    break;
    case 3:
    printf("3 - Multiplicar");
    printf("
    Informe um valor: ");
    scanf("%f", &n1);
    printf("
    Informe outro valor: ");
    scanf("%f", &n2);
    resultado = n1 * n2;
    printf("Resultado: %.2f", resultado);
    break;
    case 4:
    printf("4 - Dividir");
    printf("
    Informe um valor: ");
    scanf("%f", &n1);
    printf("
    Informe outro valor: ");
    scanf("%f", &n2);
    while(n2 == 0)
    {
    printf("Nao existe divisao por 0. Informe outro valor!");
    scanf("%f", &n2);
    }
    resultado = n1/n2;
    printf("Resultado: %.2f", resultado);
    break;
    default:
    printf("Opcao invalida");
    break;
    }
    }while(opcoes != 0);
    return 0;
    }

    • @kmmigs
      @kmmigs 6 หลายเดือนก่อน

      Eu te amo amigo, eu tava me matando p saber o porque tava dando erro meu codigo sendo que tava igual o do video, quando desci pros comentario apareceu e deu certo de primeira, obrigado me salvou de horas de estresse!

  • @kb_127
    @kb_127 3 ปีที่แล้ว +2

    como fazer as 4 operações aparecerem ao mesmo tempo?

    • @programeseufuturo
      @programeseufuturo  3 ปีที่แล้ว +1

      Olá Karen.
      Para que as 4 operações sejam realizadas basta retirar o switch case. É a estrutura de seleção switch que faz a escolha de uma das operações.

    • @tayrone27
      @tayrone27 3 ปีที่แล้ว +2

      @@programeseufuturo #include
      #include
      int main() {
      int opcao, num1, num2;
      do {
      printf("
      1 - Soma
      2 - Subtracao
      3 - Multiplicacao
      4 - Divisao
      0 - Sair

      ");
      scanf("%d", &opcao);
      if(opcao > 0 && opcao < 5){
      printf("Digite dois valores: ");
      scanf("%d%d",&num1, &num2);
      }
      printf("Divisao: %d
      ", num1 / num2);
      break;
      default:
      printf("Opcao inválida.
      Digite outra opcao: ");
      }
      } while(opcao != 0);
      }
      No Caso ficaria assim ?

    • @programeseufuturo
      @programeseufuturo  3 ปีที่แล้ว

      Não exatamente Tayrone.
      Para imprimir as 4 operações matemáticas juntas basta retirar o switch case completo. Você deixou o default, um break e faltou as outras três operações.
      #include
      #include
      int main() {
      int opcao, num1, num2;
      do {
      printf("Digite dois valores: ");
      scanf("%d%d",&num1, &num2);
      printf("Divisao: %d
      ", num1 / num2);
      printf("Multiplicacao: %d
      ", num1 * num2);
      printf("Soma: %d
      ", num1 + num2);
      printf("Subtracao: %d
      ", num1 - num2);
      printf("Digite zero para sair ou outro valor para reiniciar: ");
      scanf("%d", &opcao);
      } while(opcao != 0);
      }

  • @RafaelGarcia-rw8yn
    @RafaelGarcia-rw8yn 2 ปีที่แล้ว

    como fazer isso com funçoes?

  • @vitoriavanderkolken3732
    @vitoriavanderkolken3732 2 ปีที่แล้ว +1

    Boa noite, Wagner.
    Estou tentando resolver um exercício que recebe dois números inteiro e um dos caractere que represente as operações básicas
    '+', '-', '*', '/' para imprimir o resultado da operação indicada pelo usuário.
    Qual o problema com o meu código?
    #include
    #include
    int main(int argc, char *argv[]) {
    int n1 = 0, n2 = 0;
    char operador;
    scanf("%d%d%c", &n1,&n2,&operador);
    if(operador == '+'){
    printf("RESP:%d",n1+n2);
    }
    else if(operador == '-'){
    printf("RESP:%d",n1-n2);
    }
    else if(operador == '*'){
    printf("RESP:%d",n1*n2);
    }
    else if(operador == '/'){
    printf("RESP:%d",n1/n2);
    }
    else{
    printf("Invalido");
    }
    return 0;
    }

    • @programeseufuturo
      @programeseufuturo  2 ปีที่แล้ว

      Olá Vitória.
      O problema está na leitura de caracteres. Você fez as aulas iniciais do curso sobre o tipo char?
      Você está lendo dois números e um caracter e provavelmente está digitando assim: "4 5 +"
      Aí eu te pergunto: o + é o primeiro caracter depois do segundo número?
      Se tiver dúvidas pra entender o que está acontecendo imprima na tela o valor da variável operador usando %d, assim: printf("%d", operador);
      Em seguida, procure na tabela ascii qual caracter possui o código que foi impresso na tela.

    • @vitoriavanderkolken3732
      @vitoriavanderkolken3732 2 ปีที่แล้ว +1

      Agora entendi, muito obrigada, me salvou mais uma vez.

    • @programeseufuturo
      @programeseufuturo  2 ปีที่แล้ว

      Por nada :)

  • @R.V_divulgacoes
    @R.V_divulgacoes 2 ปีที่แล้ว

    qual programa é esse ?