电气类1122-1123班“c语言程序设计实践”任务书。
本设计实践是 “c语言程序设计”课程学习的一个关键环节。它是根据教学计划的要求,在教师的指导下,对学生实施程序设计训练的必要过程,是对前期课堂学习内容的综合应用及其效果的检验和提高。其目的在于培养学生综合运用理论知识来分析和解决实际问题的能力、以及严谨的科学态度和良好的程序设计习惯。
本次设计实践,要求设计者基于结构化程序设计思想和所用c语言开发环境与工具,并运用“软件工程”和“数据结构”中的有关概念和方法,针对具体设计题和要求,分析功能要求,划分功能模块,用链表结构设计功能模块函数,以菜单方式调用相应功能模块来实现信息和数据处理。本次设计时间为二周,要求独立完成,具体任务如下:
1、学习、掌握采用结构化程序设计思想进行turbo c(或win tc,vc)环境下程序设计的方法;另外学习c语言简单图形语句以及简单图形界面设计(参见参考文献)。
2、采用c语言设计一个“学生学习成绩管理系统”,上机编程、调试并演示该管理系统中的各功能模块(具体内容见四)。
3、设计完成后,每人必须按时提交与验收程序一致的、能按设计功能和性能要求运行的程序的清单,一份关于本次程序设计和使用介绍的纸质文档即程序设计、使用说明书及个人总结(实践心得、体会等)。
软件工程强调软件生存周期,用较小的代价,获得高质量的软件。软件工程包括“需求分析、概要设计、详细设计、软件验证与软件维护”等内容及过程。结构化技术是软件工程中最成熟的技术之一,包括结构化分析方法(structured analysis)、结构化设计方法(structured design)和结构化程序设计方法(structured programming),简称为sa-sd-sp方法。
它的总的指导思想是自顶向下、逐步求精、单入口/单出口,基本原则是抽象和功能分解,如:面向数据流图的方法、jackson方法、lcp(logical construction programs)方法等程序设计方法。对于较为复杂问题大型程序开发应采取“自顶向下、逐步细化和模块化”的设计方法,模块化程序设计是结构化程序设计方法在开发大型程序中的应用。
所谓“自顶向下,逐步细化、逐步求精”就是在对于给定问题进行透彻的了解和详细的分析的基础上,把问题分解成若干个按顺序执行的逻辑部分,称为“模块”。每个子任务如果仍很复杂,还可以再分解为若干个子任务。如此逐层分解,对于每个模块的设计都采用这种“自顶向下、逐步细化”的方法,将它们分解成为基本结构为止,就如同写文章先拟出题目和中心内容,再确定分为几大部分,每一大部分又分哪几节,每一节分为几段,每一段包括哪几个意思,这就是“自顶向下,逐步细化”的方法。
当一个程序的规模比较庞大,层次和模块比较多时,不要每次都将所有模块按顺序执行一遍,最好在每一层,至少在最高几层都设一个“菜单”。为方便用户操作,“菜单”技术已广泛使用在计算机的系统软件中,具体做法是:程序首先把各功能说明及相应代号以菜单形式显示在屏幕上,然后由用户在键盘上输入所选的功能代号,程序自动转去调用相应的功能模块进行处理。
在计算机科学中,数据结构不仅是一般程序设计(特别是非数值计算的程序设计)的基础,而且是设计和实现编译程序、操作系统、数据库系统及其它系统程序和大型应用程序的重要基础。在本次设计中,主要涉及到如下内容:
包括顺序存储结构、链接存储结构、索引存储结构和散列存储结构,其中前两者最常用,分别具有各自的优点,在设计过程中可灵活采用。
即在给定的数据记录中,找出满足一定条件的记录。检索方法的好坏直接影响计算机的使用效率。常用的检索方法有线性检索法、对半检索法、分块检索法和散列检索法,应根据所常用的存储方法的不同和所要求的检索速度而采用相应的检索方法。
即将一组数据记录的无序序列按某原则(关键字的递增或递减)的次序调整成为一个有序序列。常用的内部排序(排序时全部数据都存放在内存中)方法主要有选择排序、冒泡排序、线性插入排序、对半插入排序、快速排序、归并排序等。要求学生能至少掌握其中的三种排序方法,并在设计中使用。
学生学习成绩管理系统”用于对学生学习成绩数据文件的新文件创建和老文件管理,并可以进行密码设置。具体要求实现的功能如下:
1、输入/添加记录:将每一个学生的学号、姓名和各科学习成绩作为一个记录进行输入或添加。要求经过密码验证后能建立一个新的数据文件或给已建立好的数据文件增加记录。
2、显示、查询记录:能按学生姓名(或学号)显示、查询一个或多个学生的各门(或某门)功课的成绩和平均成绩。
3、修改记录:可以对数据文件中的任意记录的数据进行修改,在修改前后对该记录的内容进行显示,并设确认提示。(要求设置密码,验证通过后方可进入修改环节)
4、删除记录:可以删除数据文件中的任一记录,包括逻辑删除(具有恢复功能)和物理删除(不可恢复)。(说明:该功能也应设置为经过验证密码后才可实施删除)
5、成绩排序:采用不同的排序方法对单科成绩和总(或平均)成绩进行排序,但不能改变原记录的顺序。
6、统计功能:(a)计算各门课程全班总成绩及平均成绩;(b)统计各门课程得分为~69和不及格学生的人数,以及与全班总人数的百分比。
7、数据文件保存和上载功能:能按文件名保存已建立的或修改的整体记录数据,能按文件名上载/倒入保存在磁盘的整体记录数据。
8、其他:该软件应具有系统名称、设计单位或个人等基本信息。
注:经过逐层逐块,不断细化、求精编写的程序,必须经过测试进行验证,可以逐个模块地分开调试,也可以用工程文件的形式进行逐步联合调试。
成绩分为优、良、中、及格、不及格五档,主要由三部分组成:
1、每次上机考勤记录。
2、设计任务完成后,提交程序清单,老师根据在计算机上当面验收的结果评定成绩。(说明:主要检查是否已全部按要求完成规定的系统功能,以及完成的质量例如人机界面、功能实现、程序结构及注释、设计者基本信息、维护修改等)
3、于最后上机操作时提交一份关于程序设计任务要求、设计方案、程序流程图以及维护、使用方法(含初始密码)及程序清单等内容的**材料,即设计说明书(包括任务需求分析、概要设计、详细设计、软件验证等方面的内容,要求给出程序框图),并打印,正文字体大小为5号宋体,所有文档正文为单倍行距。
1、《c语言程序设计》 李丽娟主编中国铁道出版社。
2、《c程序设计》 (2-4版)谭浩强主编清华大学出版社。
3、《c语言程序设计教程》 杨路明主编北京邮电。
4、《c语言程序设计上机指导与习题选解》 杨路明主编。
5、《c语言界面大全》
6、《c高级实用程序设计》
7、《现代软件工程。
8、《数据结构》(c语言版) 清华大学出版社。
上机地点:校本部科技楼四楼信息院计算机实验室。
时间:(上机时间若有变化将另行通知)
注意事项:1.遵守学校、实验室的规章制度和纪律,按学校作息时间规定不迟到早退。未经批准请假,不得缺勤(每此上机记录出勤情况)。上机操作中不得进行与本次设计无关的其他事项。
2.注意各自所设计程序的外部保存。
3.必须以电子稿(含可执行源程序)和书面两种形式提交最终设计文稿,设计文档必须打印。
附:封面格式。
中南大学。本科生课程设计报告书。
C语言课程设计任务书
一 进度安排及要求。1 大型作业在一年级上学期第18周布置。2 要求学生要利用部分寒假假时间进行大型作业设计。3 开学后1 5周的时间主要用于程序的调试和完善。4 大型作业在第二学期第五周星期。四 五 六由老师进行上机演示检查。5 上机演示检查后一周内提交课程设计报告 源程序清单。二 课程设计题目方...
C课程设计任务书
面向对象程序设计作为一门软件设计的课程,具有极强的实践性,必须使学生具备灵活应用理论知识的能力及面向对象程序设计技能。所以在 c 面向对象程序设计 课程学习完成后,安排课程设计教学环节。通过课程设计,使学生实际掌握面向对象的程序设计方法,了解c 面向对象的设计方法与技巧,有效地 深刻地理解课程内容,...
C 课程设计任务书
c 面向对象课程设计 任务书。一 课程设计目的与要求。1 课程设计目的。面向对象程序设计作为一门软件设计的课程,具有极强的实践性,必须使学生具备灵活应用理论知识的能力及面向对象程序设计技能。所以在 c 面向对象程序设计 课程学习完成后,安排课程设计教学环节。通过课程设计,使学生实际掌握面向对象的程序...