Jump to content
JPMarte

Output do código está errado e não consigo consertar!

Recommended Posts

Olá, sou estudante iniciante de programação e estou desenvolvendo um código para uma aula, onde esse é o enunciado:

 

"Faça um código que ajude a calcular a resposta para seus exercícios de Física.
As questões consistem em calcular a força de atração elétrica entre duas cargas puntiformes,  a força é calculada de acordo com a seguinte fórmula:

 

F=K×Q1×Q2/D^2

 

Utilize o valor de 100 para K, Q1, Q2 e D serão fornecidos pelo usuário.


Mostre o valor de F com duas casas decimais.

 

Entrada

    Serão fornecidos ao seu programa três valores inteiros, Q1, Q2 e D, respectivamente.

Saída

    Seu programa deve mostrar o resultado da conta com exatas 2 casas decimais, de acordo com o exemplo abaixo."

 

Então eu fiz o código que tirei print aqui, mas alguns resultados saem incorretos e sem as casas decimais necessárias!

Em setprecision, eu coloquei o limite de duas casas (2), mas o programa mostra dois dígitos...

Quando utilizei setprecision (4) ele até funcionou com resultados como 22.22, mas com números maiores, como 3600, não se mostra uma solução viável.

Se alguém puder me ajudar, agradeço muito! 

