ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:23.18KB ,
资源ID:23692857      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23692857.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《C语言程序设计》课程设计指导书.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《C语言程序设计》课程设计指导书.docx

1、C语言程序设计课程设计指导书河南工程学院C语言程序设计课程设计指导书适用专业: 软件工程 适用班级: 专升本20级 2020年9月1日C语言程序设计课程设计指导书一、课程基本知识1、课程设计目的通过课程设计,巩固C语言程序设计的基础知识,进一步理解数组和指针的应用,理解函数的重要性,学会为涉及的数据定义适当的结构体,使用结构体设计;另一方面,通过课程设计,复习巩固二进制磁盘文件的建立,使用结构体数组作磁盘文件输入输出的中介,使用二进制磁盘文件存盘,增强数据抽象能力和程序设计的能力,为后续课程,特别是软件编码打下坚实的知识基础。2、课程设计主要目标教育目标是在学生学习了C语言程序设计的基本知识、

2、基本理论的基础上,通过综合课程设计,培养学生的动手能力,培养学生学习新知识的能力,提高学生分析问题和解决问题的综合能力,培养学生的团队合作精神,为今后从事专业工作打下必要的基础。 知识目标:(1)掌握模块化程序设计的方法; (2)进一步学习和掌握C语言中的文件操作函数及其应用; (3)学习和掌握C语言中的库函数及其应用。 能力培养目标:(1)能正确分析现实生活中的问题,并抽象成数学模型,进行模块分析和编程; (2)在程序调试过程中,能根据运行环境给出的错误提示,正确解决程序中的语法错误; (3)在程序调试过程中,能根据运行结果,运用相应的手段,正确地找出并解决程序中的逻辑错误; (4)在课程设

3、计过程中,适当进行小组分工,培养团队谐调和团队合作的能力; (5)提交课程设计成果报告,培养专业文档书写的能力。3、课程设计所用设施PC机、Visual C+6.0或Dev-C+集成开发环境等。4、课程设计任务及要求根据提供的题目,认真完成软件设计的全部过程,并以最终软件设计成果来证明其独立完成实际任务的能力,从而,反映出理解和运用C程序知识的水平和能力,最后完成软件设计和程序调试并提交文档:课程设计成果报告,成果报告中包含设计方法、算法及部分程序代码。二、课程设计基本操作方法1、按照系统用户手册及文档规范要求进行操作,养成查阅手册、文档的良好习惯。2、对特殊疑难问题采用讨论、协作等方式进行解

4、决,有意识地训练团队合作意识。3、课程设计报告应多包含在课程设计过程中出现的错误及解决方法。三、课程设计项目1、猜数游戏涉及知识点:循环、随机数操作。计算机“想”一个数(1,100)请人猜,如果猜对了,提示正确信息;否则告诉所猜的数是大还是小,同时提示下一次猜数的范围,直到猜对结束,最后给出游戏者猜测的次数。要求,程序以菜单方式工作。2、万年历显示涉及知识点:循环、格式化输出。设计一个程序实现万年历的显示,要求:(1)输入一个年份(1900-2040),在屏幕上输出该年的日历。(2)输出年历时,以月份和星期做表头。(3)系统以菜单方式工作。3、显示月历涉及知识点:循环、格式化输出。设计一个程序

5、实现月历的显示,要求:(1)输入年月信息,在屏幕上输出该月的日历。(2)输出日历时,以月份和星期做表头。(3)系统以菜单方式工作。4、英文单词统计助手涉及知识点:循环、字符串数组(二维字符数组)、一维字符数组、数组元素的排序。设计一个程序实现英文短文单词的统计任务,要求:(1)输入若干行英文,语句之间用逗号,句点分隔,单词之间用空格分隔。(2)统计并输出单词的总数。(3)统计各英文字符出现的次数(标点符号及空格不统计),并按出现的次数降序输出。(4)系统以菜单方式工作。5、简单文本编辑器涉及知识点:循环、字符串数组(二维字符数组)、一维字符数组、字符串处理函数。设计一个程序实现英文文本的编辑,

