高级语言课程设计_第1页
高级语言课程设计_第2页
高级语言课程设计_第3页
高级语言课程设计_第4页
高级语言课程设计_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、高级语言课程设计通信工程专业2009级高级语言课程设计一.目的要求本课程设计是在学生完成计算机技术基础课程学习后进行的。学生通过本课程的实践,能进一步掌握高级语言程序设计基本概念,掌握基本的程序设计方法;通过设计一个完整的小型程序,初步掌握开发软件所需的需求定义能力、功能分解能力和程序设计能力、代码调试技能;学习编写软件设计文档;为未来的软件设计打下良好的基础。要求学生掌握所学的程序设计方法的基本知识。结合实际深入理解高级语言程序设计的基本概念、原理及方法。运用所学的基础知识开发一个小型的程序,能根据问题的需要构造所需的数据结构,设计适合的算法,解决问题。掌握设计任务的具体要求,进行设计、调试

2、软件的具体方法、步骤和技巧。对一个实际课题的软件设计有基本了解,拓展知识面,激发在此领域中继续学习和研究的兴趣,为学习后续课程做准备。二.主要内容第一部分(基础练习部分,成绩最高不超过85分)1. 使用菜单选择趣味程序设计目的:本程序旨在训练学生的编程能力,使用c语言最基本的知识,训练结构化程序设计的基本技术。功能:设计分两步,首先设计一个含有多个菜单项的菜单演示程序,然后再为这些菜单项配上相应的功能。要求:使用数字16来选择菜单项,其他输入则不起作用。其实是5道编程题:1)findnum 使用穷举法寻找满足下式中的i 的值(30+i)*6237=(10*i+3)*35642)findroot

3、 求方程的根的程序3)detective 一辆汽车撞人后逃跑。4个目击者提供如下线索:甲:牌照三、四位相同; 乙:牌号为31xxxx;丙:牌照五、六位相同; 丁:三到六位是一个整数的平方4)bear本题是一个笑话,话说有一只狗熊到玉米地里掰玉米,一边掰一边吃。第一天吃了一半,又拿走一个回去喂小狗熊。第二天又去吃了剩下的一半,走时仍然带一个回去喂小狗熊。以后每天都吃前一天剩下的一半,拿走一个。到第十天时,地里只剩下一个玉米。求地里一共有多少玉米。5)diamond本题要求编制打印以下图案的程序,注意题目要求在左边留出一定空格 * * * * * * *6)goodbye! 结束程序运行。2. 使

4、用数组和指针统计成绩设计目的:本程序旨在练习使用数组和指针。假定给定班级各科考试平均成绩的原始资料如下:数学:75物理:80外语:83政治:85体育:86人数:30要求统计处全班学期总平均成绩以及得分最低的科目和该科目的成绩。要求的输出结果如下:原始信息如下:数学:75物理:80外语:83政治:85体育:86人数:30平均成绩:0最低分数科目的成绩:0最低分数的科目:全班各科平均成绩如下:数学:75物理:80外语:83政治:85体育:86统计结果如下:人数:30平均成绩:81最低分数科目的成绩:75最低分数的科目:数学设计要求:这里给出3种难易程度不同的要求,以便加深对数组和指针知识的理解。对

5、存放原始数据的要求如下:1)使用整型数组a存放数学、物理、外语、政治、体育、人数、平均成绩、最低分数科目的成绩。2)使用字符串数组name存放数学、物理、外语、政治、体育、最低分数的科目。3)使用字符串数组meanlow存放人数、平均成绩、最低分数科目的成绩、最低分数的科目。实现要求:1)使用数组实现使用数组和指针实现。主要是理解数值型数组和字符串数组的异同。2)使用分配的内存实现要求将数组a的内容存入到分配的内存中,使用指针实现对内存内容的存取和计算。3)将数组内容全部存入内存 如何为字符分配内存,并将字符数组的内容也存入所分配的内存中,使用这些指针实现设计要求。3. 函数与多文件编程设计目

6、的:学习函数类型和参数的设计,了解头文件的作用及其编制方法。设计还要求结合具体的编程环境、使用多文件编程原理,组成一个工程文件,为编制使用程序打下基础。功能:1)编写分配一块内存的程序init2)编写完成读进10个双精度值的函数readin,函数能将这些值存入由函数init申请的存储块中3)编写计算这些值的积得函数product4)编写一个sort函数,用来将存储块中的10个双精度的值读入数组a中,然后将a中的数据按由小到大的顺序排序5)再用init分配一块内存,将数组a的内容乘以10,并存到这块内存中6)在主程序中调用它们,输出第1次申请的内存块中的内容和数组排序后的内容,按反序输出第2次申

