Você está aqui: C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções

Algoritmos Resolvidos de C++ - Escreva uma função C++ que recebe graus em Celcius e retorna a temperatura correspondente em Fahrenheit - Desafio de Programação Resolvido em C++

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

Escreva um programa que C++ que usa uma função chamada celsius_fahrenheit() que recebe o valor da temperatura em graus Celcius e retorna a temperatura correspondente em graus Fahrenheit. A função deve possuir um parâmetro do tipo float e retornar um valor float.

Pesquise a fórmula de conversão de Celcius para Fahrenheit que você julgar mais adequada.

Seu programa deve apresentar a seguinte saída:

Informe a temperatura em Celsius: 40
40,00 graus Celcius é igual à 104,00 graus Fahrenheit.

Pressione qualquer tecla para continuar...
Resposta/Solução:

Veja a resolução comentada deste exercício usando C++ console (modo texto):

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

// protótipo da função que permite converter de graus Celsius
// para graus Fahrenheit 
float celsius_fahrenheit(float celsius);

int main(int argc, char *argv[]){
  // variáveis usadas na resolução do problema
  float fahrenheit, celsius;
  
  // vamos pedir para o usuário informar a temperatura em
  // Celsius
  cout << "Informe a temperatura em Celsius: ";
  // efetua a leitura da entrada do usuário
  cin >> celsius;
  
  // vamos converter os graus Celsius para graus
  // Fahrenheit
  fahrenheit = celsius_fahrenheit(celsius);
  // e agora mostramos o resultado
  cout << celsius << " graus Celcius é igual à " << fahrenheit <<
    " graus Fahrenheit." << endl;
  
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS; 
}

// função que permite converter de graus Celsius
// para graus Fahrenheit 
float celsius_fahrenheit(float celsius){
  return ((celsius * 9) / 5.0) + 32;
}


Link para compartilhar na Internet ou com seus amigos:

C++ ::: Dicas & Truques ::: Strings e Caracteres

Como substituir todas as ocorrências de uma substring em uma string C++ usando uma função substituir_string() personalizada

Quantidade de visualizações: 10288 vezes
Nesta dica mostrarei como podemos tirar proveito das funções empty(), size(), find(), replace() e length() da classe String do C++ para escrever uma função substituir_string() personalizada que nos permite substituir todas as ocorrências de uma substring em uma string.

Veja o código C++ completo para o exemplo:

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

// função personalizada para substituir todas as ocorrências
// de uma substring em uma string
void substituir_string(string& str, const string de, 
  const string para){
  
  // variáveis auxiliares
  int i = 0, indice;
  
  // a string está vazia?
  if(str.empty()){
    str = de;
    return;
  }
  
  // fazemos as substituições da substring
  while(i < str.size()){
    indice = str.find(de, 0);
    
    if(indice >= 0){ 
      str.replace(indice, de.length(), para);
    }
    else{
      return;
    }
	
    i++;
  }
}

// função principal do programa
int main(int argc, char *argv[]){
  // vamos criar uma string
  string frase = "Java? Gosto de Java, Java!";
  cout << "A frase original é: " << frase << endl;	
	
  // Substitui as ocorrências de "Java" por "PHP"
  substituir_string(frase, "Java", "PHP"); 
	 
  // e mostramos o resultado	 
  cout << "Depois da substituição: " << frase << endl; 
	 
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Ao executar este código C++ nós teremos o seguinte resultado:

A frase original é Java? Gosto de Java, Java!
Depois da substituição: PHP? Gosto de PHP, PHP!


C++ ::: Dicas & Truques ::: Strings e Caracteres

Como retornar uma substring de uma string em C++ usando a função substr()

Quantidade de visualizações: 10212 vezes
Este exemplo usa a função substr() para obter uma substring a partir de uma string. A assinatura para essa função é:

string substr(size_t pos = 0, size_t n = npos) const;
Veja que só precisamos fornecer a posição do caractere inicial da substring (pos) e a quantidade de caracteres que serão retornados (n).

Se a posição inicial da substring for maior que o tamanho da string, uma exceção do tipo out_of_range será atirada. Nenhum erro é indicado se o tamanho da substring exceder o tamanho da string.

Veja o código C++ completo para o exemplo:

----------------------------------------------------------------------
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[]){
  // vamos criar uma string	
  string frase = "Gosto de Java e C++";
  cout << "A frase e: " << frase << endl;
  
  // agora vamos obter uma parte da frase
  string sub = frase.substr(9, 4);

  // e mostramos o resultado
  cout << "A substring retornada e: " << sub << endl; // retorna "Java"
	  
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Ao executar este código C++ nós teremos o seguinte resultado:

A frase é: Gosto de Java e C++
A substring retornada é: Java


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

Arquivos e diretórios em C++ - Como escrever em arquivos usando a função WriteFile() da API do Windows

Quantidade de visualizações: 9114 vezes
A função WriteFile() da Win32 API é útil quando precisamos escrever em arquivos. Esta função foi projetada para escritas síncronas e assíncronas, enquanto WriteFileEx() é somente para escritas assíncronas.

Veja o protótipo desta função:

BOOL WINAPI WriteFile(
  HANDLE hFile,
  LPCVOID lpBuffer,
  DWORD nNumberOfBytesToWrite,
  LPDWORD lpNumberOfBytesWritten,
  LPOVERLAPPED lpOverlapped
);


Antes de escrevermos em um arquivo, é importante entendermos o significado dos parâmetros da função WriteFile():

a) HANDLE hFile - Este é o handle para o arquivo no qual queremos escrever. Este handle deve ser criado com os direitos de acesso de escrita GENERIC_WRITE.

b) LPCVOID lpBuffer - Um ponteiro para o buffer que contém os dados que serão escritos no arquivo.

c) DWORD nNumberOfBytesToWrite - O número de bytes a serem escritos no arquivo.

d) LPDWORD lpNumberOfBytesWritten - Um ponteiro para uma variável que receberá o número de bytes escritos. A função WriteFile() define o valor desta variável como zero antes de fazer seu trabalho ou verificação de erro.

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

Veja um trecho de código no qual usamos a função WriteFile() para escrever duas linhas em um arquivo texto:

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

using namespace std;

int main(int argc, char *argv[]){
  // dados a serem escritos no arquivo
  CHAR frase[80];
  DWORD nOut; // bytes escritos
  
  // nome do arquivo
  CHAR arquivo[] = "C:\\testes.txt";
  
  // vamos abrir o arquivo para escrita.
  // se o arquivo não existir nós vamos criá-lo.
  HANDLE hArquivo = CreateFile(arquivo, GENERIC_WRITE, 0, NULL,
    CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);

  if(hArquivo == INVALID_HANDLE_VALUE){
    cout << "Erro ao abrir o arquivo: " << GetLastError() << endl;
  }
  else{
    // arquivo aberto com sucesso. Vamos escrever
    
    // dados a serem escritos no arquivo
    CHAR frase1[80] = "Programar em C++ é bom demais\r\n";
    CHAR frase2[80] = "E a Win32 é da hora!!!!";
    DWORD nOut; // bytes escritos
    
    // vamos escrever a primeira frase
    WriteFile(hArquivo, frase1, strlen(frase1), &nOut, NULL);
    cout << nOut << " bytes foram escritos. " << endl;
    
    // vamos escrever a segunda frase
    WriteFile(hArquivo, frase2, strlen(frase2), &nOut, NULL);
    cout << nOut << " bytes foram escritos. " << endl;   
  }
    
  // vamos fechar o handle
  CloseHandle(hArquivo);
  
  system("PAUSE");
  return EXIT_SUCCESS;
}



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: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



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