17
7/23/2019 esp_ca http://slidepdf.com/reader/full/espca 1/17 5/12/2015 Calendario Lenguaje de programación con C - CodeProject http://www.codeproject.com/Articles/783307/Calendar%ADusing%ADC%ADProgramming%ADlanguage?msg=5058370#xx5058370xx Search for articles, questions, tips Q & A foros salón artículos La tasa: D ebabrata_ D como, 08 de junio 2014 CPOL Calendario utilizando el lenguaje de programación C Programa de C para visualizar el calendario de cualquier mes y año determinado mm‐aaaa  ¿Es tu dirección de correo OK?  Usted está suscrito a nuestro boletín de noticias, pero su dirección de correo electrónico es ya sea sin confirmar, o no se ha confirmado en un largo tiempo. Haga clic aquí  para tener un correo electrónico de confirmación enviado para que podamos confirmar su dirección de correo electrónico y empezar a enviarle boletines de nuevo. Alternativamente, usted puede actualizar sus suscripciones. Descarga Calendar.zip ‐ 2.1 KB Introducción Como muchos, yo también empecé la programación de computadoras con lenguaje C, que es uno de los lenguajes de programación más utilizados de todos los tiempos. En este artículo voy a explicar un C programa que acepta cualquier mes del año y muestra el calendario de ese mes. Vamos a añadir más características similares, si es usuario de prensa: Tecla de flecha izquierda ‐ ir al mes anterior. Tecla de flecha derecha ‐ ir al siguiente mes. Hasta tecla de flecha ‐ ir al siguiente año. Flecha hacia abajo clave ‐ ir a la del año anterior. I ‐ Insertar nuevo año mes. P ‐ imprimir el mes en un archivo de texto. Esc ‐ salir del programa. Este sencillo ejemplo sería útil para los principiantes, así como los desarrolladores intermedios para entender algunos de los conceptos básicos, como, declarar arrays, usando funciones, bucles, mediante sentencia goto, archivo de salida de impresión, manejo de pulsación de tecla, etc. Por favor, siéntase libre de compartir sus comentarios / sugerencias y puntúa sobre este artículo. 4.78 21 votos 11,943,505 miembros 45,251 en línea 355  sesión cabo Miembro 12184715

esp_ca

Embed Size (px)

Citation preview

Page 1: esp_ca

7/23/2019 esp_ca

http://slidepdf.com/reader/full/espca 1/17

5/12/2015 Calendario Lenguaje de programación con C - CodeProject

http://www.codeproject.com/Articles/783307/Calendar%ADusing%ADC%ADProgramming%ADlanguage?msg=5058370#xx5058370xx

Search for articles, questions, tipsQ & A foros salónartículos

La tasa:D ebabrata_ D como, 08 de junio 2014 CPOL

Calendario utilizando el lenguaje de programación C

Programa de C para visualizar el calendario de cualquier mes y año determinado mm‐aaaa 

¿Es tu dirección de correo OK? Usted está suscrito a nuestro boletín de noticias, pero su dirección de correoelectrónico es ya sea sin confirmar, o no se ha confirmado en un largo tiempo. Haga clic aquí  para tener uncorreo electrónico de confirmación enviado para que podamos confirmar su dirección de correo electrónico y

empezar a enviarle boletines de nuevo. Alternativamente, usted puede actualizar sus suscripciones.

Descarga Calendar.zip ‐ 2.1 KB

Introducción

Como muchos, yo también empecé la programación de computadoras con lenguaje C, que es uno de los lenguajes deprogramación más utilizados de todos los tiempos.

En este artículo voy a explicar un C programa que acepta cualquier mes del año y muestra el calendario de ese mes. Vamos aañadir más características similares, si es usuario de prensa:

Tecla de flecha izquierda ‐ ir al mes anterior.Tecla de flecha derecha ‐ ir al siguiente mes.Hasta tecla de flecha ‐ ir al siguiente año.

Flecha hacia abajo clave ‐ ir a la del año anterior.I ‐ Insertar nuevo año mes.P ‐ imprimir el mes en un archivo de texto.Esc ‐ salir del programa.

Este sencillo ejemplo sería útil para los principiantes, así como los desarrolladores intermedios para entender algunos de losconceptos básicos, como, declarar arrays, usando funciones, bucles, mediante sentencia goto, archivo de salida de impresión,manejo de pulsación de tecla, etc.

Por favor, siéntase libre de compartir sus comentarios / sugerencias y puntúa sobre este artículo.

4.78 21 votos 

11,943,505 miembros 45,251 en línea  355   sesión caboMiembro 12184715

