c#
一、内容
中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。用C或C++语言实现程序解决问题。
基本要求:1.程序风格良好(使用自定义注释模板),提供友好的输入输出。
提高要求:1.输入数据的正确性验证。
2.使用文件进行数据测试。如将日期 20100101 20111214 等数据保存在in.txt文件中,程序读入in.dat文件进行判定,并将结果输出至out.txt文件。
二、步骤
1.算法分析
要判断他在2010年1月1日后的某天是打渔还是晒网,首先要计算出从2010年1月1日到指定日期总共有多少天;然后判断其中有多少个闰年,闰年2月份29天,总天数要加上闰年多出的天数;三天“打渔”两天“晒网”的周期是5天,用计算出的总天数除以5,若余数为1,2,3,则他在那天“打渔”,否则他在“晒网”。(判断闰年的方法:闰年能被4整除且不能被100整除或者能被400整除)
2.概要设计
3. 测试(设计测试用例或测试代码的设计与实现,测试结果截屏)
测试结果:
4. 调试(对测试出的问题进行调试,界面截屏,调试修正编码)
调试结果:
在判断输入日期是否正确的while语句中,天数判断条件写错了,没有考虑到闰年2月29天,平年2月只有28天。
修正后
总结
在这次的编程问题中,我首先遇到的问题就是如何判断闰年和平年,来计算总天数,通过网上查找资料,了解到怎么算平年和闰年;刚开始在写判断条件时,我是通过if语句来写的,但那样导致输入语句错误之后就会退出程序,无法重新输入,经过长时间的修改尝试,换用while语句实现,让它在输入错误的时候可以重新输入;最后输出结果通过用总天数除以周期5来判断他是打渔还是晒网。通过这次编程,我感觉到自己的编程经验还是不足,基础太差,而且不会使用文件进行数据测试,之后我会努力提升自己的编程经验,并将使用文件进行数据测试的问题解决掉。