7、请的内存块中的内容。具体实现要求如下:1)分别编写头文件和c文件2)文件与相应的函数关系如下:文件 函数s.c mains.h 函数声明等init.c initreading.c readinproduct.c productsort.c sort3)要求在主函数调用分配内存的函数init后,判断是否分配成功。如果分配不成功,则退出主程序。4)要求使用工程文件装配它们。第二部分(综合练习部分,具体成绩要参考程序,成绩范围0100分)1. 俄罗斯方块游戏设计目的:本程序旨在训练学生的基本编程能力和游戏开发技巧,熟悉c语言图形模式下的编程。本程序中涉及机构体、数组、时钟中断及绘图方面的知识。通过本

8、程序的训练,使学生能对c语言有更深入的了解,掌握俄罗斯方块游戏开发的基本原理,为将来开发出高质量的游戏软件打下坚实的基础。功能:1)游戏方块预览功能。在游戏过程中,当在游戏底板中出现一个游戏方块时,必须在游戏方块预览区域中出现下一个游戏方块,这样有利于游戏玩家控制游戏的策略。由于在此游戏中存在19种不同的游戏方块,所以在游戏方块预览区域中需要显示随机生成的游戏方块。2)游戏方块控制功能。通过各种条件的判断,实现对游戏方块的左移、右移、快速下移、自由下落、旋转功能,以及行满消除行的功能。3)游戏显示更新功能。当游戏方块左右移动、下落、旋转时,要清除先前的游戏方块,用新坐标重绘游戏方块。当消除满行

9、时,要重绘游戏底板的当前状态。4)游戏速度分数更新功能。在游戏玩家进行游戏过程中,需要按照一定的游戏规则给游戏玩家计算游戏分数。比如,消除一行加10分。当游戏分数达到一定数量之后,需要给游戏者进行等级的上升,每上升一个等级,游戏方块的下落速度将加快,游戏的难度将增加。5)游戏帮助功能。玩家进入游戏后,将有对本游戏如何操作的友情提示。2. 推箱子游戏设计目的:本程序旨在训练读者的基本编程技巧,其中涉及软中断、二维数组、键盘操作及图形化函数等方面的知识。通过本程序的训练,读者能基本掌握显示器中断寄存器的设置、二维数组及结构体的定义、键盘上键值的获取、图形方式下光标的显示和定位,以及部分图形函数的使

10、用。功能:本游戏共有4关,由易到难,每一关都有初始化、按键处理、重置及退出功能。1)初始化包括屏幕初始化和每一关关卡的初始化,屏幕被初始化宽80像素,高25像素。2)按键处理包括移动小人和移动箱子,通过移动上下左右键控制小人的移动,从而推动箱子,以把箱子推到指定的目的地为通关。3)每一关都可以重置,按空格键可以重置当前关。4)按esc键可以在任何时候退出游戏。3. 五子棋游戏设计目的:本程序旨在进一步训练学生游戏开发的技巧,掌握c语言图形模式下的编程。本程序设计很多图形函数,包括坐标定位;颜色设置(背景色和文本颜色设置)、线条颜色、填充颜色;直线风格、文本风格、填充风格;画线、画圆、画矩形函数

11、;pc扬声器的打开、延迟、关闭;图形系统的初始化和关闭;图形屏幕和文字屏幕的清除;从键盘获取键值等。 通过本程序的训练,使读者能对c语言有一个更深刻的了解,掌握五子棋游戏开发的基本原理,从而为以后的程序开发奠定基础。功能:实现界面的初始化功能、下棋功能、胜负判断功能和帮助功能。1)初始化功能。程序初始化屏幕和棋盘,默认player1先行。2)实现下棋功能。程序能实现下棋操作,在下棋过程中能随时退出。3)胜负判断。程序能对下棋的结果进行判断,分出胜负,并显示获胜信息。4)显示帮助信息。程序能提示玩家轮到哪方下棋了。4. 学生成绩管理系统设计目的:本程序旨在训练学生的基本编程能力,了解管理信息系统

12、的开发流程,熟悉c语言的文件和单链表的各种基本操作。本程序中涉及结构体、单链表、文件等方面的知识。通过本程序的训练,使学生能对c语言的文件操作有一个更深入的了解,掌握利用单链表存储结构实现对学生成绩管理的原理,为进一步开发出高质量的信息管理系统打下坚实的基础。功能:五大功能模块1)输入记录模块。输入记录模块主要完成将数据存入单链表中的工作。在此成绩管理系统中,记录可以从以二进制形式存储的数据文件中读入,也可从键盘逐个输入学生记录。学生记录由学生的基本信息和成绩信息字段构成。当从数据文件中读入记录时,它就是在以记录为单位存储的数据文件中,将记录逐条复制到单链表中。2)查询记录模块。查询记录模块主

