Olá e bem-vindo. Nesta demonstração, quero fornecer uma solução para
nosso último desafio. Então, eu quero
fornecer uma solução para nosso programa c que está levando
alguns minutos e convertendo-o para o que essa representação é em dias e
quantos anos isso significa.
Programa não necessariamente
prático, mas demonstrará alguns conceitos-chave
que vocês podem aprender principalmente usando operadores aritméticos,
obtendo entrada do teclado.
E também você tem que usar o operador de elenco para isso, o que eu posso
não ter mencionado no desafio, mas espero que vocês
tenham percebido isso porque quando você faz o - não precisa usar o operador
de elenco, você não deve precisar para inicialmente eu
estava pensando que uma solução precisava de um operador de módulo. Mas se você fizer um
módulo, ele leva apenas 2 ints,
eu acho.
De qualquer forma, vamos começar. Vamos iniciar os blocos frios
e criar um projeto, repassar as coisas básicas nas quais somos muito bons neste ponto.
Portanto, não vou entrar em detalhes, você pode apenas assistir.
Mas vou criar um novo projeto e vai ser um projeto de console e
definitivamente vai ser c e o que vou
chamar de novo é que você sempre deseja obter nomes bons e significativos.
Vou dizer conversão de minutos.
Portanto, é como um aplicativo de conversão de minutos.
E agora vou apenas modificar nosso principal. arquivo c.
Então, vamos nos livrar disso. E vamos manter as instruções de inclusão.
E como sempre, você vai querer adicionar comentários, certifique-se de adicionar os comentários,
só porque eu não faço isso não significa que você não deva fazer.
É uma prática padrão. É apenas para fins de eficiência e tempo, deixo de fora.
O que gosto de fazer no início
do programa é limpar minhas variáveis que preciso usar e, em seguida, inicializá-las.
Então, vamos começar dessa maneira. Vou criar uma variável inteira para os
minutos, o usuário vai entrar. E vou apenas ligar para os minutos inseridos. Vou inicializá-lo para 0.
Vou criar um duplo por anos. Na verdade, isso também pode
ser longo, dependendo de quanto cálculo você deseja fazer, porque você pode realmente chegar
a um número de casas decimais bem grande.
Tanto tempo pode até ser uma opção melhor. Mas vou usar um
duplo por enquanto, inicializar esse 0. 0 e dias iguais a
0. 0
E agora quero obter a opinião do usuário.
Para obter a entrada do usuário, a primeira coisa a fazer é dizer ao usuário para inserir a entrada.
Vou exibir uma saída dizendo, por favor,
digite o número de minutos.
E vai colocar dois pontos e um espaço e terminar
com um ponto e vírgula.
Em seguida, vou realmente obter a entrada.
Aqui é onde você provavelmente diria obter a entrada do usuário como um comentário.
Como obtemos informações do usuário? Usamos a função scanf.
Portanto, lembre-se disso há algum tempo, apenas diga scanf, semelhante ao printf.
E o primeiro parâmetro embora o argumento seja
o tipo de dados que você deseja ler para converter.
Lembre-se de que tudo é lido como uma string ou texto.
Portanto, você deve convertê-lo para a forma como irá armazená-lo.
Então você o coloca entre aspas, como o printf. Você usa um especificador de formato.
Aqui. Vou apenas dizer que quero armazená-lo como um decimal.
Portanto, direi d um inteiro,
não um inteiro decimal, desculpe.
E então o próximo argumento é a variável que você vai armazenar.
Em vou armazená-lo nos minutos inseridos.
Agora, lembre-se de que scan f e
eu realmente acabamos de fazer scan lá, scanf para cada
tipo de dados, exceto uma string, você deve
fornecer o e comercial. O suboperador de endereço.
Portanto, temos que fornecer isso. Estamos lendo em um número, então temos que fazer o e comercial.
Lembre-se disso na palestra. Em seguida, quero adicionar um ponto-e-vírgula.
E neste ponto, você provavelmente deve testar.
Certifique-se de obter informações do usuário. E você provavelmente só tem um printf para exibir o que você digitou.
Mas como eu sei que isso está correto, vou seguir em frente.
Vou precisar fazer um cálculo na linha 15.
Principalmente, desejo armazenar os minutos em anos.
Então o que vou fazer é criar outra variável que
esqueci e que armazenará os minutos no ano.
Porque isso vai tornar tudo mais fácil. Então aqui vou dizer apenas minutos e ano.
Você notará que a convenção que estou usando aqui para nomear variáveis é camelCase.
É onde você coloca as letras minúsculas na
primeira ala e, em seguida, cada palavra depois disso, coloca o primeiro caractere em letras maiúsculas.
Eu não expliquei isso antes, então pensei em mencioná-lo.
Então, no primeiro cálculo, quero definir meus minutos e ano,
porque é assim
que vou calcular meus anos. Então, minutos e anos serão iguais a -
e eu gosto de usar parênteses apenas para organizar, para que tudo fique claro. Isso o torna mais legível.
Vai ser 60, porque 60 é o
número de minutos em uma hora. E vou multiplicar por isso pelo número de horas em um dia, que é 24.
Vou multiplicar isso pelo número de dias em um
ano, que é 365.
E então esse cálculo vai me dar quantos minutos existem em um único ano.
E agora posso usar isso para calcular meus anos.
Então, aqui na próxima linha, posso dizer anos iguais - estamos usando operadores
de atribuição aqui, iguais.
E então o que estamos fazendo nesses parênteses na linha 16 é que
estamos usando o asterisco, que é uma multiplicação. Tão bem legal.
Anos vão ser iguais a - e novamente eu quero usar parênteses.
As atas inseridas que eram feitas pelo usuário divididas
pelas atas do ano.
Então, se você inseriu 5000 minutos e há 20.000 minutos em um ano, 5000 dividido
por 20.000 vai dar a você quantos anos existem, o
que seria 0 ponto alguma coisa.
Para calcular
os dias, aqui direi
apenas os minutos inseridos divididos
por 60 e 60. 0
porque há 60 minutos
em uma hora.
E, quando eu tiver as horas, posso dividir pelo número de
dias, que é 24. 0
E eu poderia ter feito outro cálculo se quisesse.
Mas, novamente, quero ter certeza de que fazemos isso na ordem correta.
Então, primeiro vou dividir os minutos e entrar dividido por 60.
Você não precisa se preocupar com isso
porque estamos fazendo divisão aqui, então a associatividade será da esquerda para
a direita e eu não precisaria desses parênteses. Mas sempre gosto de adicionar parênteses porque torna as coisas mais legíveis.
Então, vamos adicionar esse último.
Isso é meio redundante. Eu nem preciso de um aqui. Então, vamos deixar
de fora, apenas os primeiros. E isso deve mostrar nossos dias.
Agora que fiz meus cálculos e uso alguns dos operadores.
Eu quero fazer um printf apenas para imprimir meus dados.
Aqui, vou dizer primeiro imprima os minutos, por
cento d
minutos é aproximadamente por cento f anos e por cento f dias.
E então vou adicionar um feed de linha.
Portanto, estamos usando printf para exibir a saída de variáveis e
os símbolos de porcentagem lembram nossos especificadores de marcação.
A primeira coisa que quero imprimir são os minutos, então tenho que colocar os minutos depois da minha primeira vírgula quando ela for inserida.
O segundo é o ano, então eu quero dizer anos porque isso é por cento f anos.
E o terceiro são dias mais ou menos
assim.
Agora devo compilar e executar, e eles devem fazer minha conversão para mim.
Portanto, vamos prosseguir e construir. Não tenho manhãs, nem erros.
Vamos correr e nem tenho certeza de quantos minutos há
em um ano. Não tenho certeza de
como testar isso, mas vamos colocar 5.000 minutos para começar.
Quando executo o programa, ele me pede para inserir o número de minutos, vou colocar 5000.
E se você não inseriu um número, pode travar porque
o está convertendo em um número na função scanf.
Eu clico em retornar, isso diz que 5000 minutos é
aproximadamente 0 009513
anos e 3. 47.222 dias,
o que parece fazer sentido porque 60 minutos em uma hora
vezes 24, isso vai ser aproximadamente 2.400 ou
mais para um dia, então 2.400
e 2.400, não 60 vezes. Sinto muito 60
vezes 24 vai ser cerca de 1200.
Então, 1200 vai para 5000 quantas, muitas vezes por dia,
provavelmente cerca de 3. 4 por aí.
Então, aproximadamente, isso parece estar correto.
Portanto, você pode executar isso várias vezes, mas coloque em alguns números grandes o que você vai notar.
Estamos apenas armazenando duplas aqui. Então se você executá-lo e tentar colocar
um número muito grande, digamos 600 bilhões ou algo
assim, você pode errar
- então você pode ter incorrecções aqui. Portanto, isso está mostrando os problemas dos tipos de dados.
Portanto, estou armazenando em um int. Int tem apenas 8 bytes. Entrei neste grande número.
Isso não pode ser armazenado nele. Então, quando vou
imprimi-lo, estou imprimindo em um número completamente diferente, 184298154.
Isso porque o que estou inserindo é maior do que um int.
Portanto, você pode querer considerar se deseja que este programa
seja ainda mais preciso e deseja inserir números maiores para alterar alguns dos tipos de
dados, alterar os inteiros para duplos ou mesmo os duplos para longos.
Isso significa 350 anos e 127.000 dias ou mais.
Portanto, um pequeno aplicativo de conversão que, novamente, tenta fornecer a
você alguma compreensão dos tipos
de dados, bem como dos operadores.
Poderíamos ter muitos aplicativos de conversão diferentes. Outro aplicativo legal que
você deseja escrever para praticar mais seria o aplicativo Fahrenheit para
Celsius.
Escreva um aplicativo que permita ao usuário inserir Fahrenheit e depois converter para Celsius.
Quero dizer, há muitos, muitos cenários diferentes que você inventa. Mas isso o forçará a usar os operadores.
E poderíamos até fazer um casting
aqui se quiséssemos. Se não gostássemos disso os dias
eram muito precisos e talvez queiramos mudar o duplo para um inteiro.
E queremos torná-lo um pouco menos preciso. Na verdade, poderíamos dizer “cast this”
para um it simplesmente fornecendo os parênteses e, em
seguida, fazendo int.
E isso na verdade levaria esse número por dias.
E se for decimal 3. 549 ou algo assim, seria convertido em 3.
Talvez seja melhor para o usuário, até você.
Mas vamos mantê-lo por enquanto como um duplo.
Mas é assim que você aprende. Você brinca com o programa, tenta cenários
diferentes, tenta entradas diferentes, certifique-se de que tudo está correto. Obrigada.