6、要求:(1)输入若干行英文,语句之间用逗号,句点分隔,单词之间用空格分隔。(2) 单词的查找:输入一个单词,查找该单词在短文中出现的次数及所在的行数和列数。(3)单词的替换:输入一个单词,在文中查找该单词,并将其替换为新单词。(4)大小写转换: 将文中的所有单词转换为大写或小写。(5)系统以菜单方式工作。6、简单数学测验涉及知识点:循环、文本文件操作、格式化读写文件、随机数、全局变量。设计程序实现一个数学测验,随机选择两个整数和加减法形成算式要求学生解答,要求:(1)电脑随机出10道题,每题10分,程序结束时显示得分。(2)只允许进行100以内的加减法,不允许两数的和或差超出0100的范围。(

7、3)每道题有两次机会输入答案,第一次输入错误答案时,提醒重新输入,若两次输入均错误,则给出正确答案。(4)判分规则:第一次回答正确得10分,第二次回答正确得5分,否则不得分。(5)程序提供查看错题功能,能查看本次测验的错题。(6)系统以菜单方式工作。7、数学测验涉及知识点:循环、文本文件操作、格式化读写文件、随机数、全局变量。设计程序实现一个数学测验,随机选择两个整数和乘除法形成算式要求学生解答,要求:(1)电脑随机出5道题,每题20分,程序结束时显示得分。(2)只允许进行100以内的乘法,不允许两数的积超出0100的范围。(3) 做除法时,只允许做整除运算(即本次除法运算的余数为0)。(4)