13、要完成在单链表中查找满足相关条件的学生记录。在此成绩管理系统中,用户可以按照学生的学号或姓名在单链表中进行查找。若找打该学生的记录,则返回指向该学生的指针。否则,返回一个值为null的空指针,并打印出未找到该学生记录的提示信息。3)更新记录模块。更新记录模块主要完成对学生记录的维护。在此成绩管理系统中,它 实现了对学生记录的修改、删除、插入和排序操作。一般而言,系统进行论文这些操作之后,需要将修改的数据存入源数据文件。4)统计记录模块。统计记录模块主要完成对各门功课最高分和不及格人数的统计。5)输出记录模块。输出记录模块主要完成两个任务。第一,它实现对学生记录的存盘操作,即将单链表中的各节点中

14、存储的学生记录信息写入数据文件中。第二,它实现将单链表中存储的学生记录信息以表格的形式在屏幕上打印出来。5. 工资管理系统设计目的:程序旨在训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉c语言的文件和结构数组的各种基本操作。本程序中涉及结构体、数组、文件等方面的知识。通过本程序的训练,使学生能对c语言的文件操作有一个更深入的了解,掌握利用数组存储结构实现工资管理的原理,为进一步开发出高质量的信息管理系统打下坚实的基础。功能:该系统主要利用数组来实现,其数组元素是结构体类型。整个系统有以下几大功能模块组成。1)输入记录模块。输入记录模块主要完成将数据存入数组中的工作。在此工资管理系统中

15、,记录可以从以二进制形式存储的数据文件中读入,也可从键盘逐个输入记录。记录由职工的基本信息和工资信息字段构成。当从数据文件中读入记录时,它就是在以记录为单位存储的数据文件中,将记录逐条复制到数组元素中。2)查询记录模块。查询模块记录主要完成在数组中查找满足相关条件的记录。在此工资管理系统中,用户可以按照职工编号或姓名在数组中进行查找。若找到该记录,则以表格形式打印出此记录的信息;否则,返回一个-1的值,并打印出未找到该记录的提示信息。3)更新记录模块。更新记录模块主要完成对记录的维护。在此工资管理系统中,实现对记录的修改、删除、插入和排序操作。一般而言,系统进行了这些操作之后,需要将修改的数据

16、存入源数据文件。4)统计记录模块。统计记录模块主要完成对公司员工的工资在各等级的人数统计。5)输出记录模块。输出记录模块主要完成两个任务。第一,它实现对记录的存盘操作,即将数组中各元素中存储的记录信息写入数据文件中。第二,它实现对数组中存储的记录信息以表格的形式在屏幕上打印出来。6. 电话簿管理系统设计目的:本程序旨在训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉c语言的文件和结构数组的各种基本操作。本程序中涉及结构体、数组、文件等方面的知识。通过本程序的训练,使学生能对c语言的文件操作有一个更深入的了解,掌握利用数组存储结构实现电话簿管理的原理,为进一步开发出高质量的信息管理系统打

17、下坚实的基础。功能:该系统主要利用数组来实现,其数组元素是结构体类型。整个系统有以下几大功能模块组成。1)输入记录模块。输入记录模块主要完成将数据存入数组中的工作。在此电话簿管理系统中,记录可以从以文本形式存储的数据文件中读入,也可从键盘逐个输入记录。记录由联系人有关的基本信息字段构成。当从数据文件中读入记录时,它就是在以记录为单位存储的数据文件中,将记录逐条复制到结构体类型数组元素中。2)查询记录模块。查询模块记录主要完成在数组中查找满足相关条件的记录。在此电话簿管理系统中,用户可以按照联系人姓名或联系人电话号码在数组中进行查找。若找到该记录,则以表格形式打印出此记录的信息;否则,返回一个-

18、1的值,并打印出未找到该记录的提示信息。3)更新记录模块。更新记录模块主要完成对记录的维护。在此电话簿管理系统中,实现对记录的修改、删除、插入和排序操作。一般而言,系统进行了这些操作之后,需要将修改的数据存入源数据文件。4)输出记录模块。输出记录模块主要完成两个任务。第一,它实现对记录的存盘操作,即将数组中各元素中存储的记录信息写入数据文件中。第二,它实现对数组中存储的记录信息以表格的形式在屏幕上打印出来。7. 简易计算器设计目的:本程序旨在训练学生的编程能力,使学生熟悉c语言图形模式下的编程。本程序中涉及结构体、数组、绘图等方面的知识。通过本程序的训练,使学生能对c语言有一个更深入的了解,掌握利用c语言相关函数开发计算器的基本原理,为进一步开发出高质量的多功能计算器打下坚实的基础。功能:1)计算器界面显示模块。计算器界面显示必须在执行实际计算操作之前完成,在这里主要调用了c语言图形系统函数和字符屏幕处理函数画出类似windows自带的计算器的界面。此界面包括一个主窗口、一个文本输入框、一个表示记忆功能已

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论