Hola y bienvenido. En esta demostración, quiero brindar una solución
para nuestro último desafío. Así que quiero
proporcionar una solución a nuestro programa c que toma una
cantidad de minutos y lo convierte en lo que es esa representación en
días y en cuántos años.
No es un programa
necesariamente práctico, pero demostrará algunos
conceptos clave que ustedes pueden aprender principalmente usando operadores
aritméticos, obteniendo información del teclado.
Y también tienes que usar el operador de transmisión para esto, lo cual es
posible que no haya mencionado en el desafío,
pero espero que lo hayas descubierto porque cuando lo haces, no necesitas usar
el operador de transmisión, no deberías necesitar inicialmente
estaba pensando que una solución necesitaba un operador de módulo. Pero si haces un módulo,
creo que solo se necesitan 2
ints.
De todos modos, comencemos. Comencemos los bloques fríos y creemos
un proyecto, repasemos las cosas básicas en las que somos bastante buenos en este momento.
Así que no voy a entrar en detalles, solo puedes mirar.
Pero voy a crear un nuevo proyecto y va a ser un proyecto de consola
y definitivamente va a ser cy lo que
voy a nombrar a este es de nuevo, siempre querrás obtener buenos nombres significativos.
Voy a decir conversión de minutos.
Es como una aplicación de conversión de minutos.
Y ahora solo voy a modificar nuestro archivo main. c archivo.
Así que deshagámonos de esto. Y vamos a mantener las declaraciones de inclusión.
Y como siempre, querrás agregar comentarios, asegúrate de agregar los comentarios, solo
porque yo no lo hago no significa que no debas hacerlo.
Es una práctica estándar. Es solo por razones de eficiencia y tiempo, lo dejo fuera.
Lo que me gusta hacer en la
parte superior del programa es borrar las variables que necesito usar y luego inicializarlas.
Así que comencemos de esa manera. Voy a crear una variable entera para los minutos
que va a ingresar el usuario. Y solo voy a llamar a los minutos ingresados. Lo inicializaré a 0.
Voy a crear un doble durante años. En realidad, esto también podría ser
demasiado largo dependiendo de la cantidad de cálculo que desee hacer porque en realidad podría
obtener un número de punto decimal bastante grande.
Tanto tiempo incluso podría ser una mejor opción. Pero solo voy a usar
un doble por ahora, inicializar ese 0. 0 y días iguales a
ese 0. 0.
Y ahora quiero obtener información del usuario.
Para obtener la entrada del usuario, lo primero que debe hacer es decirle al usuario que ingrese la entrada.
Así que voy a mostrar un resultado que diga
por favor ingrese la cantidad de minutos.
Y pondrá dos puntos allí y un espacio y terminará
con un punto y coma.
Lo siguiente es que voy a obtener la entrada.
Aquí es donde probablemente diría obtener información del usuario como comentario.
¿Cómo obtenemos información del usuario? Usamos la función scanf.
Así que recuerda esto de hace un tiempo, solo di scanf, similar a printf.
Y el primer parámetro aunque argumento es
el tipo de datos que desea leer para convertir.
Recuerde, todo se lee como una cadena o texto.
Entonces tienes que convertirlo a cómo lo vas a almacenar.
Así que lo pones entre comillas dobles al igual que printf. Utiliza un especificador de formato.
Aquí. Solo voy a decir que quiero almacenarlo como decimal.
Entonces voy a decir d un entero,
no un entero decimal, lo siento.
Y luego, el siguiente argumento es qué variable va a almacenar.
En lo voy a almacenar en minutos ingresados.
Ahora recuerde que scan f y yo
solo tenemos scan allí, scanf para cada tipo de
datos excepto una cadena, usted debe proporcionar
el signo comercial. El suboperador de direcciones.
Entonces tenemos que proporcionar eso. Estamos leyendo un número, así que tenemos que hacer el ampersand.
Recuerda eso de la conferencia. Luego quiero agregar esto con un punto y coma.
Y en este punto, probablemente deberías probar.
Asegúrese de poder obtener información del usuario. Y probablemente solo tenga un printf para mostrar lo que ingresó.
Pero como sé que esto es correcto, seguiré adelante.
Necesitaré hacer un cálculo en la línea 15.
Principalmente, quiero almacenar los minutos en años.
Entonces, lo que voy a hacer es crear otra variable que
me olvidé y que almacenará los minutos del año.
Porque esto lo va a hacer más fácil. Así que aquí solo voy a decir minutos y año.
Notarás que la convención que estoy usando aquí para nombrar variables es camelCase.
Es donde tiene minúsculas para el primer
barrio y luego cada palabra después de eso, escribe en mayúsculas el primer carácter.
No expliqué eso antes, así que pensé en mencionarlo.
Entonces, el primer cálculo es el que quiero establecer mis minutos y
año porque así es
como voy a calcular mis años. Así que los minutos y los años van a ser
realmente iguales a, y me gusta usar paréntesis solo para organizar, para que todo esté claro. Lo hace más legible.
Serán 60, porque 60 es la cantidad
de minutos en una hora. Y voy a multiplicar por eso por el número de horas en un día, que es 24.
Voy a multiplicar eso por la cantidad de días en
un año, que es 365.
Entonces, este cálculo me va a dar cuántos minutos hay en un solo año.
Y ahora puedo usar esto para calcular mis años.
Entonces, en la siguiente línea, puedo decir años iguales, por lo que estamos usando operadores
de asignación aquí, los iguales.
Y luego lo que estamos haciendo en esos paréntesis en la línea 16 es que
estamos usando el asterisco que es una multiplicación. Muy bien.
Años simplemente van a ser iguales a, y nuevamente quiero usar paréntesis.
Los minutos ingresados lo hizo el usuario dividido por
los minutos del año.
Entonces, si ingresó 5000 minutos y hay 20000 minutos en un año, 5000
dividido por 20000 le dará cuántos años hay, lo
que sería 0 punto algo.
Para calcular
los días, aquí solo
voy a decir los minutos ingresados
divididos entre 60 y 60. 0
porque hay 60 minutos
en una hora.
Y luego, una vez que tengo las horas, puedo dividirlas por el número de
días, que es 24. 0.
Y podría haber puesto esto en otro cálculo si quisiera.
Pero de nuevo, quiero asegurarme de que hacemos esto en el orden correcto.
Así que primero voy a dividir los minutos entre 60.
En realidad, no tiene que preocuparse por
esto porque estamos haciendo división aquí, por lo que la asociatividad será de izquierda
a derecha y en realidad no necesitaría estos paréntesis. Pero siempre me gusta agregar paréntesis porque hace que las cosas sean más legibles.
Así que agreguemos el último.
Eso es algo redundante. Ni siquiera necesito uno aquí. Así que
dejémoslo fuera, solo los primeros. Y esto debería mostrar nuestros días.
Ahora que hice mis cálculos y utilicé algunos de los operadores.
Quiero hacer un printf para imprimir mis datos.
Aquí voy a decir que imprima primero los minutos,
el porcentaje
d minutos es aproximadamente el porcentaje f años y el porcentaje f días.
Y luego voy a agregar un salto de línea.
Entonces, lo que está haciendo es que estamos usando printf para mostrar el resultado de
las variables y los símbolos de porcentaje recuerdan nuestros especificadores de marcado.
Lo primero que quiero imprimir son los minutos, así que tengo que poner minutos después de mi primera coma cuando se ingresa.
El segundo es el año, así que quiero decir años porque es un porcentaje de años.
Y el tercero son días algo
así.
Ahora debería compilar y ejecutar, y deberían hacer mi conversión por mí.
Así que sigamos adelante y construyamos. No tengo mañanas ni errores.
Corramos y ni siquiera estoy seguro de cuántos minutos hay
en un año. Así que no estoy seguro
de cómo probar esto, pero para empezar, pongamos 5000 minutos.
Cuando ejecuto el programa, me pide que ingrese la cantidad de minutos, voy a poner 5000.
Y si no ingresó un número, es posible que tenga un bloqueo
porque lo está convirtiendo a un número en su función scanf.
Presiono regresar, esto dice que 5000 minutos son
aproximadamente 0. 009513
años y 3. 47222 días,
lo que parece tener sentido porque 60 minutos en una hora multiplicados
por 24, serán aproximadamente 2400 más o menos para
un día, por lo que 2400
y 2400, no 60 veces. Lo siento, 60
por 24 va a ser aproximadamente 1200.
Entonces 1200 entra en 5000 cómo, muchas veces por día,
probablemente alrededor de 3. 4 por ahí.
Así que, aproximadamente, esto parece correcto.
Para que pueda ejecutar esto varias veces, ingrese algunos números grandes de lo que notará.
Aquí solo almacenamos dobles. Entonces, si lo ejecuta e intenta ingresar un
número demasiado grande, digamos como 600 mil millones o algo así,
es posible que se
equivoque, por lo que puede tener incorrecciones aquí. Así que esto le muestra los problemas de tipos de datos.
Así que estoy almacenando en un int. Int tiene solo 8 bytes. Ingresé este gran número.
Eso no se puede almacenar en él. Entonces, cuando voy a
imprimirlo, se imprime en un número completamente diferente, 184298154.
Eso es porque lo que estoy ingresando es más grande que un int.
Por lo tanto, es posible que desee considerar si desea que
este programa sea aún más preciso y desea ingresar números más grandes para cambiar algunos de los
tipos de datos, cambiar los ints a dobles o incluso los dobles a largos.
Entonces esto dice 350 años y 127000 días más o menos.
Entonces, una pequeña y agradable aplicación de conversión que, nuevamente, intenta
brindarle cierta comprensión de los
tipos de datos y los operadores.
Podríamos tener muchas aplicaciones de conversión diferentes. Otra buena aplicación que
quieres escribir para practicar más sería la aplicación de Fahrenheit a
Celsius.
Escriba una aplicación que le permita al usuario ingresar Fahrenheit y luego convertir eso a Celsius.
Quiero decir, se te ocurren muchos, muchos escenarios diferentes. Pero esto te obligará a utilizar los operadores.
Y también podríamos hacer un casting
aquí si quisiéramos. Si no nos gustó, los días
fueron demasiado precisos y tal vez queramos cambiar el doble por un int.
Y queremos hacerlo un poco menos preciso. De hecho, podríamos decir que se envía
esto a un it simplemente proporcionando los paréntesis y
luego haciendo int.
Y esto en realidad tomaría ese número durante días.
Y si es decimal 3. 549 o algo así, lo convertiría en 3.
Quizás eso sea mejor para el usuario, depende de usted.
Pero dejémoslo por ahora doble.
Pero así es como aprendes. Juega con el programa, prueba diferentes escenarios,
prueba diferentes entradas, se asegura de que todo esté correcto. Gracias.