Você está aqui: C++ ::: Desafios e Lista de Exercícios Resolvidos ::: C++ Básico

Como converter quilômetros em metros, centímetros e milímetros usando C++ - Exercícios Resolvidos de C++

Quantidade de visualizações: 622 vezes
Pergunta/Tarefa:

Escreva um programa em C++ para converter quilômetros em metros, centímetros e milímetros. Seu programa deverá pedir para o usuário informar a quantidade de quilômetros e exibir as conversões solicitadas.

Como sabemos, um Quilômetro = 1000 Metros, 100.000 Centímetros ou 1.000.000 Milímetros.

Seu programa deverá exibir uma saída parecida com:

Informe a distância em quilômetros: 2.5
Distância em Quilômetros: 2.5
Distância em Metros: 2500.0
Distância em Centímetros: 250000.0
Distância em Milímetros: 2500000.0
Resposta/Solução:

Veja a resolução comentada deste exercício usando C++:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <string>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // variáveis usadas para resolver o problema
  double quilometros, metros, centimetros, milimetros;
	
  // vamos ler a quantidade de quilômetros
  cout << "Informe a distância em quilômetros: ";
  cin >> quilometros;
		
  // vamos calcular a distância em metros
  metros = quilometros * 1000.0;
  // vamos calcular a distância em centímetros
  centimetros = quilometros * 100000.0;
  // e agora a distância em milímetros
  milimetros = quilometros * 1000000.0;

  // vamos mostrar os resultados
  cout << "Distância em Quilômetros: " << quilometros << endl;
  cout << "Distância em Metros: " << metros << endl;
  cout << "Distância em Centímetros: " << centimetros << endl;
  cout << "Distância em Milímetros: " << milimetros << endl;
    
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS; 
}


Link para compartilhar na Internet ou com seus amigos:

C++ ::: Win32 API (Windows API) ::: Arquivos e Diretórios

C++ Windows API - Como ler o conteúdo de um arquivo usando a função ReadFile() da Win32 API

Quantidade de visualizações: 8788 vezes
A função ReadFile() é usada quando queremos ler o conteúdo de um arquivo. A leitura se inicia na posição zero do arquivo e mantém um ponteiro de arquivo, a partir do qual as leituras subsequentes ocorrerão. Esta função pode ser usada para leituras síncronas e assíncronas. Para leituras apenas assíncronas devemos usar ReadFileEx().

Veja seu protótipo na documentação da API do Windows:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

BOOL WINAPI ReadFile(
  HANDLE hFile,
  LPVOID lpBuffer,
  DWORD nNumberOfBytesToRead,
  LPDWORD lpNumberOfBytesRead,
  LPOVERLAPPED lpOverlapped
);

Antes de vermos um exemplo de como usar a função ReadFile(), vamos dar uma olhada em seus parâmetros:

a) HANDLE hFile - Este é o handle para o arquivo a partir do qual queremos ler. Tal handle deve ser criado com o direito de acesso GENERIC_READ.

b) LPVOID lpBuffer - Um ponteiro para o buffer que receberá os dados lidos do arquivo.

c) DWORD nNumberOfBytesToRead - O número máximo de bytes a serem lidos de cada vez. Geralmente este número está relacionado à quantidade de bytes dos elementos do buffer.

d) LPDWORD lpNumberOfBytesRead - Um ponteiro para uma variável que receberá o número de bytes lidos. A função ReadFile() define o valor desta variável como 0 antes de cada leitura e verificação de erros.

e) LPOVERLAPPED lpOverlapped - Um ponteiro para um estrutura OVERLAPPED. Esta estrutura é exigida se o handle para o arquivo for obtido usando FILE_FLAG_OVERLAPPED para o parâmetro dwFlagsAndAttributes da função CreateFile(). Geralmente usamos NULL para este parâmetro.

A função ReadFile() retorna quando um erro ocorre ou a quantidade de bytes solicitados é alcançada.

Veja um trecho de código no qual lemos o conteúdo de um arquivo chamado testes.txt:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <cstdlib>
#include <iostream>
#include <windows.h>
#define TAM_BUFFER 256 // tamanho do buffer em bytes

using namespace std;