codigo1.png

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By gabriel1303
      É possível verificar a ocorrência de um caractere em negrito em uma planilha do Excel utilizando c/c++?
    • By ArchTGS
      #include <iostream>
      #include <locale>
      using namespace std;
      int main(){
          setlocale(LC_ALL,"ptb");
          int idade;
          char *categoria;
          cout<<"informe a idade do participante: ";
          cin>>idade;
          while(idade!=-1){
              if(idade>=7 && idade<=12){
                  categoria="INFANTIL";
              }
              else if(idade>12 && idade<=17){
                  categoria="JUVENIL";
              }
              else if(idade>17 && idade<=49){
                  categoria="ADULTO";
              }
              else if(idade>=50){
                  categoria="SÊNIOR";
              }
              else{
                  cout<<"Infelizmente o candidato ainda não pode participar!";
              }
              cout<<"O participante está na categoria "<<categoria << " \n ";
              cout<<"Informe a idade do participante: ";
              cin>>idade;
          }
      }
      então pessoal esse é meu codigo, está funcionando bonitinho, porém quando eu faço o teste da ultima opção do encadeamento else, que está em vermelho, aparece o resto do codigo também, o que está em verde, tem alguma maneira de fazer essas ultimas mensagens não aparecerem? não quero ter que colocar saídas(cout) em todos os if's e elses.
      Obs: to aprendendo peguem leve.
    • By RickSilva
      Tenho que criar um código que imprime os 5 numeros anteriores, por exemplo: se o usuario digitar 30, tem que ser impresso 29, 28, 27, 26, 25. Eu conseguir criar um código, porem começa do numero atual, se eu digito 30 começa do 30 e não é isso que eu quero. Eu consigo fazer isso tranquilo com um for, mas preciso que seja com recursividade. O codigo que criei foi esse: 
       
      #include <stdio.h> long int number(int num, int y){ if(num > y-5){ printf(" %d ", num); number(num - 1, y); } else{ return 0; } } int main() { int N; int y; printf("Digite um numero inteiro positivo: "); scanf("%d", &N); y = N; number(N, y); return 0; }  
    • By Rafaahs
      Boa Tarde, Meu professor jogou uma "bomba" para mim sem ao menos explicar direito, enfim ele pediu para criarmos uma Lista de característica de animais... exemplo: Quadripedes, bípedes, voadores... e se você escolher quadrupedes vai para opção... carnívoro [1] herbívoros[2] e dando a próxima escolha aparece o nome dos animais, LEAO ou CAVALO.
      o Problema é que eu não estou conseguindo fazer escolher a opção cavalo , quando a pessoa escolhe todo '1' chega no leao, mas se na ultima etapa você digitar '2' era para aparecer cavalo, porém fica em Branco... me ajudem por favor.
       
       
      #include<stdio.h>
      #include<stdlib.h>
      int main()
      {   
            char opcao; do
           {
            system("cls");
            printf("\n Digite a categoria do animal desejado: ");
            printf("\n [1] Mamiferos: ");
            printf("\n [2] Aves");
            printf("\n [3] Repteis: ");
            printf("\n [4] fim ");
            printf("\n Digite sua opcao: ");
            fflush (stdin);
            scanf("%c", &opcao);
            switch(opcao)
                  {
                      case'1': printf("\n[1] quadrupedes");
                              
                         case'2': printf("\n[2] bipedes");
                         
                         case'3': printf("\n[3] voador");
                         
                         case'4': printf("\n[4] aguatico");
                           { 
                              printf("\n Digite sua opcao: ");
                           fflush (stdin);
                           scanf("%c", &opcao);
                                switch(opcao)
                                            
                                       case'1':  printf("\n[1] carnivoro");
                                            printf("\n[2] herbivoro"); 
                                      {
                                          printf("\n Digite sua opcao: ");
                                          fflush (stdin);
                                          scanf("%c", &opcao);
                                               switch(opcao)
                                                 
                                                       case'1': printf("\n Leao!");
                                                                break;
                                           }   
                                  {
                                     printf("\n Digite sua opcao: ");
                                          fflush (stdin);
                                          scanf("%c", &opcao);
                                               switch(opcao)
                                                 
                                                       case'1': printf("\n Cavalo");
                                                                break;    
                                  }   
                           }
                      
                  
                                
                               
                         
                  }
            system("pause>null");
           }
          while(opcao=!'4');
      }
    • By Marcosdev
      Estou começando na programação e tenho algumas dúvidas sobre esse código do jogo da forca:
       
      #include <iostream>
      #include <stdlib.h>
      using namespace std;
       
      int main() {
          char entrada[21]; //Palavra secreta
          char letra[1]; //Letra que a pessoa digitou
          char letras[30]; //Letras
          char secreta[21]; //A letra certa e sua posição
          int tam; //O tamanho da palavra vai ser igual a ENTRADA
          int i; //(indice) Necessario pq vai usar array
          int chances; // Quando acabar elas acaba o jogo
          int acertos; // O numero de acertos equivale ao TAM
          bool verificacao; // Verifica se a pessoa digitou uma letra certa ou errada
          string dica;
          chances=6;
          tam=0;
          i=0;
          verificacao=false;
          acertos=0;

          cout << "O que seu adversario vai adivinhar? " << "\n";
          cin >> entrada;
      //comando limpar tela
          system("cls");

          cout << "Dica: ";
          cout << dica;
          cin >> dica;
      // O indice vai percorrer ENTRADA até o /0 (enter) pra verificar se tá certo e a posição
      //Char de arrays devem sempre terminar em /0
          while(entrada != '\0') {
              i++; // O i vai percorrer a "entrada" de um por um,e que ainda não é o /0
              tam++; // Cada palavra certa vai adicionar +1 em TAM, desde que i não seja o enter
          }
      //Vou preencher a "entrada" com asteristicos e cada palavra certa vai ser -1 asteristico
          for(i=0 ; i<21 ; i++) {
               //Enquanto i for menor que 21, i de secreta vai aparecer com *
          }
      //Enquanto o jogador tiver chances e acertos diferente de tam, irá aparecer as chances e palavras acertadas na tela
      inicio:
          while((chances > 0)&&(acertos < tam)){
              cout << "Chances Restantes: " << chances << "\n";
              cout << "Palavra Secreta: ";
              for(i=0 ; i<tam ; i++) {
                  cout << secreta;
              }
      //O jogador vai digitar
              cout << "\n\n" << "Digite uma letra: ";
              cin >> letra[0]; //Armazenar na posição 0
              // Se já tiver usado a letra, goto volta pro o inico
              for(i=0 ; i<tam ; i++){
                  if(letras == letra[0]) {
                      system("cls");
                      cout << "\nLetra ja usada! \n";
                      goto inicio;
                  } else {
                      letras=letra[0];
                  }
              }
              for(i=0 ; i<tam ; i++) {
                  if(entrada==letra[0]) {
                      verificacao=true;
                      // A letra dá posição vai ser copiada para secreta se for certa
                      secreta=entrada;
                      acertos++; // incrementa o total de acertos
                  }
              }
      //Se acerto for igual a falso "not acerto = !acerto" diminui o numero de chances
              if(!verificacao) {
                  chances--;
              }
              verificacao=false;
              system("cls");
              if(verificacao=false) {
                  system("cls");
                  cout << letra[0];
              }
          }
          
          if(acertos==tam) {
              cout << "O jogador ganhou! ";
          } else {
              cout << "O jogador perdeu! ";
          }
          system("pause");
          return 0;
      }
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.