C语言课程设计
PAGE
PAGE 9
一、教学目标:
通过较大程序编码量的训练,让学生进一步掌握C语言的基本编程技能;
通过训练,严格按照C语言编码规范(p274),训练学生养成良好的编程习惯;
进一步掌握模块化程序设计的方法;
在程序设计过程中,建立人机交互设计的意识;
通过拓展学习,进一步提高学习C语言的兴趣。
二、课程要求:
为了达到训练目的,学生在开展课程设计时,应严格按下列要求工作。
要求学生已学习并熟悉掌握C语言;
要求学生按照以下步骤,分别完成程序功能分析、程序模块划分、模块代码编写、模块调试调试以及组合调试、运行等步骤;
要求程序设计规范,具有一定实用性,界面美观,操作方便;
要求学生最后提交严格按照C代码规范编写的源程序和可执行代码。
三、考评方法:
C语言课程设计完成情况检查分为中期检查和终期答辩。中期检查安排在课程设计开课中期进行,以小组(大约10人)为单位检查,小组成员互相打分,并记录存在问题。中期检查如发现有抄袭现象,对抄袭者和被抄袭者给予严重警告。终期答辩时,以中期检查的小组为单位答辩,每个学生讲解和演示自己做的软件,由教师和小组成员按《C语言课程设计打分表》进行终极评分。终期检查如发现有抄袭现象,抄袭者和被抄袭者的课程设计总成绩均为0分。
四、评分标准
C语言课程设计评分表如下:
C语言课程设计评分表
序号
检查项目
检 查 指 标
中期检查存在问题
标准分
中期检查得分
终期检查得分
1
界面设计
(10分)
界面干净、整齐
5
操作方便
5
2
工作量
(60分)
系统功能设计与实现
(8个以上带参函数)
40
菜单设计
10
动态数组或链表技术
5
文件技术
5
3
模块化程序设计
(10分)
模块化程序设计方法
5
模块划分合理
5
4
代码规范
(20分)
代码注释合理、准确
注释书写格式规范
5
标识符命名规范
5
程序排版规范
10
合计
100
五、学时分配
因课堂学时较少,需要学生在课外进行设计,课堂内主要完成辅导和各阶段成果的检查。
教学内容
学时
地点
备注
讲解程序编码规范,介绍课程设计任务,提出设计要求,组织选题,进行初步分析和设计。
2
机房
第10周
完成系统设计和编码,在中期分小组进行检查,检查要求见四。
10
机房
第13周中期检查
组织学生以小组形式进行终期答辩
8
机房
第14、15周
六、设计过程 p298
1.程序功能分析
所谓“程序功能分析”就是确定程序必须完成哪些工作,对系统完成的目标提出完整、准确、清晰和具体的要求。基本任务是回答系统必须“做什么”的问题。
下面以“学生成绩管理系统”为例进行说明。
“学生成绩管理系统”主要用于对学生的学号、姓名等信息以及各科目成绩进行增加、删除、修改、查询等操作,本系统还可以对使用该系统的用户进行登录名和密码的管理。系统给用户提供了一个简单的人机界面,使用户可以根据提示输入操作项,调用系统提供的管理功能。
学生成绩管理系统不仅为学校的教师和学生提供了管理和查询的平台,而且还给用户提供了一个简单友好的用户接口。本系统所具有的功能如下:
1、用户登录:根据用户输入的用户名和密码判断是否允许该用户使用本系统,并且当用户登录后根据用户权限判断用户可以使用哪些功能。本系统有管理员和学生两种权限,管理员(一般是教师)可以对数据进行修改,而学生只有浏览等权限而不能进行实质性改动。
2、系统主控平台:由于系统存在两种权限的用户,所以系统根据不同的用户提供不同的功能。因此系统主控平台根据用户权限只列出在用户权限范围内的功能供用户选择。系统主控平台包括输入功能选项、调用相应的程序两个需求。管理员和学生对应的系统主控平台是不同的,所能进行的操作也不相同。
3、信息录入:管理员根据提示输入学生的学号、姓名、各科成绩,学生的总分由系统自动计算获得。可一次性输入多条学生信息,并将数据存储在系统磁盘的文件中,以便进行管理、查找和备份。
4、学生信息的追加:在原有的学生成绩的基础上追加新学生的相关信息,并保存。
5、学生信息的删除:提示用户输入要进行删除的学生的学号,若该学生存在,则删除该生的相关信息,否则显示该生不存在。并提示用户选择是否继续进行删除操作。
6、学生信息的修改:提示用户输入要进行修改的学生的学号,若该学生存在,则修改该生的相关信息,否则显示该生不存在。并提示用户选择是否继续进行修改操作。
7、学生信息的查询:该查询分为按姓名查询和按学号查询。
8、学生成绩的浏览:按成绩总分从高到底的显示学生的相关信息。
9、管理员管理:管理员对用户的创建、增加、删除、修改和浏览。系统的用户存储在名为user的文件中。当用户登录时,系统对用户输入的信息会根据文件中的用户名和密码进行核实判断,用户方