全球旧事资料 分类
c语言课程设计报告书
电子万年历及记事本一设计目的
本程序旨在呈现一个由公元元年开始的电子万年历。该系统在初始时能够根据系统当前时间显示当前年月情况,包括日期,星期,月份,年份。并可由用户通过直接输入年份和月份重复查找指定月份的详细情况。此外,用户可根据需要在日历的任意日期内写入文字作为待办事项或纪录并在需要时可以通过调用已保存的文件察看或对其进行修改。本程序的目的在于帮助使用者方便地查询当前日期并能够较好的管理和规划时间,提高工作效率。
二程序组成图(上层图)
万年历
日期显示函数
文挡编译函数
总日期计算函数
月份显示函数
文字输入函数
文本调用输出函数
三函数流程图
1日期显示函数用户输入年月计算输出月份图
重新输入年月
f2文档编译函数用户选择日期输入文本调用文本输入函数保存
调用修改
四详细设计
主要函数说明及调用
日期显示函数(主函数)为一个循环体,以便多次查找日期。在首次执行循环时调用系统时间函数输出当前日期为默认值并调用月份显示函数(月份对应名称)显示指定月份并输出月历。而后将用户指定日期传递给日期计算函数(判别闰年并从公元1年开始叠加)计算从元年至当前年份总天数。并对给定年份是否为润年进行判定,显示月历。文档输入、读取函数于主函数中调用,由用户在主函数给出的日历内选取日期并调用输入函数并可以在其中写入文档并在关闭程序时储存在DATA文件中。此后,当用户需要显示文档时系统能够通过调用硬盘中的文档显示文本,并可由用户修改文档并再次储存于硬盘中。
五调试与测试
调试过程主要是根据程序的设计目的带入数据以检验程序的功能完整性和程序稳定性。经过测试,数据完全符合预期,程序运行基本稳定。但是在文件输入过程中有一定几率自动跳过第一步的操作,以至于无法写入日记。经过反复尝试我通过添加了让用户在输入日记前键入回车的方法解决了这个问题。并在测试后改善了文件显示时无法分行显示的问题,使得日记更加美观。
六程序清单及注释
i
cludegraphicshi
cludestdiohi
cludeco
iohi
cludestdlibhi
cludetimehi
tIsLeapYeari
ti
tmo
th_visi
tmo
thi
tyeari
tcle
darvoidvoidfilewrightFILEfpvoidfilereadFILEfpi
tii
tdayi
tyear
fi
ttempi
tmo
thi
ttemp_ilo
gi
tYear_days0i
tYear_Start1i
tPer_Year_Daysi
tmo
th_day31283130313031313031303129每月日期数组structtmaaFILEfpstructlogdatalo
glogidcharlogdate100
voidmai
textbackgrou
d7r
好听全球资料 返回顶部