课程设计报告

发布 2022-10-04 09:52:28 阅读 7850

c及c++语言程序设计。

设计题目:万年历。

专业信息与计算科学。

班级信计81101

学生金聚花

指导教师吝维军

2010~2011 年春季学期。

一、总体设计。

1.功能。功能结构图如下:

各模块的功能如下:

确定界面,使用户可选择操作项目(录入,判断,查询,输出)。

◎录入功能:使用结构体,要求年份,月份,日期并写入文件。

◎查询功能:使用户输入年份显示年历或者输入年历,月份,显示月历,输入年份,月份,日期查询是星期几。

◎输出模块:可以输出年历,月历,日历,显示所查询日期是星期几。

2. 数据结构。

年历用结构体记录,包括年份、月份、日期(年月日三个字符数组)。

3. 函数原型声明。

void screen系统主界面。

void leapyear查询某年是否是闰年。

void printmonthday();查询某年某月的最大天数

void whatisit查询某年某月是星期几。

void printyearday();打印某年的全年日历

二、详细设计。

1.主模块。

功能:提供菜单选择界面,实现录入,判断,查询,输出等功能。

设计思路:利用printf函数显示菜单信息,通过switch调用各个函数模块。

主要流程图:

leapyear函数。

功能:查询某年是否是闰年

设计思路:先判断是否是闰年。

流程图:三、测试及调试(测试方案、存在的问题及解决方法)

测试方案:按照每个函数功能进行测试,在做完每个函数对其进行测试,主函数测试,先将所有需要的功能模块函数设置为空,每个函数用一个printf语句来测试主函数。

1. 存在问题:开始将日期定义为字符数组,当用scanf来输入年月日时,年月日之间用空格分隔,但在输出时发现年月日出现错误。

分析原因:用scanf输入年月日时,系统会把用来分隔的空格当做字符读入。

解决方法:将年月日定义为整型,这样就可以用scanf输入,用空格隔开。

2. 存在问题2:在输入数据时,需要先将所有数据读入一个结构体数组,在读取后未关闭文件,执行查找时查找不到相关信息。

分析原因:再利用for循环读取全部文件内容后,文件指针将会移至文件末尾,这样再执行查找时就会从文件末尾开始,显然不符合要求,所以会出现错误。

解决方法:在读取完数据后先关闭文件,在查找时再次打开文件,这时文件指针就会指向文件开头。

3. 存在问题3:再多个使用getchar或者gets输入的时候,会出现直接跳过输入的情况。

分析原因:在使用getchar或者gets输入的时候,系统会将前一步用来确认执行的回车当成字符读入,导致跳过该步输入。

解决方法:再getchar或者gets前面加上getchar()语句,读掉回车,下面的getchar或者gets就可以正常输入。

四、小结。通过编写该程序,熟悉了c语言的基本语法,选择,循环等结构,深入练习了函数的调用方法,和文件的读写方法,熟悉了结构体的使用,更加深化了面向过程语言思想,和一些基本算法。

通过对程序的后期调试,熟悉了c常见错误,锻炼了思维的严密性,和完备性。

通过对程序的注释和画流程图,形成了一套自己编程的风格,和清晰地思路,使思维更加条理化,清晰化。

课程设计报告格式 课程设计

洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...

课程设计总结,课程设计报告

课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...

课程设计 课程设计报告格式

学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...