1、C语言课程设计,1.目 的,通过本课程设计,强化上机动手能力,使学生在理论和实践的基础上进一步巩固C语言程序设计课程学习的内容,掌握高级语言程序设计的基本方法;通过系统分析、系统设计、编程调试,写实验报告等环节,初步掌握软件系统设计的方法和步骤,训练灵活运用程序设计语言进行软件开发的能力,提高分析问题和解决问题的能力,提高程序设计水平,培养必要的工程实践动手能力。,学会将知识应用于实际的方法,提高分析和 解决问题的能力,增加综合能力;,2. 知识点,掌握并熟悉运用C语言的基本数据类型与各种表达式,程序的流程控制语句。掌握数组的基本概念。熟悉掌握一维数组和二维数组的使用,掌握字符数组与字符串的关
2、系以及字符串的简单处理,会分析、编写利用数组进行数据存储与处理的简单程序。熟悉指针、地址等概念。掌握函数的定义、函数的返回值、函数的调用、函数的形参和实参之间的关系、变量的作用域、函数的作用域。掌握结构体的概念,结构类型的定义,结构体变量的定义和初始化,结构体成员的表示、赋值。 掌握文件的基本操作,3.要求,程序要有适当的注释,不同的功能使用不同的函数,有完整的实验报告。,独立完成,不追求完美,必须是自行设计。,每天上机时间不能迟到、早退、无故不到。,按时完成设计内容,按时提交设计报告。,4.备选题 目(也可自拟),小区物业管理系统楼盘销售管理系统商场店面管理系统实验室设备管理系统宿舍管理系统
3、汽车销售管理系统医院药品管理系统图书馆书目管理系统学生信息管理系统,必须具备以下功能:,5.系统基本要求(以超市管理系统为例P287例子),1.数据录入:录入系统所需的数据,用数组组织数据;2.数据存储:将录入的数据存储,用文件的形式将录 入的数据存储; 3.数据读写:对数据进行读写操作;4.数据修改:对数据进行更新操作,可以进行新数据的插入,旧数据的修改操作5.数据删除:对数据进行删除操作,根据具体题目将对应记录删除;6.数据查询:按要求对数据进行查询,含简单查询及组合查询;,系统基本要求(以超市管理系统为例),数据统计:按要求对数据进行统计,含简单统计及综合统计;数据排序:按要求对数据进行
4、排序,含升序排序及降序排序;数据报表:按要求对数据打印报表,依规定的报表格式对数据打印报表;界面:设计总体菜单界面,简单菜单、下拉式或弹出式;密码设置(选作):用户进入系统时,有不同用户名和密码的输入。,上面提到的所有题目,每个同学可任选一个题目,或自己可以设计一个其它题目。 但是每个题目都应包含以下内容:创建(输入)、添加、显示、修改、添加、删除、查询和排序、密码、文件、菜单等内容。,说明:,超市管理系统书上有例子,不能以此为题目!否则不给成绩!,6.算法简要分析,存储格式:结构体类型的定义数组组织数据界面设计:按功能不同编写模块(首先写入空语句,最后一个模块一个模块的调试代码),设计主菜单
5、。数据的存储和读写:对文件的操作分别依此完成后续模块注意:在设计的过程中要跟踪、监视数 据变化,7.日程安排,准备工作:搜集相关资料,书籍,复习C语言 第1周周一:1)系统需求分析:(1)程序的功能(2)输入输出的要求。 2)总体设计3)相关知识点复习与实践,熟悉文件的基本操作 第1周周二:1)各模块分析与设计(程序的模块组成,模块内的层次结构、 模块间的调用关系;每个函数的功能 ), 画出函数的调 用关系图。2)实现较简单的模块(如:界面设计、数据的文件存储及文件的打开与读出)。,日程安排,第2周周一和周二:检查已实现部分代码,完成输出报表功能,实现文件读写。 第2周周周二和周三 在计算机上
6、检查验收,检查内容包括:系统演示自述系统特点、总结调试中遇到的问题及解决方法回答问题 验收通过的同学按要求使用模板撰写实验报告,第1周周三和周四:详细设计和编程(插入、删除、修改、统计、排序等)。,8.考核方式 和成绩,成绩计分按优、良、中、及格、不及格5级评定内容:第一周占10%,第二周占60%,这两部分均以机器运行的检查结果为准设计报告:占20%平时分数:占10%,包括每天点名情况等,设计结果 70% 设计报告 20%平时表现 10%,(1)被检查同学调试好程序,等待老师检查;(2)检查时,向老师介绍程序的整体情况,编写思路,演示运行各个功能。(3)回答老师的关于程序的几个问题。,(1)设
7、计结果检查过程:,(2)成绩评定说明:,下列情况成绩评定作不及格:在检查时,若对老师关于程序的问题完全或大部分回答不出来,视作抄袭。实验报告不交(电子版和打印版)、源程序不交。实验报告格式不正确,不按照给定的模板格式撰写的和不交同等处理。平时点名不到次数超过三次。不遵守机房纪律,被机房老师或是教务处老师发现违纪请出实验室。,(3)课程设计报告要求,请完全按模板格式来进行报告的撰写,否则按不及格算。用A4纸打印成册,从左边装订。源程序电子版和实验报告电子版,统一拷贝给班长。 注:每个同学一个文件夹,文件夹名为:班内序号-姓名; 文件夹内容包括实验报告,实验文档和源程序等文 件;然后打包提交。如:
8、7月2号以班为单位班长送交报告至2#418。,附:开发步骤举例,软件的开发应该遵循软件工程的开发步骤:分析、设计、编码、测试。,问题定义;算法设计;流程图设计;编写程序代码;测试与调试;整理文档;系统维护。,举例详解:教师工资管理系统(一)功能模块:,1 创建教师工资信息 2 显示教师工资信息 3 查询教师工资信息 4 修改教师工资信息 5 添加教师工资信息 6 删除教师工资信息 7 排序教师工资信息 8 信息可以被保存到文件中,(二)总体分析,首先根据所要实现的功能,做出打印菜单的模块,并在主函数中通过swhich case 语句对各个功能进行调用。每个功能用特定的模块实现,通过参数的运用得
9、以实现。,(三)程序模块图,程序模块图,(四)编写代码、调试,错误类型: 语法错误 逻辑错误,提醒,上机时间及地点: 2#340机房6月18日-6月27日上午9:0014:00(中间无休,11:3012:00可外出简餐,注意控制时间)课程设计期间必须带C语言相关参考书,自带纸笔,备用 机房计算机条件有限,请有笔记本的同学都自带笔记本!,纪律: 1.点名,3次未到以零分计。 2. 拷贝其他同学的程序,发现取消成绩。 3.遵守机房的纪律规定,不做与设计无关的事,同学们在进行课程设计的过程中,千万要注意妥善保管源程序。在开发过程中把较满意的程序先备份到自己的U盘上,然后继续完善程序,以防止源程序丢失。 本次课程设计,可以充分培养和体现自己独立思考问题、分析问题、解决问题的能力。遇到问题不要立刻问别人,先试着自己看书或者资料解决问题,多思考,多动手,避免犯低级错误。允许和同学讨论研究,但是禁忌抄袭。,建议参考资料,C语言程序设计 王曙燕 曹锰 科学出版社 2005年2月C语言程序设计 谭浩强 清华大学出版社 1999年12月C语言程序设计教程 张毅坤 曹锰 张亚玲 西安交通大学出版社,