Para começar a jornada em C++, vamos partir de variáveis, chamadas de função e comentários.
Existem dois tipos de comentários: de uma linha e de várias linhas.
Tudo o que vem depois de // na mesma linha é ignorado pelo compilador.
Comentários de várias linhas também são conhecidos como comentários no estilo C.
Eles ficam entre /* e */.
Tudo o que estiver entre eles também será ignorado.
C++ é uma linguagem tipada.
Todos os tipos precisam ser conhecidos em tempo de compilação, e você geralmente precisa declará-los explicitamente.
O tipo de uma variável não pode mudar.
Uma variável inteira com o nome years pode ser declarada assim:
int years;
É uma boa prática inicializar as variáveis na declaração. C++ oferece diferentes mecanismos para isso. A versão com chaves está mais alinhada com o C++ moderno, mas a versão com sinal de igual também é muito comum.
int tomatoes{80};
int potatoes = 40;
C++ permite sim usar variáveis não inicializadas. Enquanto a variável não for definida de propósito, ela é indefinida e pode conter qualquer coisa. Para evitar erros de uso antes da definição e comportamento indefinido, é aconselhável sempre inicializar. O comportamento indefinido pode travar o seu programa no pior momento possível, mesmo que ele estivesse funcionando bem até então. Não dá para enfatizar o suficiente: evite comportamento indefinido a todo custo.
Operadores aritméticos como *, + ou - podem fazer parte de uma expressão como 3 * 2 ou tomatoes + potatoes.
Você pode reatribuir variáveis, desde que elas mantenham o tipo:
tomatoes = tomatoes - 5; // tomatoes is now 75
potatoes = (32 * 2) + 11; // potatoes is now 75 as well
Funções têm um nome, um tipo de retorno e uma lista de parâmetros (possivelmente vazia).
Um exemplo de função chamada always_fortyseven que sempre retornaria 47 ficaria assim:
int always_fortyseven() {
return 47;
}
Aqui está vip_fee, que tem um parâmetro:
int vip_fee(int standard_fee) {
/*
vip_fee calculates the vip fee based on the standard_fee.
*/
int vip_multi{3};
return standard_fee * vip_multi;
}
Ou total_fee, uma função com três parâmetros e uma chamada a outra função.
int total_fee(int vips, int adults, int kids) {
/*
total_fee calculates the total price for a group of VIP and adult guests with kids.
Kids get a flat discount on the standard fee.
VIP guest fees are calculated by calling vip_fee.
*/
int standard_fee{30};
int kids_discount{15};
int kids_total_fee = kids * (standard_fee - kids_discount);
int vips_total_fee = vips * vip_fee(standard_fee);
int adult_total_fee = adults * standard_fee;
return vips_total_fee + adult_total_fee + kids_total_fee;
}
Em C++, as funções não retornam o valor da última instrução como em algumas outras linguagens.
A palavra-chave return é obrigatória para que o código compile.
Espaços em branco são usados para formatar o código-fonte e incluem espaços, tabulações e quebras de linha. Como o compilador ignora espaços em branco desnecessários, você pode usá-los para estruturar o seu código. Um uso inteligente de espaços em branco pode melhorar a legibilidade do seu código. Existem diferentes padrões de formatação, mas todos eles são convenções e não são impostos pelo compilador.
// Formatting makes it easier to find bugs
int eggs_yolks = 3;
int yeast = 15;
int flour=500;int sugar=200;// compact, but difficult to read
A namorada de Lucian está voltando para casa e ele ainda não preparou o jantar de aniversário de namoro deles!
Neste exercício, você vai escrever um código para ajudar o Lucian a preparar uma lasanha caprichada, seguindo o livro de receitas favorito dele.
Você tem quatro tarefas, todas relacionadas ao tempo gasto preparando a lasanha.
Defina a função ovenTime() que não recebe nenhum argumento e retorna quantos minutos a lasanha deve ficar no forno.
De acordo com o livro de receitas, o tempo esperado no forno é de 40 minutos:
ovenTime();
// => 40
Defina a função remainingOvenTime(int actualMinutesInOven) que recebe como argumento os minutos que a lasanha já passou no forno e retorna quantos minutos a lasanha ainda precisa ficar no forno, com base no tempo esperado no forno, em minutos, da tarefa anterior.
remainingOvenTime(30);
// => 10
Defina a função preparationTime(int numberOfLayers) que recebe como argumento o número de camadas que você adicionou à lasanha e retorna quantos minutos você gastou preparando a lasanha, considerando que cada camada leva 2 minutos para preparar.
preparationTime(2);
// => 4
Defina a função elapsedTime(int numberOfLayers, int actualMinutesInOven) que recebe dois argumentos: o primeiro é o número de camadas que você adicionou à lasanha, e o segundo é o número de minutos que a lasanha está no forno. A função deve retornar quantos minutos você trabalhou no preparo da lasanha, que é a soma do tempo de preparo, em minutos, com o tempo, em minutos, que a lasanha passou no forno até o momento.
elapsedTime(3, 20);
// => 26
Crie sua conta no Exercism para aprender e dominar C++ com 19 conceitos100 exercícios e mentoria humana de verdade, tudo de graça.