int main(int argc, char *argv[]){
  // nome do arquivo
  CHAR arquivo[] = "C:\\testes.txt";
  
  CHAR buffer[TAM_BUFFER]; // buffer para o conteúdo do arquivo
  DWORD nIn; // bytes lidos
  
  // vamos abrir o arquivo para leitura.
  // se o arquivo não existir uma mensagem de erro é exibida.
  HANDLE hArquivo = CreateFile(arquivo, GENERIC_READ, FILE_SHARE_READ, NULL,
    OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
  if(hArquivo == INVALID_HANDLE_VALUE){
    cout << "Erro ao abrir o arquivo: " << GetLastError() << endl;    
  }
  else{
    // arquivo aberto com sucesso. Vamos ler
    while(ReadFile(hArquivo, buffer, TAM_BUFFER, &nIn, NULL) && nIn > 0){
      cout << "Efetuei a leitura de " << nIn << " bytes." << endl;             
      // vamos adicionar o caractere de final de linha
      // caso os bytes lidos não preencham todo o buffer
      buffer[nIn] = 0;
      cout << "Conteudo da leitura: " << buffer << endl;
    }   
  }
    
  // vamos fechar o handle
  CloseHandle(hArquivo);
  
  system("PAUSE");
  return EXIT_SUCCESS;
}



C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle

C++ para iniciantes - Como usar a instrução switch em C++

Quantidade de visualizações: 10399 vezes
A instrução switch é usada quando queremos testar várias possibilidades de fluxo de código mas não queremos usar vários else if. Desta forma, cada possibilidade é testada em um bloco case. Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
  int valor = 4;

  switch(valor){
    case 0:
      cout << "Valor e igual a 0" << endl;
      break;
    case 1:
      cout << "Valor e igual a 1" << endl;
      break;
    case 2:
      cout << "Valor é igual a 2" << endl;
      break;
    default:
      cout << "Nenhuma das anteriores" << endl;
  }
    
  system("PAUSE");
  return EXIT_SUCCESS;
}

Veja que, se nenhuma das condições testadas em um bloco case for satisfatória, a parte default da instrução switch será executada.

A variável fornecida para uma instrução switch pode ser de qualquer tipo integral, ou de um tipo criado pelo usuário mas que pode ser convertido para um tipo integral (mesmo que seja uma conversão forçada - cast).


C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar o laço do...while da linguagem C++ - Apostila C++ para iniciantes

Quantidade de visualizações: 24486 vezes
O laço do..while é usado quando queremos executar um bloco de códigos repetidamente ENQUANTO uma condição for satisfeita. Porém, ao contrário do laço while, o laço do..while é sempre executado no mínimo uma vez, visto que a condição é testada antes da segunda interação, ou seja, o teste só ocorre no final da interação atual. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

do{
  bloco de instruções
}while(condição);

Veja um exemplo de um laço do..while que conta de 10 à 0:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <string>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // um laço do..while que conta de
  // 10 até 0
  int valor = 10;

  do{
    cout << valor << "\n";
    valor--;
  }while(valor >= 0);

  cout << "\n\n";

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}



Vamos testar seus conhecimentos em Java

Analise o seguinte código Java

double a = 3.0 / 0;
System.out.println(a);

Qual é o resultado de sua execução?

A) Infinity

B) NaN

C) Uma exceção java.lang.ArithmeticException: / by zero

D) 0
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Qual o resultado da execução do seguinte código JavaScript?

document.write(1 +  "2" + "2");

A) O valor 122 será exibido.

B) O valor 5 será exibido.

C) O valor 32 será exibido.

D) O valor NaN será exibido.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

O exercício do direito à propriedade

Ainda sobre as ações judiciais correlatas aos direitos de vizinhança, mais especificamente sobre as ações de demarcação e divisão de propriedades, retificação de registros imobiliários e relação entre esses procedimentos, assinale a alternativa correta no que toca aos seus objetivos, às hipóteses de cabimento e às demais peculiaridades:

A) A ação de demarcação serve para esclarecer os limites divisórios entre dois prédios de dois proprietários diferentes.

B) O procedimento de retificação de matrícula serve para individualizar em matrículas separadas um bem que é de propriedade conjunta (condomínio).

C) A ação de demarcação dispensa memorial descritivo e prova pericial no processo.

D) As ações demarcatória e divisória não podem ser cumuladas na mesma ação, pois têm objetos diferentes.

E) Os procedimentos ou as ações de marcação e divisão de propriedades só podem ser realizados judicialmente.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira

Perfil em aço

Alguns materiais fazem parte do processo de produção do aço ou até são resultantes de suas variações. Eles apresentam características que diferem entre si. Um desses materiais contém de 3 a 4% de carbono em sua composição.

Assinale a alternativa que indica corretamente qual é esse material.

A) Aço.

B) Aço macio.

C) Ferro fundido.

D) Ferro forjado.

E) Aço de médio carbono.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

O exercício do direito à propriedade

Os direitos de vizinhança, quando violados, abrem para o lesado a possibilidade de ingressar com a medidas judiciais assecuratórias do seu direito, como solicitar a suspensão da obra que está sendo realizada pelo vizinho, sua reformulação ou demolição. Sobre esse tema, assinale a alternativa correta e as possíveis alterações legislativas nesse procedimento:

A) A ação de nunciação de obra nova é procedimento especial do Código de Processo Civil de 2015.

B) A ação de nunciação de obra nova não deve sofrer, atualmente, mudança de terminologia e tramita pelo procedimento especial.

C) O objetivo principal é reformular ou demolir a obra; a suspensão é mero pedido liminar no início da ação.

D) A ação de nunciação de obra nova também pode ser ajuizada para a obra que já tiver sido finalizada.

E) O prazo para ingressar com a nunciação é de até um ano e um dia a contar da conclusão da obra.
Verificar Resposta Estudar Cards Todas as Questões

Desafios, Exercícios e Algoritmos Resolvidos de C++

Veja mais Dicas e truques de C++

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 84 usuários muito felizes estudando em nosso site.