1
C语言程序设计
1.4.9 3.9 案例研究

3.9 案例研究

案例1 万年历程序。

问题分析:

编写一个程序,读入某一年的年号(如1996)和该年1月1日是星期几的信息(如1996 年1月1日:星期—),然后根据用户的要求,输出这一年某个月的月历,输出的形式为:

img305

输入数据:年号、星期信息、所求月历的月份。

输出结果:指定月的指定格式的月历。

算法分析:根据输入的初值和月份的大小确定星期信息。

程序实现:见程序3-16.cpp。

img306

img307

img308

运行结果:

img309

该程序分为几个部分:第7到10行为输入数据部分,分别输入年号year、该年第一天是星期几的信息week-day以及希望输出的月份month。第11到32行计算该年在month月之前共有多少天,将天数存在变量days中。第33行到第53行确定第month月有多少天,并将天数存在变量month_day中。注意在计算days和month_day的过程中,都要考虑该年是否为闰年。第53~74行计算并输出该月月历。

案例2 图书管理系统主界面。

问题分析:

图书管理系统主界面提供系统功能选择,用户输入相应的选项信息,即可进入相应的功能项进行操作。操作完毕可退回主界面。

输入数据:功能项选择键

输出结果:子功能界面

算法分析:利用循环结构实现功能界面的重复显示和调用。

程序实现:见程序3-17.cpp。

img310

img311

输出结果:

img312

输入系统提示的数字1~4,可以分别进入相关模块。

img313

输入数字0,则退出系统。

img314