https://adclick.g.doubleclick.net/pcs/click?xai=AKAOjsudWeXFXfgg-20up2ioZUSohD6Kr-9qHyH5GhOv01P7JE4owjv5_drfwtIqz4pwfAn2ppcfefdGhLDTjNzyf6oiv2SM-SBJIvgLFEG01ot5rQTHreXspS5FWG4&sig=Cg0ArKJSzBRbzdgXnMzf&urlfix=1&adurl=http://d.adroll.com/r/N34ZPOW5TRGMJKDEFHM2G4/UAZEVLFYKZGQPMOT77ULX3/544a1cc7befb16032246a8690b854c31.tp%3Fadroll_ad_payload%3DAFB1cy13ZXN0LTJjABgxMTcAODYyODE3OTUAEDU4AIhibGFja19ib3hfcHJpY2luZwAQNjAAODM3MjcxNDgAEDkyARgyNjczNjA1MTc5Njk3MjE0NzM1MTQ3ODUzMTA1MjAyODE5MAAQNzAAEC0xABgxMjQACDcAGDEyNQCwNzNIN1o1SFhUTkFQSElDS003VFJUUQAQMjYAsE9ZVFJJQldWT0pDTUpPVFNGWUJSWkEAEDU2ADA0NzU0NDYAGDIwMwA4MDdlZTIzZQAYMjAyARgyNjczNjA1MTc5Njk3MjE0Mjc0MDA4ODMzMzY1MjQ5ODY3NgAYMjA0AJB7ImV2aWRvbl90IjoxNTAwMH0AGDI1MAAYMC41ABgyNTMACHQAIDExMDAACGYAEDc1ALA3VjZEM1VMNEVOQ01aT0FLQ0dOVDJMAAg0AAAAGDEzNwBQMTQ0OTM2NDI3MgAYMTU1AAgwABA3MQAQMTUAEDc4AAgwABgxNjIAEDI3ABgxNjQACGYAGDE2MwA4MTEyMTc1MAAYNjAwADg2MjgxNzk1ABg2MDYAYHNxcHVnX3Y0XzhfNAAYNjAxAAh0ABg2MDIAODQwMDAwMDAAGDYwNQAAABgxMzIACGYAGDEwNAAIMQAQOTQAcEFCT1ZFX1RIRV9GT0xEABA5OABQMTM4OTUyMTYwMQAYMTI5%26adroll_subnetwork%3Dr%26cpm%3DVmOLMAAANu4KMF1JAAP40AaCTj2gN8OaSCWNKg%26adroll_network%3Dg%26clickurl%3Dhttp://adclick.g.doubleclick.net/aclk%253Fsa%253DL%2526ai%253DCRy_vMItjVu5tybrBAdDxjyC-8YSRBbacq8NNwI23ARABIABg3YSAgPgYggEXY2EtcHViLTY3ODUzNzY5OTQ4MDU0NzbIAQmoAwGqBKABT9BLqWNw_4K_knLyfUIlKc31bxabUCXQQUtuWwRTKAfP-qItxSrkxsAVyeBYH1KY6n2_4xakVqFlMbeGkBOh8Mmz4GcG4V4w5v1eiOTUjsGcTQOMj0_6GBviaSZfDwXY0k_hGltr4kJv7fQFYW51eGT2X2t9sK0iYom7KsC5w8hd5nnZj5P-6bJSkHSSGvilf4bvvNfdE9zOjm5SdCHxR4AGn-T03qfAishsoAYh2AcA%2526num%253D1%2526sig%253DAOD64_2-H-8QKh_QfXBMebZSfIPaU1tehw%2526client%253Dca-pub-6785376994805476%2526adurl%253Dhttp://www.ti.com/hpa-int-iso-iso58xx-bs-pf-iso5852s-wwe
https://adclick.g.doubleclick.net/pcs/click?xai=AKAOjsudWeXFXfgg-20up2ioZUSohD6Kr-9qHyH5GhOv01P7JE4owjv5_drfwtIqz4pwfAn2ppcfefdGhLDTjNzyf6oiv2SM-SBJIvgLFEG01ot5rQTHreXspS5FWG4&sig=Cg0ArKJSzBRbzdgXnMzf&urlfix=1&adurl=http://d.adroll.com/r/N34ZPOW5TRGMJKDEFHM2G4/UAZEVLFYKZGQPMOT77ULX3/544a1cc7befb16032246a8690b854c31.tp%3Fadroll_ad_payload%3DAFB1cy13ZXN0LTJjABgxMTcAODYyODE3OTUAEDU4AIhibGFja19ib3hfcHJpY2luZwAQNjAAODM3MjcxNDgAEDkyARgyNjczNjA1MTc5Njk3MjE0NzM1MTQ3ODUzMTA1MjAyODE5MAAQNzAAEC0xABgxMjQACDcAGDEyNQCwNzNIN1o1SFhUTkFQSElDS003VFJUUQAQMjYAsE9ZVFJJQldWT0pDTUpPVFNGWUJSWkEAEDU2ADA0NzU0NDYAGDIwMwA4MDdlZTIzZQAYMjAyARgyNjczNjA1MTc5Njk3MjE0Mjc0MDA4ODMzMzY1MjQ5ODY3NgAYMjA0AJB7ImV2aWRvbl90IjoxNTAwMH0AGDI1MAAYMC41ABgyNTMACHQAIDExMDAACGYAEDc1ALA3VjZEM1VMNEVOQ01aT0FLQ0dOVDJMAAg0AAAAGDEzNwBQMTQ0OTM2NDI3MgAYMTU1AAgwABA3MQAQMTUAEDc4AAgwABgxNjIAEDI3ABgxNjQACGYAGDE2MwA4MTEyMTc1MAAYNjAwADg2MjgxNzk1ABg2MDYAYHNxcHVnX3Y0XzhfNAAYNjAxAAh0ABg2MDIAODQwMDAwMDAAGDYwNQAAABgxMzIACGYAGDEwNAAIMQAQOTQAcEFCT1ZFX1RIRV9GT0xEABA5OABQMTM4OTUyMTYwMQAYMTI5%26adroll_subnetwork%3Dr%26cpm%3DVmOLMAAANu4KMF1JAAP40AaCTj2gN8OaSCWNKg%26adroll_network%3Dg%26clickurl%3Dhttp://adclick.g.doubleclick.net/aclk%253Fsa%253DL%2526ai%253DCRy_vMItjVu5tybrBAdDxjyC-8YSRBbacq8NNwI23ARABIABg3YSAgPgYggEXY2EtcHViLTY3ODUzNzY5OTQ4MDU0NzbIAQmoAwGqBKABT9BLqWNw_4K_knLyfUIlKc31bxabUCXQQUtuWwRTKAfP-qItxSrkxsAVyeBYH1KY6n2_4xakVqFlMbeGkBOh8Mmz4GcG4V4w5v1eiOTUjsGcTQOMj0_6GBviaSZfDwXY0k_hGltr4kJv7fQFYW51eGT2X2t9sK0iYom7KsC5w8hd5nnZj5P-6bJSkHSSGvilf4bvvNfdE9zOjm5SdCHxR4AGn-T03qfAishsoAYh2AcA%2526num%253D1%2526sig%253DAOD64_2-H-8QKh_QfXBMebZSfIPaU1tehw%2526client%253Dca-pub-6785376994805476%2526adurl%253Dhttp://www.ti.com/hpa-int-iso-iso58xx-bs-pf-iso5852s-wwe
https://adclick.g.doubleclick.net/pcs/click?xai=AKAOjsudWeXFXfgg-20up2ioZUSohD6Kr-9qHyH5GhOv01P7JE4owjv5_drfwtIqz4pwfAn2ppcfefdGhLDTjNzyf6oiv2SM-SBJIvgLFEG01ot5rQTHreXspS5FWG4&sig=Cg0ArKJSzBRbzdgXnMzf&urlfix=1&adurl=http://d.adroll.com/r/N34ZPOW5TRGMJKDEFHM2G4/UAZEVLFYKZGQPMOT77ULX3/544a1cc7befb16032246a8690b854c31.tp%3Fadroll_ad_payload%3DAFB1cy13ZXN0LTJjABgxMTcAODYyODE3OTUAEDU4AIhibGFja19ib3hfcHJpY2luZwAQNjAAODM3MjcxNDgAEDkyARgyNjczNjA1MTc5Njk3MjE0NzM1MTQ3ODUzMTA1MjAyODE5MAAQNzAAEC0xABgxMjQACDcAGDEyNQCwNzNIN1o1SFhUTkFQSElDS003VFJUUQAQMjYAsE9ZVFJJQldWT0pDTUpPVFNGWUJSWkEAEDU2ADA0NzU0NDYAGDIwMwA4MDdlZTIzZQAYMjAyARgyNjczNjA1MTc5Njk3MjE0Mjc0MDA4ODMzMzY1MjQ5ODY3NgAYMjA0AJB7ImV2aWRvbl90IjoxNTAwMH0AGDI1MAAYMC41ABgyNTMACHQAIDExMDAACGYAEDc1ALA3VjZEM1VMNEVOQ01aT0FLQ0dOVDJMAAg0AAAAGDEzNwBQMTQ0OTM2NDI3MgAYMTU1AAgwABA3MQAQMTUAEDc4AAgwABgxNjIAEDI3ABgxNjQACGYAGDE2MwA4MTEyMTc1MAAYNjAwADg2MjgxNzk1ABg2MDYAYHNxcHVnX3Y0XzhfNAAYNjAxAAh0ABg2MDIAODQwMDAwMDAAGDYwNQAAABgxMzIACGYAGDEwNAAIMQAQOTQAcEFCT1ZFX1RIRV9GT0xEABA5OABQMTM4OTUyMTYwMQAYMTI5%26adroll_subnetwork%3Dr%26cpm%3DVmOLMAAANu4KMF1JAAP40AaCTj2gN8OaSCWNKg%26adroll_network%3Dg%26clickurl%3Dhttp://adclick.g.doubleclick.net/aclk%253Fsa%253DL%2526ai%253DCRy_vMItjVu5tybrBAdDxjyC-8YSRBbacq8NNwI23ARABIABg3YSAgPgYggEXY2EtcHViLTY3ODUzNzY5OTQ4MDU0NzbIAQmoAwGqBKABT9BLqWNw_4K_knLyfUIlKc31bxabUCXQQUtuWwRTKAfP-qItxSrkxsAVyeBYH1KY6n2_4xakVqFlMbeGkBOh8Mmz4GcG4V4w5v1eiOTUjsGcTQOMj0_6GBviaSZfDwXY0k_hGltr4kJv7fQFYW51eGT2X2t9sK0iYom7KsC5w8hd5nnZj5P-6bJSkHSSGvilf4bvvNfdE9zOjm5SdCHxR4AGn-T03qfAishsoAYh2AcA%2526num%253D1%2526sig%253DAOD64_2-H-8QKh_QfXBMebZSfIPaU1tehw%2526client%253Dca-pub-6785376994805476%2526adurl%253Dhttp://www.ti.com/hpa-int-iso-iso58xx-bs-pf-iso5852s-wwe
https://adclick.g.doubleclick.net/pcs/click?xai=AKAOjsudWeXFXfgg-20up2ioZUSohD6Kr-9qHyH5GhOv01P7JE4owjv5_drfwtIqz4pwfAn2ppcfefdGhLDTjNzyf6oiv2SM-SBJIvgLFEG01ot5rQTHreXspS5FWG4&sig=Cg0ArKJSzBRbzdgXnMzf&urlfix=1&adurl=http://d.adroll.com/r/N34ZPOW5TRGMJKDEFHM2G4/UAZEVLFYKZGQPMOT77ULX3/544a1cc7befb16032246a8690b854c31.tp%3Fadroll_ad_payload%3DAFB1cy13ZXN0LTJjABgxMTcAODYyODE3OTUAEDU4AIhibGFja19ib3hfcHJpY2luZwAQNjAAODM3MjcxNDgAEDkyARgyNjczNjA1MTc5Njk3MjE0NzM1MTQ3ODUzMTA1MjAyODE5MAAQNzAAEC0xABgxMjQACDcAGDEyNQCwNzNIN1o1SFhUTkFQSElDS003VFJUUQAQMjYAsE9ZVFJJQldWT0pDTUpPVFNGWUJSWkEAEDU2ADA0NzU0NDYAGDIwMwA4MDdlZTIzZQAYMjAyARgyNjczNjA1MTc5Njk3MjE0Mjc0MDA4ODMzMzY1MjQ5ODY3NgAYMjA0AJB7ImV2aWRvbl90IjoxNTAwMH0AGDI1MAAYMC41ABgyNTMACHQAIDExMDAACGYAEDc1ALA3VjZEM1VMNEVOQ01aT0FLQ0dOVDJMAAg0AAAAGDEzNwBQMTQ0OTM2NDI3MgAYMTU1AAgwABA3MQAQMTUAEDc4AAgwABgxNjIAEDI3ABgxNjQACGYAGDE2MwA4MTEyMTc1MAAYNjAwADg2MjgxNzk1ABg2MDYAYHNxcHVnX3Y0XzhfNAAYNjAxAAh0ABg2MDIAODQwMDAwMDAAGDYwNQAAABgxMzIACGYAGDEwNAAIMQAQOTQAcEFCT1ZFX1RIRV9GT0xEABA5OABQMTM4OTUyMTYwMQAYMTI5%26adroll_subnetwork%3Dr%26cpm%3DVmOLMAAANu4KMF1JAAP40AaCTj2gN8OaSCWNKg%26adroll_network%3Dg%26clickurl%3Dhttp://adclick.g.doubleclick.net/aclk%253Fsa%253DL%2526ai%253DCRy_vMItjVu5tybrBAdDxjyC-8YSRBbacq8NNwI23ARABIABg3YSAgPgYggEXY2EtcHViLTY3ODUzNzY5OTQ4MDU0NzbIAQmoAwGqBKABT9BLqWNw_4K_knLyfUIlKc31bxabUCXQQUtuWwRTKAfP-qItxSrkxsAVyeBYH1KY6n2_4xakVqFlMbeGkBOh8Mmz4GcG4V4w5v1eiOTUjsGcTQOMj0_6GBviaSZfDwXY0k_hGltr4kJv7fQFYW51eGT2X2t9sK0iYom7KsC5w8hd5nnZj5P-6bJSkHSSGvilf4bvvNfdE9zOjm5SdCHxR4AGn-T03qfAishsoAYh2AcA%2526num%253D1%2526sig%253DAOD64_2-H-8QKh_QfXBMebZSfIPaU1tehw%2526client%253Dca-pub-6785376994805476%2526adurl%253Dhttp://www.ti.com/hpa-int-iso-iso58xx-bs-pf-iso5852s-wwe
https://adclick.g.doubleclick.net/pcs/click?xai=AKAOjsudWeXFXfgg-20up2ioZUSohD6Kr-9qHyH5GhOv01P7JE4owjv5_drfwtIqz4pwfAn2ppcfefdGhLDTjNzyf6oiv2SM-SBJIvgLFEG01ot5rQTHreXspS5FWG4&sig=Cg0ArKJSzBRbzdgXnMzf&urlfix=1&adurl=http://d.adroll.com/r/N34ZPOW5TRGMJKDEFHM2G4/UAZEVLFYKZGQPMOT77ULX3/544a1cc7befb16032246a8690b854c31.tp%3Fadroll_ad_payload%3DAFB1cy13ZXN0LTJjABgxMTcAODYyODE3OTUAEDU4AIhibGFja19ib3hfcHJpY2luZwAQNjAAODM3MjcxNDgAEDkyARgyNjczNjA1MTc5Njk3MjE0NzM1MTQ3ODUzMTA1MjAyODE5MAAQNzAAEC0xABgxMjQACDcAGDEyNQCwNzNIN1o1SFhUTkFQSElDS003VFJUUQAQMjYAsE9ZVFJJQldWT0pDTUpPVFNGWUJSWkEAEDU2ADA0NzU0NDYAGDIwMwA4MDdlZTIzZQAYMjAyARgyNjczNjA1MTc5Njk3MjE0Mjc0MDA4ODMzMzY1MjQ5ODY3NgAYMjA0AJB7ImV2aWRvbl90IjoxNTAwMH0AGDI1MAAYMC41ABgyNTMACHQAIDExMDAACGYAEDc1ALA3VjZEM1VMNEVOQ01aT0FLQ0dOVDJMAAg0AAAAGDEzNwBQMTQ0OTM2NDI3MgAYMTU1AAgwABA3MQAQMTUAEDc4AAgwABgxNjIAEDI3ABgxNjQACGYAGDE2MwA4MTEyMTc1MAAYNjAwADg2MjgxNzk1ABg2MDYAYHNxcHVnX3Y0XzhfNAAYNjAxAAh0ABg2MDIAODQwMDAwMDAAGDYwNQAAABgxMzIACGYAGDEwNAAIMQAQOTQAcEFCT1ZFX1RIRV9GT0xEABA5OABQMTM4OTUyMTYwMQAYMTI5%26adroll_subnetwork%3Dr%26cpm%3DVmOLMAAANu4KMF1JAAP40AaCTj2gN8OaSCWNKg%26adroll_network%3Dg%26clickurl%3Dhttp://adclick.g.doubleclick.net/aclk%253Fsa%253DL%2526ai%253DCRy_vMItjVu5tybrBAdDxjyC-8YSRBbacq8NNwI23ARABIABg3YSAgPgYggEXY2EtcHViLTY3ODUzNzY5OTQ4MDU0NzbIAQmoAwGqBKABT9BLqWNw_4K_knLyfUIlKc31bxabUCXQQUtuWwRTKAfP-qItxSrkxsAVyeBYH1KY6n2_4xakVqFlMbeGkBOh8Mmz4GcG4V4w5v1eiOTUjsGcTQOMj0_6GBviaSZfDwXY0k_hGltr4kJv7fQFYW51eGT2X2t9sK0iYom7KsC5w8hd5nnZj5P-6bJSkHSSGvilf4bvvNfdE9zOjm5SdCHxR4AGn-T03qfAishsoAYh2AcA%2526num%253D1%2526sig%253DAOD64_2-H-8QKh_QfXBMebZSfIPaU1tehw%2526client%253Dca-pub-6785376994805476%2526adurl%253Dhttp://www.ti.com/hpa-int-iso-iso58xx-bs-pf-iso5852s-wwe
Page 2: esp_ca