8、每道题有两次机会输入答案,第一次输入错误答案时,提醒重新输入,若两次输入均错误,则给出正确答案。(5)判分规则:第一次回答正确得20分,第二次回答正确得10分,否则不得分。(6)程序提供查看错题功能,能查看本次测验的错题。(7)系统以菜单方式工作。8、简单计算器涉及知识点:循环、随机数、数学函数。设计程序实现一个计算器,要求:(1)能完成任意两个数的四则运算(加、减、乘、除)。(2)能完成三角函数运算(sin(x),cos(x),tan(x),sin-1(x),cos-1(x),tan-1(x)。(3)能完成对数运算(lnx,log10x)。(4)其它运算(ex,平方分计算,xy)。(5)系统

9、以菜单方式工作,每个功能里的运算用二级菜单实现,例如:加、减、乘、除的选择需用二级菜单提示。9、记忆力大挑战涉及知识点:循环、随机数、数组。设计程序实现一个记忆力挑战游戏,要求:(1)游戏分为5个等级,每个等级的游戏规则如下。(2)入门级:电脑随机出5个数字(120),每个数字上面显示其所在的位置序号(从1开始),数字在屏幕上显示5秒钟,然后消失,要求游戏者凭借记忆按顺序答出5个数字,答错一个即算挑战失败。(3)修炼级:电脑随机出5个数字(120),数字在屏幕上显示4秒钟,然后消失,要求游戏者凭借记忆按顺序答出5个数字,答错一个即算挑战失败。(4)大师级:电脑随机出5个数字(120),数字在屏

10、幕上显示3秒钟,然后消失,要求游戏者凭借记忆按顺序答出5个数字,答错一个即算挑战失败。(5)大仙级:电脑随机出5个数字(120),数字在屏幕上显示2秒钟,然后消失,要求游戏者凭借记忆按顺序答出5个数字,答错一个即算挑战失败。(6)系统以菜单方式工作。10、学籍查询系统 涉及知识点:循环、二进制文件操作、结构体数组、排序。设计程序实现学生学籍的查询,具体要求如下:(1)用二进制数据文件存放学生的学籍信息。(2)学籍的添加:根据输入的新生的学号、姓名、性别、出生日期、系别、专业信息,注册该生的学籍。(3)学籍的显示:输出所有学籍。(4)学籍的查询:根据学号,查询并显示该生的学籍。(5)学籍的查询:

11、根据系别,查新并显示该系的学籍。(6)学籍的排序:按学号降序输出所有学籍。(7)系统以菜单方式工作。11、学籍管理系统涉及知识点:循环、二进制文件操作、结构体数组、文件的随机读写。设计程序实现学生学籍的管理,具体要求如下:(1)用二进制数据文件存放学生的学籍信息。(2)学籍的添加:根据输入的新生的学号、姓名、性别、出生日期、系别、专业信息,注册该生的学籍。(3)学籍的修改:根据学号,查找并修改该生的成绩,并显示修改后所有学生的成绩信息。(4)学籍的删除:根除输入的学号,删除该生的学籍,并显示修改后所有学生的学籍。(5)系统以菜单方式工作。12、成绩查询系统 涉及知识点:循环、二进制文件操作、结

12、构体数组。设计程序实现学生成绩的查询,具体要求如下:(1)用二进制数据文件存放学生的成绩信息。 (2)成绩的添加:根据输入的学生成绩信息(学号、姓名、班级、学期、英语成绩、高数成绩、C语言成绩),添加该生的成绩。 (3)成绩的显示:输出所有学生的成绩。 (4)成绩的查询:根据学号,查询并显示该生的成绩。 (5)成绩的查询:根据班级,查询并显示该班的成绩。 (6)成绩的查询:根据课程名,查询并显示该课程所有不及格成绩。 (7)系统以菜单方式工作。13、成绩管理系统涉及知识点:循环、二进制文件操作、结构体数组、文件的随机读写、排序。设计程序实现学生成绩的管理,具体要求如下:(1)用二进制数据文件存

13、放学生的成绩信息。(2)成绩的添加:根据输入的学生成绩信息(学号、姓名、班级、学期、英语成绩、高数成绩、C语言成绩),添加该生的成绩。(3)成绩的修改:根据学号,查找并修改该生的成绩,并显示修改后所有学生的成绩。(4)成绩的删除:根除输入的学号,删除该生的成绩,并显示修改后所有学生的成绩。(5)成绩的排序:降序输出某班某课程的成绩。(6)系统以菜单方式工作。14、宿舍查询系统涉及知识点:循环、二进制文件操作、结构体数组。设计程序实现学生宿舍信息的查询,具体要求如下:(1)用二进制数据文件存放学生的宿舍信息。(2)每个房间最多住4人。(3)宿舍信息的添加:根据输入的宿舍信息(楼号、房间号、实际入

14、住人数、入住学生姓名),添加该宿舍的信息。(4)宿舍信息的显示:输出所有宿舍的信息。(5)宿舍信息的查询:根据楼号与房间号,查询并显示该宿舍的信息。(6)宿舍信息的查询:根据楼号,查询并显示该宿舍楼的实际入住人数。(7)宿舍信息的查询:根据楼号,查询并显示该宿舍楼中尚有空床位的宿舍信息。(8)系统以菜单方式工作。15、宿舍管理系统涉及知识点:循环、二进制文件操作、结构体数组、文件的随机读写。设计程序实现学生宿舍信息的管理,具体要求如下:(1)用二进制数据文件存放学生的宿舍信息。(2)每个房间最多住6人。(3)宿舍信息的添加:根据输入的宿舍信息(楼号、房间号、实际入住人数、入住学生姓名),添加该

15、宿舍的信息。(4)宿舍信息的修改:根据楼号及房间号,查找并修改该宿舍的信息,并显示修改后该楼的所有宿舍信息。(5)宿舍信息的删除:根除输入的楼号及房间号,删除该宿舍的信息,并显示修改后该楼的所有宿舍信息。(6)系统以菜单方式工作。16、火车信息查询系统涉及知识点:循环、二进制文件操作、结构体数组、排序。设计程序实现火车信息的查询,具体要求如下:(1)用二进制数据文件存放学生的宿舍信息。(2)车票信息的添加:根据输入的车票信息(车次、始发地、目的地、出发时间、到达时间、票价、余票数、总票数),添加该车次信息。(3)车次查询:根据输入的车次,查询并输出该车次的列车信息。(4)始发地查询:根据输入的

16、始发地,查询并输出相应的列车信息。(5)目的地查询:根据输入的目的地,查询并输出相应的列车信息。(6)按票价降序输出所有的列车信息。(7)系统以菜单方式工作。17、火车信息管理系统涉及知识点:循环、二进制文件操作、结构体数组、文件的随机读写。设计程序实现火车票信息的查询,具体要求如下:(1)用二进制数据文件存放学生的宿舍信息。(2)车票信息的追加:根据输入的车票信息(车次、始发地、目的地、出发时间、到达时间、票价、余票数、总票数),添加该车次信息。(3)订购车票:根据输入的车次及票数,订购车票,并显示订票后该次列车的余票信息。(4)查询并输出票已售罄的列车信息。(5)退票:根据输入的车次及票数

17、,进行退票,并显示退票后该次列车的余票信息。(6)系统以菜单方式工作。18、短信模拟管理器涉及知识点:循环、二进制文件操作、结构体数组、文件的随机读写。设计程序实现手机短信的模拟管理,具体要求如下:(1)用二进制数据文件存放短信信息。(2)短信的保存:编辑一条短信(日期、发送者、接收者、短信内容),保存该短信。(3)短信查询:根据输入的发送者姓名,查找并显示其所发的所有短信。(4)短信删除:根据输入的发送者姓名,删除其所发的所有短信。(5)短信删除:根据输入的接收者姓名,删除发送给该用户的所有短信。(6)系统以菜单方式工作。19、员工工资查询系统涉及知识点:循环、二进制文件操作、结构体数组、排

18、序。设计程序实现员工工资的查询,具体要求如下:(1)用二进制数据文件存放员工工资信息。(2)工资信息的追加:根据输入的员工工资信息(工号、姓名、性别、月份、基本工资、奖金、应扣额、实发工资),添加该员工工资信息。(3)每月应扣额计算方法:应扣额=基本工资*0.1+奖金*0.15每月实发工资计算方法:实发工资=基本工资+奖金-应扣额。(4)按月查询工资:输入一个月份,查询并输出该月所有员工的工资信息。(5)按工号查询工资:输入一个工号,查询并输出该员工每月的工资信息及全年的工资总额。(6)工资排序:降序输出所有员工的全年工资总和。(7)系统以菜单方式工作。20、员工工资管理系统涉及知识点:循环、

19、二进制文件操作、结构体数组、文件的随机读写。设计程序实现员工工资的管理,具体要求如下:(1)用二进制数据文件存放员工工资信息。(2)工资信息的追加:根据输入的员工工资信息(工号、姓名、性别、月份、基本工资、奖金、应扣额、实发工资),添加该员工工资信息。(3)每月应扣额计算方法:应扣额=基本工资*0.1+奖金*0.15每月实发工资计算方法:实发工资=基本工资+奖金-应扣额。(4)工资信息修改:输入一个工号,修改该员工的工资信息,并保存修改结果。(5)工资信息删除:输入一个工号及月份,删除该员工该月份的工资信息,并输出删除操作后该员工全年的工资信息。(6)系统以菜单方式工作。四、课程设计要求及说明

20、1、代码书写要求为保证开发团队的协作和后期修改能有效进行,使学生遵照统一的排版风格、注释标准、命名规则及编码诸原则进行C语言编程,特提出以下规范要求。缩进:(1)程序块要采用缩进风格编写,缩进以4个空格(Space)键为单位,不使用TAB键。(2)函数体、结构体、循环体以及分支结构中的语句行都须采用缩进风格。(3)所有的if、while、for、do结构中的语句即使只有一行也须用括号括起来。(4)if、while、for、do语句单独占一行,左、右花括号也各占一行且不缩进。例:if (uperhero = theTick) printl(“Spoon!”);间隔:所有的标识符都必须被空白字符包

21、围。例如: int theTick = 5; if (theTick = 5) 空行:代码段之间须以一个空行进行间隔;空格的位置:(1)在一个关键字和左括号“(”之间。注意:不要在函数名和左括号之间加空格;(2)在参数列表的每个逗号“,”之后;(3)二元操作符前后。注意:一元操作符前后都不加空格。例如:int a = 10; a = a + 1; a+;(4)for语句的每个表达式之间。例如:for (int i = 0; i 20; i+)。代码行:(1)不允许把多个短语句写在一行中,即一行只写一条语句;(2)长语句、参数、表达式(超过80个 ASCII字符)应分行书写,操作符放在新行之首,

22、划分出的新行要进行适当的缩进,使排版整齐,语句可读。示例:#001 perm_count_msg.head.len=NO7_TO_STAT_PERM_COUNT_LEN#002 +STAT_SIZE_PER_FRAM;#003 act_task_tableSTAT_TASK_CHECK_NUMBER+index.occupied#004 =stat_poiindex.occupied;命名规则:所有的标识符只能用字母(A-Z或a-z)和数字(0-9)。不得包含货币符号或其它非AS-CII字符。(1)变量的命名应尽可能采用有意义的名词,力求可顾名思义。(2)可以采用一个单词或多个单词的缩写作为名

23、字,缩写单词的每个字母都要大写。(3)对于难以使用英文的情况,可以参考相关行业标准,比如使用国标。(4)采用约定俗成的习惯用法。注释:(1)为确保程序易读性,注释语句不得小于全部代码行的30%。(2)说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。(3)源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。(4)函数头部应进行注释,列出:函数的目的/功能、输入参数、输

24、出参数、返回值、调用关系(函数、表)等。(5) 边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除。(6))注释的内容要清楚、明了,含义准确,防止注释二义性。 (7)避免在注释中使用缩写,特别是非常用缩写。 (8)注释应与其描述的代码相近,对代码的注释应放在其上方或右方(对单条语句的注释)相邻位置,不可放在下面,如放于上方则需与其上面的代码用空行隔开。(9) 对于所有有物理含义的变量、常量,如果其命名不是充分自注释的,在声明时都必须加以注释,说明其物理含义。变量、常量、宏的注释应放在其上方相邻位置或右方。(10)数据结构声明(包括数组、结构、类、枚举等)

25、,如果其命名不是充分自注释的,必须加以注释。对结构中的每个域的注释放在此域的右方。(11)全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它,以及存取时注意事项等的说明。 (12)注释与所描述内容进行同样的缩排。 (13)将注释与其上面的代码用空行隔开。 (14)对变量的定义和分支语句(条件分支、循环语句等)必须编写注释。(15)对于switch语句下的case语句,如果因为特殊情况需要处理完一个case后进入下一个case处理,必须在该case语句处理完、下一个case语句前加上明确的注释。 2、编码原则(1)注意运算符的优先级,并用括号明确表达式的操作顺序,避免使用默认

26、优先级。 (2)避免使用不易理解的数字,用有意义的标识来替代。涉及物理状态或者含有物理意义的常量,不应直接使用数字,必须用有意义的枚举或宏来代替。(3)去掉没有必要的公共变量。 (4)仔细定义并明确公共变量的含义、作用、取值范围及公共变量间的关系。 (5)明确公共变量与操作此公共变量的函数或过程的关系,如访问、修改及创建等。 (6)当向公共变量传递数据时,要十分小心,防止赋予不合理的值或越界等现象发生。 (7)防止局部变量与公共变量同名。 (8)严禁使用未经初始化的变量。 (9)对所调用函数的错误返回码要仔细、全面地处理。(10)明确函数功能,精确(而不是近似)地实现函数设计。五、课程设计的组

27、织与纪律1、课程设计项目以小组为单位,完成课程设计要求的课程设计内容。本次课程设计的实施步骤为:(1)根据设计题目要求的指标,通过查阅有关资料分析其功能并进行个人分工;(2)画出程序流程图,完成程序各部分的内容分析;(3)计算各模块的参数设计,模块内部操作及模块返出的结果;(4)验证模块功能的完整性;(5)对模块功能进行程序设计;(6)对模块功能进行调试;(7)组合功能模块并完成设计要求;(8)撰写设计报告、答辩。2、由班长负责学生考勤,教师负责监督课堂纪律。3、端正课程设计态度,遵守机房制度,认真完成课程设计任务。4、设计结束时按时上交一份工整清晰的课程设计成果报告。六、参考书目参考书目:谭

28、浩强著,C语言设计题解与上机指导,清华大学出版社,2006.3谭浩强著,C语言设计,清华大学出版社,2006.3七、设计教学内容与建议学时分配分析设计准备阶段(1天)编程调试阶段(3天)撰写课程设计报告、考核(1天)八、课程设计考核标准及方式1考核方式以大组为单位学生自愿参加现场答辩(不参加答辩者,课程设计成绩不能为优、良)。2考核标准通过提交编写的代码和报告的方式,并结合学生的动手能力,独立分析解决问题的能力和创新精神,总结报告和学习态度综合考评。成绩分优、良、中、及格和不及格五等。具体的考核项目如下:(1)平时考核(20%):课程设计期间的出勤情况、态度、效率、协作精神;知识掌握情况、基本

29、操作技能、知识应用能力、获取知识能力;(2)课程设计能力:包括:设计思想(20%):需求分析能力,算法分析设计能力编码、调试分析(50%):编制代码能力,调试分析能力包涵几个方面:实际动手、创新、解决问题、与他人协调、沟通、表达等能力;知识点的掌握情况及在合作小组中负责工作的完成情况。(4)文档资料及答辩(20%+10%):表达能力、文档写作能力和文档的规范性;对所做系统的理解等。(5)课程设计效果:高质量完成课程设计任务或项目开发、有创意的加分根据以上考核结果给出相应成绩。3不及格情况判定(1)点名3次及以上未到者 (2)系统编程部分代码及说明完全相同(视为抄袭,直接不及格)(3)没有完成选定题目的代码编写及调试,没有输出指定结果(4)课程设计报告书写不规范或过于简单者九、其它注意事项1、注意课程设计时间安排,准时参加课程设计,遵守学院考勤制度,不得迟到、早退。如有事必须履行请假手续,写书面请假条,班主任签字同意后,交课程设计指导老师处。2、上机时间和地点以学院通知为准,如有变动另行通知。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1