7/23/2019 esp_ca

http://slidepdf.com/reader/full/espca 2/17

5/12/2015 Calendario Lenguaje de programación con C - CodeProject

http://www.codeproject.com/Articles/783307/Calendar%ADusing%ADC%ADProgramming%ADlanguage?msg=5058370#xx5058370xx 2

Fondo

Vamos a empezar el programa, mostrando una pantalla de entrada para el usuario en el que aceptará un mes y un añoen el formato mm‐aaaa como se muestra a continuación:

Una vez que el usuario entra en un mes‐año válido y éxitos Introduzca clave, debe mostrar el calendario del mesingresó como se muestra a continuación:

Page 3: esp_ca

7/23/2019 esp_ca

http://slidepdf.com/reader/full/espca 3/17

5/12/2015 Calendario Lenguaje de programación con C - CodeProject

http://www.codeproject.com/Articles/783307/Calendar%ADusing%ADC%ADProgramming%ADlanguage?msg=5058370#xx5058370xx 3

Si el usuario pulsa Flecha izquierda clave, se mostrará el mes anterior es decir, 05 2014  Calendario de la siguientemanera:

Page 4: esp_ca

7/23/2019 esp_ca

http://slidepdf.com/reader/full/espca 4/17

5/12/2015 Calendario Lenguaje de programación con C - CodeProject

http://www.codeproject.com/Articles/783307/Calendar%ADusing%ADC%ADProgramming%ADlanguage?msg=5058370#xx5058370xx 4

Del mismo modo, si el usuario pulsa el botón derecho del flecha clave, se mostrará el siguiente mes es decir, julio2014  en la pantalla:

Page 5: esp_ca

7/23/2019 esp_ca

http://slidepdf.com/reader/full/espca 5/17

5/12/2015 Calendario Lenguaje de programación con C - CodeProject

http://www.codeproject.com/Articles/783307/Calendar%ADusing%ADC%ADProgramming%ADlanguage?msg=5058370#xx5058370xx 5

Una vez que el usuario realiza de flecha arriba clave, se mostrará meses del próximo año es decir, junio 2015  en la pantalla:

Page 6: esp_ca

7/23/2019 esp_ca

http://slidepdf.com/reader/full/espca 6/17

5/12/2015 Calendario Lenguaje de programación con C - CodeProject

http://www.codeproject.com/Articles/783307/Calendar%ADusing%ADC%ADProgramming%ADlanguage?msg=5058370#xx5058370xx 6

Si el usuario realiza la flecha hacia abajo, se mostrará el mes del año anterior es decir, junio de 2013  en la pantalla:

Page 7: esp_ca

7/23/2019 esp_ca

http://slidepdf.com/reader/full/espca 7/17

5/12/2015 Calendario Lenguaje de programación con C - CodeProject

http://www.codeproject.com/Articles/783307/Calendar%ADusing%ADC%ADProgramming%ADlanguage?msg=5058370#xx5058370xx 7

Si el usuario pulsa Yo clave, que traerá la pantalla de entrada del usuario y pedir otra entrada mes‐año.

Si P es presionado, exportará los datos mensuales en un archivo de texto con el nombre de archivo como "JUN2014.txtde la siguiente manera:

Una vez que el usuario pulsa Esc clave, el programa se cerrará.

Page 8: esp_ca

7/23/2019 esp_ca

http://slidepdf.com/reader/full/espca 8/17

5/12/2015 Calendario Lenguaje de programación con C - CodeProject

http://www.codeproject.com/Articles/783307/Calendar%ADusing%ADC%ADProgramming%ADlanguage?msg=5058370#xx5058370xx 8

Nota: He utilizado Turbo compilador de C ++ / C para crear este programa. Por favor visite el siguiente enlace para descargael mismo:

Turbo C ++ / C compilador para Windows XP / 7/8 / 8.1

Utilizando el código

Vamos a empezar creando la pantalla de introducción por primera vez en main función:

Ocultar Código Copia

TextColor (BLANCO);clrscr ();printf ("programa \ tEsto \ n muestra el calendario de \ n");printf ("\ n \ ta mes determinado Introduzca meses, años ... formato es mm‐aaaa. \ n.");

Código Explicación:

TextColor función se utiliza para cambiar el color de dibujo de texto en los programas c.

Declaración: ‐ vacío TextColor int color ;

donde el color es una variable entera. Por ejemplo 0 significa el color NEGRO, 1 significa AZUL, 2 significa VERDE y pronto.También puede utilizar escribir color apropiado en lugar de número entero. Por ejemplo, usted puede escribir TextColor AMARILLO ; para cambiar el color del texto a amarillo. Pero usar colores en sólo letras mayúsculas.

clrscr función se utiliza para borrar la pantalla.

Las dos líneas siguientes se utilizan simplemente para mostrar el mensaje en la salida de la consola.

Ocultar Código Copia

 / * Tomando entrada * /mientras  (TRUE){

fflush (stdin);

printf ("\ n \ n \ tIntro mm‐aaaa:");scanf ("% d‐% d», y mes, y año);

si  (año <0){

printf ("valor del año nInvalid \ ...");seguir;

}si  (año <100)

Año + = 1.900;si  (año <1582  || Año> 4902)

{printf ("valor del año nInvalid \ ...");

seguir;}si  (mes <1  || mes> 12){

  printf ("Valor meses nInvalid \ ...");seguir;

}romper;

}  / * Fin del bucle while * /  

Código Explicación:

Aquí empezamos con un bucle while TRUE  que es un bucle infinito, por lo tanto usted tiene que romper el bucle de formaexplícita. De lo contrario, continuará bucle infinitamente. La razón detrás de este bucle es asegurarse de que aceptamos

Page 9: esp_ca

7/23/2019 esp_ca

http://slidepdf.com/reader/full/espca 9/17

5/12/2015 Calendario Lenguaje de programación con C - CodeProject

http://www.codeproject.com/Articles/783307/Calendar%ADusing%ADC%ADProgramming%ADlanguage?msg=5058370#xx5058370xx 9

entrada válida por parte del usuario. Si la entrada de usuario no es válida, mostrará un mensaje de error y solicitará la entradade nuevo.

Ocultar Código Copia

fflush (stdin);printf ("\ n \ n \ tIntro mm‐aaaa:");scanf ("% d‐% d", y mes, y año);

fflush stdin ; ‐ Esta función se llama para limpiar el buffer de entrada.

Las otras líneas se utilizan para aceptar la entrada del usuario en dos variables, mes y año.

Ocultar Código Copia

si  (año <0){

printf ("valor del año nInvalid \ ...");seguir;

}si  (año <100)

Año + = 1.900;si  (año <1582  || Año> 4902)

{printf ("valor del año nInvalid \ ...");

seguir;}si  (mes <1  || mes> 12){

printf ("Valor meses nInvalid \ ...");seguir;

}romper;

Hemos escrito algo de código para la validación de datos, como el año debe ser mayor que 0. En caso de usuario entra años enformato yy como, 98 , que se sumará 1900 para que sea lo de 1998. El programa aceptará un rango de años de 1952 a 4902.Cualquier años ingresó más allá de este rango no será aceptado como un año válido.

Mes tiene que estar dentro del rango de 1 a 12. no será aceptado Cualquier entrada más allá de este rango como un mesválida.

Si ninguna de las condiciones se reunió, descanso; se ejecutará declaración y el flujo del programa procederá.

Nota: de Afer cada mensaje error de validación continuar; declaración está escrito para asegurarse de que el resto de loscódigos dentro del bucle no se ejecutan.

Antes de proceder con la parte restante del método principal, vamos a declarar una constante y escribir las funcionesrequeridas.

Ocultar Código Copia

#define LEAP_YEAR ((Año% 4 == 0 && Año% 100 = 0) || Año% 400 == 0!)#define TRUE 1#define CH '‐'#define MAX_NO 91

#define directiva se utiliza para definir una constante o la creación de una macro en lenguaje de programación C. La primeraafirmación es la definición de una macro que acepta Año como parámetro de entrada y devuelve VERDADERO / FALSO. Si elaño es un año bisiesto, devuelve TRUE de lo contrario FALSO.

Las otras tres líneas se utilizan para definir las constantes.

Ocultar Código Copia

int  MonthDay [] = { 31  , 28  , 31  , 30  , 31  , 30  , 31  , 31  , 30  , 31  , 30  , 31  };

Page 10: esp_ca

7/23/2019 esp_ca

http://slidepdf.com/reader/full/espca 10/17

5/12/2015 Calendario Lenguaje de programación con C - CodeProject

http://www.codeproject.com/Articles/783307/Calendar%ADusing%ADC%ADProgramming%ADlanguage?msg=5058370#xx5058370xx 1

 char  *MonthName[]={ " January"  , " February"  , " March"  , " April"  , " May"  , " June"  , " July"  ," August"  , " September"  , " October"  , " November"  , " Decembeer"  };

char  *MonthName1[]={ " JAN"  , " FEB"  , " MAR"  , " APR"  , " MAY"  , " JUN"  , " JUL"  , " AUG"  , " SEP" ,

" OCT"  , " NOV"  , " DEC"  };

Aquí wehave declaró tres matrices. MonthDay [] se utiliza para determinar el número de días en un mes. Nos encargamos deaño bisiesto por separado. * MonthName [] y * MonthName1 [] son matriz de cadenas.

Nota: matriz de cadenas puede ser declarada de dos maneras:

matriz de caracteres [FILA] [COL]; ‐ Donde se sabe que el número de filas, fila y número de columnas, COL.char * array [FILA]; ‐ De esta manera, usted tiene que proporcionar el número de sólo filas. Si inicializa la matriz con losvalores en el momento de la declaración, número de fila se convierte en opcional.

En nuestro caso, no hemos proporcionado número de filas como hemos inicializado la matriz con los valores en el momento dela única declaración.

Pasemos añadir las funciones necesarias:

Ocultar Código Copia

 / * ================ Función para calcular ZELLER DEL ALGORITMO ============= * /int  getZeller (int  mes, int  año){

int  Día =1, ZMonth, ZYear, Zeller; si  (mes <3)

ZMonth = Mes + 10;otra cosa 

ZMonth = mes‐ 2;si  (ZMonth> 10)

ZYear = Año‐ 1;lo demás 

ZYear = Año;Zeller = ((int) ((13  * ZMonth‐ 1) / 5) + Día + ZYear% 100 + 

(Int) ((ZYear 100%) / 4) ‐ 2  * (int)  (ZYear / 100) +(Int) (ZYear / 400) 77) 7%;

volver  Zeller;}

Algoritmo de Zeller se puede utilizar para determinar el día de la semana para cualquier fecha en el pasado, presente o futuropara cualquier fecha entre 1582 y 4902. Estamos utilizando esta función para obtener el día de la semana de la primera jornadade un mes determinado.

Ocultar Código Copia

 / * ==================== Función para obtener CÓDIGO CLAVE ======================= == * /  getkey (){

sindicales  REGS i, o,mientras que  (! kbhit ())

;IHAH = 0;

  int86 (22,  + i, & o);retorno  (ohah);

}

kbhit ‐ una función devuelve valor entero cada vez que se pulsa la tecla por el usuario. Vamos a utilizar esta función paracapturar la entrada del usuario, como, tecla de flecha izquierda, flecha teclas derecha, arriba‐flecha clave, flecha abajo clave, I, Petc.

Ocultar Código Copia

void  printchar (carbón  c)

Page 11: esp_ca

7/23/2019 esp_ca

http://slidepdf.com/reader/full/espca 11/17

5/12/2015 Calendario Lenguaje de programación con C - CodeProject

http://www.codeproject.com/Articles/783307/Calendar%ADusing%ADC%ADProgramming%ADlanguage?msg=5058370#xx5058370xx 1

{int  i;printf ("\ n \ t");

para  (i = 1;  i <= 51; i ++) printf ("% c", c); 

printf ("\ n");}

printchar ; ‐ Acepta un carácter e imprime los mismos 51 veces en una sola línea. Esta función se utiliza para hacer un pocode formatear la salida.

Ocultar Shrink Código Copia

anular  PrintFile (int  M, int  Y, int  Z){

int  i, j;Char  nombre [12];Char  stryear [5];

FILE * flujo;

strcpy (nombre de archivo, MonthName1 [M‐ 1]);itoa (Y, stryear, 10);strcat (nombre de archivo, stryear);strcat (nombre de archivo, ".txt");

si  ((= corriente fopen (nombre de archivo, "w")) == NULL){

printf ("\ nError‐no puede crear el archivo.");getch ();exit (1);

}

fprintf (corriente, "\  n \ t \ t \ t% s% d \ n \ n \ t", MonthName [M‐ 1], Y); 

para  (i = 1; i <= MAX_NO; i ++) fprintf (corriente, "‐");

fprintf (corriente, "\  n \ Tsun \ TMON \ tTUE \ TWED \ tTHU \ TFRI \ tsat \ n \ t");para  (i = 1; i <= MAX_NO; i ++) 

fprintf (corriente, "‐");

 / * Ajuste de la posición de salida * /  fprintf (corriente, "\  n");

para  (i = 1; i <= Z; i ++) fprintf (corriente, "\  t ‐");

j = Z;

 / * Fechas de impresión * /para  (i = 1;  i <= MonthDay [M‐ 1]; i ++) {

si  (j ++% 7  == 0)fprintf (corriente, "\  n");fprintf (corriente, "\  t% 2d", i);

}

fprintf (corriente, "\  n \ t");para  (i = 1; i <= MAX_NO; i ++) 

fprintf (corriente, "‐");

fprintf (corriente, "\  n \ n \ t \ tCreated por: Debabrata Das [[email protected]]");fclose (corriente);

}

Page 12: esp_ca

7/23/2019 esp_ca

http://slidepdf.com/reader/full/espca 12/17

5/12/2015 Calendario Lenguaje de programación con C - CodeProject

http://www.codeproject.com/Articles/783307/Calendar%ADusing%ADC%ADProgramming%ADlanguage?msg=5058370#xx5058370xx 12

Código Explicación:

PrintFile ; ‐ función se utiliza para imprimir la salida en un archivo de texto y guardarlo en el disco.

Ocultar Código Copia

int  i, j;Char  nombre [12];Char  stryear [5];

FILE * flujo;

Sección de declaración de variables, donde declaramos dos variables enteras ‐ i, j, dos array de caracteres ‐ Nombre de archivo,stryear y un apuntador de archivo que se utiliza para comunicarse con el archivo en lenguaje C.

Ocultar Código Copia

strcpy (nombre de archivo, MonthName1 [M‐ 1]);itoa (Y, stryear, 10);strcat (nombre de archivo, stryear);strcat (nombre de archivo, ".txt");

strcpy des, src ; ‐ esta función se utiliza para copiar la cadena src a la cadena des. Aquí nombre del mes se copiará enfilename variable. El nombre mes será utilizada para crear el nombre de archivo de texto.

itoa ; ‐ se utiliza para convertir un entero a una cadena. Estamos convirtiendo año dado cuerda para que pueda serconcatenado con el nombre del mes y forman el nombre del archivo de texto de salida.

strcat cadena1, cadena2 ; ‐ esta función se utiliza para concatenar cad2 con cad1. Inicialmente hemos copiado el nombre delmes en la variable de nombre de archivo. Ahora concatenamos años con el nombre del mes para que el nombre de archivo dela siguiente manera: "JUN2014"

hemos utilizado strcat de nuevo para anexar la extensión ".txt" del archivo. Por último el nombre del archivo tendrá unnombre de archivo completo de la siguiente manera: "JUN2014.txt"

Ocultar Código Copia

si  ((= corriente fopen (nombre de archivo, "w")) == NULL){

printf ("\ nError‐no puede crear el archivo.");getch ();exit (1);

}

El código anterior intentará abrir el archivo en modo de sólo escritura "w" . Si no puede abrir el archivo debido a cualquierrazón, la función fopen devolverá un valor NULL. Entonces podemos mostrar un mensaje de que "de errores no puede crearel archivo."

getch ; ‐ esta función se utiliza para obtener un personaje / hit llave de la entrada de la consola es decir teclado. Programa deespera hasta que el usuario pulsa una tecla del teclado.

exit 1 ; ‐ saldrá del programa.Ocultar Código Copia

fprintf (corriente, "\  n \ t \ t \ t% s% d \ n \ n \ t", MonthName [M‐1], Y); para  (i = 1; i <= MAX_NO; i ++) 

fprintf (corriente, "‐");fprintf (corriente, "\  n \ Tsun \ TMON \ tTUE \ TWED \ tTHU \ TFRI \ tsat \ n \ t");

para  (i = 1; i <= MAX_NO; i ++) fprintf (corriente, "‐");

 / * Ajuste de la posición de salida * /  fprintf (corriente, "\  n");

para  (i = 1; i <= Z; i ++) 

Page 13: esp_ca

7/23/2019 esp_ca

http://slidepdf.com/reader/full/espca 13/17

5/12/2015 Calendario Lenguaje de programación con C - CodeProject

http://www.codeproject.com/Articles/783307/Calendar%ADusing%ADC%ADProgramming%ADlanguage?msg=5058370#xx5058370xx 1

  fprintf (corriente, "\  t ‐");j = Z;

 / * Fechas de impresión * /para  (i = 1;  i <= MonthDay [M‐ 1]; i ++) {

si  (j ++% 7  == 0)fprintf (corriente, "\  n");

fprintf (corriente, "\  t% 2d", i);}fprintf (corriente, "\  n \ t");

para  (i = 1; i <= MAX_NO; i ++) fprintf (corriente, "‐");

fprintf (corriente, "\  n \ n \ t \ tCreated por: Debabrata Das [[email protected]]");

Las líneas anteriores se utilizan para imprimir las fechas del mes con formateo adecuado.

Ocultar Código Copia

fclose (corriente);

Una vez que todo se escribe en el archivo, fclose función es llamada para cerrar el archivo correctamente.

Ahora que hemos terminado con todas las funciones necesarias. Vamos a completar la lógica en el método principal.

Ocultar Shrink Código Copia

hacer {

 / * Día cálculo de primera fecha del mes dada * /  Zeller = getZeller (mes, año);clrscr ();

  printf ("\ n \ n \ t \ t \ t");

 / * Imprimir el nombre del mes correspondiente * /  textbackground (un mes);cprintf ("% s% d \ n", MonthName [mes‐ 1], año); textbackground (NEGRO);

 / * Ajuste de febrero en caso de Leap Year * /  MonthDay [1]  = LEAP_YEAR? 29: 28;

 / * Dando salida * /  printchar (CH);

TextColor (12); / * rojo claro * /  printf ("\ t"); cprintf ("SOL");TextColor (verde claro);cprintf ("LUN MAR MIE JUE VIE SAB");TextColor (7);

printchar (CH);

 / * Posición de ajuste inicial * /para  (i = 1; i <= Zeller; i ++) 

printf ("\ t ‐");j = Zeller;

 / * Fechas de impresión * /para  (i = 1;  i <= MonthDay [mes‐ 1]; i ++) {

si  (j ++% 7  == 0){

printf ("\ n \ t");TextColor (12);cprintf ("% 2d", i); TextColor (BLANCO);

Page 14: esp_ca

7/23/2019 esp_ca

http://slidepdf.com/reader/full/espca 14/17

5/12/2015 Calendario Lenguaje de programación con C - CodeProject

http://www.codeproject.com/Articles/783307/Calendar%ADusing%ADC%ADProgramming%ADlanguage?msg=5058370#xx5058370xx 14

  }otra cosa 

printf ("% 2d", i); }

printchar (CH);printf ("\ n \ n \ t \ t (*) Uso Izquierda, Derecha, Arriba y Flecha abajo.");printf ("\ n \ n \ t \ t (*) Pulse I para el nuevo mes y año.");printf ("\ n \ n \ t \ t (*) Pulse P para Imprimir a archivo.");printf ("\ n \ n \ t \ t (*) Pulse ESC para Salir \ n \ n \ n \ t \ t.");

  TextColor (11);textbackground (9);cprintf ("Creado por: Debabrata Das [[email protected]]");TextColor (BLANCO);textbackground (NEGRO);

KeyCode = getkey ();  / * obtener Key Code * /si  (KeyCode == 72)  / * Flecha arriba * /  

Año ++;si  (KeyCode == 80)  / * Flecha abajo * /  

Año‐‐;si  (KeyCode == 77)  / * Flecha derecha * /  {

Mes ++;si  (Mes> 12){

Mes = 1;Año ++;

}}si  (KeyCode == 75)  / * Flecha izquierda * /  {

Mes‐‐;si  (Mes <1){

Mes = 12;Año‐‐;

}}si  (== KeyCode 25)  / * Código de P * /  

PrintFile (Mes, Año, Zeller);si  (== KeyCode 23)  / * Código de I * / Goto  superior;

} Mientras que  (KeyCode =! 1);  / * Fin de do‐while * /  

Código Explicación:

textbackground ; ‐ Esta función se utiliza para cambiar el color de fondo actual en modo texto.

Ocultar Código Copia

 / * Ajuste de febrero en caso de Leap Year * /  MonthDay [1]  = LEAP_YEAR? 29: 28;

Como hemos mencionado anteriormente, aquí estamos calculando los días en el mes febrero. Si se trata de un año bisiesto,considere 29 días else 28 días.

Resto de los códigos son muy sencillo, por tanto, no explicar todos y cada uno de líneas de código.

Vamos a compilar y ejecutar el programa. Espero que les guste este artículo. Por favor, deje su comentario / sugerencia y no teolvides de tasa.

Codificación feliz

Page 15: esp_ca

7/23/2019 esp_ca

http://slidepdf.com/reader/full/espca 15/17

5/12/2015 Calendario Lenguaje de programación con C - CodeProject

http://www.codeproject.com/Articles/783307/Calendar%ADusing%ADC%ADProgramming%ADlanguage?msg=5058370#xx5058370xx 1

 

Historia

 

Mantenga una actualización de funcionamiento de los cambios o mejoras que ha hecho aquí.

Licencia

Este artículo, junto con cualquier código y archivos fuente asociado, está licenciado bajo la licencia de código Open Project CPOL 

Compartir

Sobre el Autor

Usted también podría estar interesado en...

Calendario SAPrefs - Netscape similares

Preferencias de diálogo

CORREO ELECTRÓNICO GORJEO

D ebabrata_ D comoArquitectoIndia

Mi nombre es Debabrata Das, también conocido como DD. Empecé a trabajar como desarrollador FoxPro 2.6 luego setrasladó gradualmente hacia VB6, ASP clásico, COM, DCOM. Actualmente en el amor con ASP.NET y C #. Creo en "la mejormanera de aprender es enseñar". Apasionado por la búsqueda de una solución más eficiente de cualquier problema dado.

Page 16: esp_ca

7/23/2019 esp_ca

http://slidepdf.com/reader/full/espca 16/17

5/12/2015 Calendario Lenguaje de programación con C - CodeProject

http://www.codeproject.com/Articles/783307/Calendar%ADusing%ADC%ADProgramming%ADlanguage?msg=5058370#xx5058370xx 1

Añadir un comentario o preguntaBuscar Comentarios Ir 

 

Jalali Calendario Aquí Ventana (WndTabs) Add-

In para DevStudio

Bandeja Calendario WPF: Si Carlsberg hizo MVVM

Marcos: Parte 3 de n

Comentarios y Discusiones

Primera Anterior Siguiente

Hola hermano, Gracias por tu comentario! Lo siento por las molestias. En realidad, el código fue escrito ycompilado en el compilador TurboC bastante tiempo atrás. No estoy seguro de si el código se compile en

cualquier otro compilador. ¿Puede por favor compartir qué tipo de error que está recibiendo? Puede ser que tepuede ayudar a corregir el error.

Saludos,DD

Responder · Correo electrónico · Ver Tema · Enlace permanente · Bookmark

calendario Miembro 11681197 11‐May‐15 08:33

Re: Calendario D ebabrata_ D como 14‐May‐15 12:00

Error Miembro 11566505 30‐Mar‐15 06:56

Re: Error D ebabrata_ D como 30‐Mar‐15 09:26

buen artículo Miembro 11421993 2‐Feb‐15 21:13

Re: buen artículo 

Page 17: esp_ca

7/23/2019 esp_ca

http://slidepdf.com/reader/full/espca 17/17

5/12/2015 Calendario Lenguaje de programación con C - CodeProject

Permalink | Publicidad | Privacidad | Términos de Uso | MobileWeb03 | 2.8.151126.1 | Última actualización 08 de junio 2014

Seleccionar idioma ▼

Artículo Derechos de Autor 2014 por D ebabrata_ D comoTodo lo demás Copyright © CodeProject, 1.999‐2015

Diseño: fija |fluida

Refrescar 1

General, Noticias Sugerencia Pregunta Bug respuesta Broma Alabanza Rantadministración

Utilice Ctrl + Izquierda / Derecha para cambiar los mensajes, Ctrl + Arriba / Abajo para cambiar las discusiones, Ctrl + Shift +Izquierda / Derecha para cambiar de página.

Debabrata_Das 3‐Feb‐15 una y treinta y seis

Bonito artículo Manikandan10 11‐Jun‐14 03:44

Re: Nice artículo Debabrata_Das 11‐Jun‐14 03:46

Mi voto de 5 cghao 11‐Jun‐14 03:33

Re: Mi voto de 5 Debabrata_Das 11‐Jun‐14 3:41

Otro software de calendario andreas proteus 10‐Jun‐14 10:17

Re: Nice programa Calendario Debabrata_Das 10‐Jun‐14 10:28

Re: Nice programa Calendario andreas proteus 10‐Jun‐14 15:09

Re: Nice programa Calendario Debabrata_Das 12‐Jun‐14 doce y media

Mi voto de 5 Sharjith 10‐Jun‐14 07:44

Re: Mi voto de 5 Debabrata_Das 10‐Jun‐14 08:08

Bonito artículo suhel_khan 9‐Jun‐14 dos y treinta y una

Re: Nice artículo Debabrata_Das 9‐Jun‐14 02:46