当前位置:文档之家› 本科生课程设计(实践)任务书、设计报告(C++程序设计)

本科生课程设计(实践)任务书、设计报告(C++程序设计)

本科生课程设计(实践)任务书、设计报告(C++程序设计)
本科生课程设计(实践)任务书、设计报告(C++程序设计)

□南大学

本科生课程设计(实践)任务书、设计报告

(C++程序设计)

图书管理系统

学生姓名指导教师

专业班级学生学号

计算机基础教学实验中心

2009年5月30日

图书管理信息系统

摘要:

此次我们们所设计的学生考试成绩管理系统主要是完成对学生成绩的管理,包括添加、修改、删除,查询、保存等方面的功能。同时系统可以完成对所输入的各类信息的浏览、查询等方面功能。

我们设计的系统的核心是添加、修改和删除三者之间的联系。查询功能也是系统的核心之一,在系统中主要根据学生姓名、学号和班级进行查询,为操作者提供了方便。

接下来我们的论文主要介绍了本系统的开发思想,所能完成的系统功能及系统设计介绍,以及自己在此次开发设计中感想。

关键词:面向对象的程序设计类链表指针函数学生成绩

1学生考试成绩管理系统开发设计思想

这次课程设计我们选择“学生考试成绩管理系统” 作为我们的设计对象。此系统最主要的思想就是“面向对象的程序设计和面向过程的程序设计”。“面向对象的程序设计”总结起来可以用一个等式来表达:面向对象二对象+类+继承+通信。其核心思想是:⑴、发现、归纳、清晰定义对系统有意义的对象及对象关系;⑵、在⑴的基础上挖掘并清晰定义业务逻辑;⑶、以⑴、⑵为基础进行需求清晰、边界明了的设计工作。而“面向过程的程序设计” 用一个公式可以表示为:程序=算法+数据结构。其中算法就是为解题而编写程序的方法和步骤;而在程序结构和方法中需要使用不同的数据结构:链表、变

量、数组、记录等。从而用不同数据结构将解决问题的算法模型转换为程序模型的能力。

具体来说,制作学生考试成绩管理系统,最主要的是体现在链表的使用方面,因为只有这样编写出来的程序才能够使计算机对相关信息即我们们所输入的各种有关学生成绩的数据进行动态操作。

链表是最简单也是最常用的一种动态数据结构。通过前面对C++

理论课的学习我们知道了链表的结点一般可以选用结构体或类。在此次我们所编写的学生考试成绩管理系统的程序中。我们选择了最能代表与体现C++特点的类作为此程序链表的结点。

在编写程序时,我们对学生的各种信息,可以看作为学生对象的各种属性。所以根据需要我们建立了一个student 类。将学生的各种信息以数据成员函数的形式封装在这个类中,将这个学生考试成绩管理系统的最基本的输入输出操作下的成员函数封装在其中。

同时,作为一个需要重复操作的系统。为了提高系统的通用性和可重复利用性,我们将建立链表、删除、修改、添加、查询、排序等常规操作封装在另一个cla 类中。至此,一个链表的结点及其相应操作基本完成。只需在主函数main ()中定义一个cla类的对象,即可实现链表的相关操作。

2学生考试成绩管理系统功能及系统设计介绍

我们制作的学生考试成绩管理系统的功能是对学生相关信息的输入、修改、删除、查询,上述三种不同方式的排序,对我们操作时所输入的班级整体平均分的计算和对以上各种信息的保存及读取。上

述操作我们均将其封装在cla 类中。分别为该类的14 个成员函数。

分别如下:

void sadd(); // 添加, void sremove(); // 删除, void samend(); // 修改, void ssearch(); // 查询, void classsearch();// 班级查

询,void staxisO; II排序,void classaaa();// 安班级统计学科总

分和平均分,void ssave(); // 保存, void sload(); // 读取, void pxh(); void pjsj(); void phx(); void pwl(); void pAA(); 其中最后四个成员函数为排序函数,分别是按学号、计算机(C++、化

学、物理、总分的排序。

另外,在系统的编写过程中我们设置的对全体数据的动态管理则

是通过链表来完成,其中最核心的操作则均是由前面C++理论课所学

的指针来实现的。下面我们将对各种功能进行详细介绍。(由于程序

都太长,所以我们所列举的例子都有省略,用“

表示)

既然是编写程序则首先必须进行声明。所以在编写学生考试成绩

管理系统的时候我们首先对包含文件进行了声明,声明区如下:

#include #include #include

#include using namespace std; #define max 100;

正如前面所说的那样,要实现信息的动态管理则需要定义类。所

以我们分别定义了两个类student 类和cla 类。其定义形式如下

所示:

class student

{ public: student *next;

public:

int clas; // 班级

void sload(); // 读取

void pxh();

private:

student *stu; // 头接点};

其中“ private: student *stu; ”中*stu 是指向student 的指针,也是进入链表的第一个指针,Student 为私有的数据成员。之所以将其定义为私有成员,最主要是实现其私密性及封装性,使数据得到保护。

接下来我们对在cla 类中声明的14 个成员函数进行了成员函数的类外定义,即类外使用部分。由于内容太多,在此就不一一列出,仅举一例来说明,其他的可去查看我们的源程序。例如对void samend () 函数进行类外定义:

void cla::samend()// 修改

{ system("cls");

long num1;

cout<<"\n** 修改学生信息**\n";

if(p1!=NULL) { coutvv" 学号是"vvnumivv'的学生的信息"<

cout<<" 姓名"<name<<" 班级

"<

clasvv"C++"vvp1->x<<"化学"<y<<"物理"<z<

else // 未找到接点

cout<<" 未找到!\n"; }

其中p1!=NULL是指头指针的初值为空,表示链表中没有节点, 是一空指针。

同时在类的使用部分,我们还使用到了函数的调用,其程序如下; switch (c) { case '1':pxh(); break;

case '6':return; }

在最后我们定义了主函数main (),其程序主要如下:

void main() { char c;

cla a;

do

{

cout<<"\n 学生考试成绩管理系统\n";

case '1': a.sadd();break;

case '9': a.sload();break; } }while(c!='0'); }

在这个主函数main() 中我们通过在其中定义一个cla 类的对象,实现了链表的相关操作。从而最终完成程序,实现了计算机对全体数据等的动态管理,使学生的各种信息能够最直接的表示出来。

3学生考试成绩管理系统开发的体会

通过完成本次C++课程设计的任务,使我们熟练和掌握了这学期所学的有关visual C++ 中的一些主要知识点和应用点,如类的定义,类的实现,对象的定义,类的继承等等。总起来可以说是学有所用,不至于自己所学知识由于没有经历可用过程,而放弃对它的兴趣。

此次设计学生考试成绩管理系统的过程中,经历了平时在课堂中和平常练习中决不会有的重重困难和问题。而这些问题,又都是课本上很少提到的、更深一层的知识领域和应用领域。这些问题,并不是我们们平时只靠课本,就可以轻易解决的。所以,锻炼了我们们面对难题,自己思索,自己探索,自己查资料发现问题、解决问题的独断能力。

当然,此次任务的完成,也体现出同学之间的互助精神。在设计程序过程中所遇到的种种难以解决的问题,大家都会把它当作共同遇

到的问题,在一起共同探讨,共同发挥自己所学和所知,十分投入的互相帮助和解决问题。

“实践是检验真理的唯一标准”。没有实践,就不会发现和深刻

体会它的真实所在。此次程序设计的完成,使我们懂得了实践的重要性,理论和实践的相结合,才能真正把握和运用所学的知识。

理论的拥有并不能代表我们的能力,一切的事件和其成功都是理论和实践的结合。总之,只有通过实际运用,才能真正的理解和掌握。

计算机网络课程设计任务书通信091

山东建筑大学课程设计任务书 指导教师(签字):教研室主任(签字): 年月日

山东建筑大学课程设计指导书 课程名称:数据通信与计算机通信网课程设计 设计题目:某办公楼局域网系统设计 使用班级:通信091指导教师:庄华伟 计算机网络就是利用通信设备和线路将处于不同地理位置的、功能独立的多个计算机系统连接起来,以功能完善的网络软件(即网络通信协议、网络操作系统等)实现网络资源共享和信息传递的系统。开发某办公楼局域网系统设计的总体目标主要是:本课程注重提高通信工程专业学生的网络设计和应用能力。开设课程设计的目的,就是将理论与实践有机结合起来,通过课程设计,使学生进一步巩固和加强对理论的理解和认识,同时提高学生的实际操作能力要求分析出各种需要的功能并进行总结,具体设计步骤: 1.系统需求分析,对系统的各种需要功能进行分析论证。 2.IP地址的分配,采用DHCP技术。 这需要为服务器添加一项DHCP服务,这个服务能自动提供给每台客户机一个安全、唯一的IP地址。具体包括:安装DHCP、创建DHCP作用域、配置DHCP服务、客户端的DHCP网络配置等。 3.网络传输媒体的选择,交换机类型选择 1). 网络传输媒体的选择具体包括:有线传输介质(同轴电缆、双绞线、光纤)和无线传输介质 2). 交换机类型选择,局域网交换机是交换式局域网的核心设备,交换机属于OSI模型中数据链路层设备,它的功能与局域网桥相近,由多端口的网桥发展而来,在这里要选择一款具体类型的交换机,指明型号及相关参数。 4.网络操作系统的选择,采用Windows NT操作系统 Microsoft的Windows NT Server 4.0中文版(以下简称Windows NT Server 4.0)是一个局域网操作系统。它是一个具有很强联网功能的32位操作系统,支持与Windows 9X相同的API接口,能够兼容Windows 9X中的32位应用程序(如Office 95)。它同时具有与Windows 9X类似的用户界面,因此可以减少学习时间与费用。也可以将Windows NT Server 4.0用作个人计算机操作系统,直接在其上运行各种应用软件。 5.DNS以及HTTP服务器的设置 DNS服务器是(Domain Name System或者Domain Name Service)域名系统或者域名服务,域名系统为Internet上的主机分配域名地址和IP地址。用户使用域名地址,该系统就会自动把域名地址转为IP地址。域名服务是运行域名系统的Internet工具。执行域名服务的服务器称之为DNS服务器,通过DNS服务器来应答域名服务的查询。 7.中心机房位置选择,网络布线,网络连通性测试 中心机房位置选择应该选择楼宇中心位置;使用Cisco Packet Tracer软件进行网络布线,模拟网络运行的任何细节,自动捕获各种类型的数据包,分析IP数据包的结构,更加直观的学习网络协议、分析网络性能;采用防火墙技术。 其他各个模块功能分析可以参照这部分格式完成,写在设计说明书中。希望同学们尽量自己能设计出其他模块或者将以上模块重新划分(可以合并或拆分某些模块)。8.总体方案总结,撰写设计说明书。

贪吃蛇游戏课程设计实验报告全解

辽宁科技大学课程设计说明书 设计题目:基于C#的贪吃蛇游戏 学院、系:装备制造学院 专业班级:计算机科学与技术 学生姓名:叶佳佳 指导教师:丁宁 成绩: 2015年12月12日

目录 一、概述 (1) 1、用C#实现该设计的方法 (1) 2、贪吃蛇游戏说明 (1) 二、实验目的及设计要求 (1) 1、实验目的 (1) 2、实验要求 (2) 三、课程设计具体实现 (2) 1、概要设计 (2) 1.1、设计思想 (2) 1.2、主模块实现 (2) 1.3、主函数流程图 (4) 2、详细设计 (5) 2.1、设计思想 (5) 2.2、具体模块实现: (5) 四、调试过程及运行结果 (10) 1、调试过程 (10) 2、实验结果 (11) 五、实验心得 (12) 六、参考资料 (13) 七、附录:源代码 (13)

一、概述 1、用C#实现该设计的方法 首先应该了解设计要求,然后按照功能设计出实际模块,每个模块都要完成特定的功能,要实现模块间的高内聚,低耦合。设计模块是一个相当重要的环节,模块的数量不宜太多,也不宜太少,要是每个模块都能比较简单的转换成流程图。模块设计完成后,就该给每个模块绘制流程图。流程图要尽可能的简单且容易理解,多使用中文,补一些过长的代码,增加理解难度。此外,流程图应容易转换成代码。 根据流程图编写好代码后在WindowsXP操作系统,https://www.doczj.com/doc/f810053603.html,2008开发环境下进行运行测试,检查错误,最终设计出可行的程序。 2、贪吃蛇游戏说明 游戏操作要尽可能的简单,界面要尽可能的美观。 编写程序实现贪吃蛇游戏,贪吃蛇游戏是一个深受人们喜欢的游戏:一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被吃掉,这时蛇的身体长一节,同时计10分;接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁、障碍物或身体交叉(蛇头撞到自己的身体),则游戏结束。游戏结束时输出相应得分。 具体要求有以下几点: (1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理; (2)系统设计要实用,采用模块化程序设计方法,编程简练、可用,功能全面; (3)说明书、流程图要清楚; 二、实验目的及设计要求 1、实验目的 .NET课程设计是教学实践环节中一项重要内容,进行此课程设计旨在掌握基础知识的基础上,进一步加深对VC#.NET技术的理解和掌握; 提高和加强学生的计算机应用及软件开发能力,使学生具备初级程序员的基本素质; 培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应信息管理行业日新 1

《贪吃蛇游戏课程设计》报告资料整理

贪吃蛇游戏程序设计 一、课程设计任务 贪吃蛇小游戏程序设计 二、设计要求 通过游戏程序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合理的运用资料,实现理论与实际相结合。 (1).收集资料,分析课题,分解问题,形成总体设计思路; (2).对于设计中用到的关键函数,要学会通过查资料,弄懂其用法,要联系问题进行具体介绍; (3).上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能正常运行; (4).完成课程设计报告,并进行答辩 三、需求分析 3.1、程序功能 贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。

3.2、设计思想 程序关键在于表示蛇的图形及蛇的移动。用一个小矩形快表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用俩节表示。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现与消失也是画矩形块和覆盖矩形块。为了便于理解,定义两个结构体:食物与蛇。

3.3、流程图

四、设计的具体实现 (1)函数定义 函数定义是对各个基础函数的定义,并且设置需要运用的信息,便于调用 #define N 200 #define M 200 #include"graphics.h" #include #include #include #include #include #include #include #define LEFT 97//A #define RIGHT 100//D #define DOWN 115//S #define UP 119//W #define Esc 0x011b int i,key; int score=0; int gamespeed=250;//游戏速度可根据实际情况自行调整 struct Food { int x;//食物的横坐标 int y;//食物的纵坐标 int yes;//判断是否要出现食物的变量 }food;//食物的结构体 struct Snake { int x[M]; int y[M]; int node;//蛇的节数 int direction;//蛇的移动方向 int life;//蛇的生命,0表示活着,1表示死亡 }snake; void Init();//图形驱动

软件综合课程设计任务书

软件综合课程设计任务书

————————————————————————————————作者: ————————————————————————————————日期: ?

软件综合课程设计任务书 一、课程设计的目的、要求 目的:软件综合课程设计是一个综合性的设计型实验教学环节,旨在使学生通过软件开发的实践训练,进一步掌握设计开发软件的方法与技术,学会数据的组织方法,提高软件开发的实际能力,培养创造性的工程设计能力和分析、解决问题的能力。 实现以下目标: 1.深化已学的理论知识,完成理论到实践的转化 通过软件开发的实践,进一步加深对软件工程方法和技术的了解,将所学的理论知识运用于开发实践中,并在实践中逐步掌握软件工具的使用。 2. 提高分析和解决实际问题的能力 课程设计不仅是一次软件工程实践的模拟训练,同时通过软件开发的实践,积累经验,提高分析问题和解决问题的能力; 3. 培养“开拓创新”能力 大力提倡和鼓励在开发过程中使用新方法、新技术,激励学生实践的积极性和创造性,开拓思路,设计新算法、新创意,培养创造性的工程设计能力; 要求:学生组成开发小组(2~4人),以小组为单位选择并完成一个规模适度的软件项目,在教师的指导下以软件设计为中心,独立完成从需求分析到软件测试的开发过程。 二、设计步骤安排 1.确定课题 由教师命题并给出各课题的具体需求,学生根据课题涉及的知识领域及自己对该领域的熟悉程度和对该课题的兴趣,选择课题,经教师调整审定后确定; 2. 需求分析 建立系统的分析模型,这是系统开发的重要阶段。主要工作是: 分析确定系统应具备的功能、性能,并从经济上、技术上进行可行性分析,建立“需求分析模型”确定开发计划。 3. 软件设计 具体工作是:对系统的分析模型进行修改、细化,进行系统的结构设计,用户界面设计,数据管理部件设计(若系统涉及到数据库,要对数据库结构进行设计) 4. 编码与测试 根据项目的应用领域及语言的特点,选择编程语言进行编码,要求给出程序的详细注释(包括模块名、模块功能、中间过程的功能及变量说明); 由开发小组进行除验收测试以外的测试工作(包括单元测试、组装测试与系统(确认)测试)。所有测试过程都要求采用综合测试策略,先进行静态分析,再进行动态测试。要求制定测试计划、记录测试过程与结果、保留测试用例、写出测试报告。 5. 验收测试 由教师组织验收测试的实施,内容包括:系统能否正确运行,实际系统与设计方案是否一致,是否实现了需求所确定的功能与性能,系统设计有无特色,算法有无创新,系统结构是否合理、新颖,系统界面是否友好、美观,操作是否简单,使用是否方便。6.总结和整理课程设计报告

Java课程设计小游戏

《高级语言程序设计》课程设计报告 1、程序设计说明书 【设计题目】 雷霆行动游戏程序 【问题描述】 雷霆行动是一款供大家休闲娱乐的小游戏,游戏通过鼠标控制我方飞机hero的移动,达到躲闪敌机的目的;利用鼠标键发射子弹和导弹,达到击毁敌机的目的,摧毁敌机有积分。此游戏为闯关积分类小游戏。 【软件功能】 1.按鼠标左键,游戏开始。 2.利用鼠标移动控制hero自由移动,闪躲敌方子弹。 3.利用鼠标左键发射子弹,实现打中敌方飞机的功能;利用鼠标右键释放导弹,实现摧毁大量敌 机的功能,击中一个敌方飞机积一分。 4.hero碰到对方子弹会消耗生命,消耗生命的多少,依据子弹的不同而不同。 5.一关之后会进入下一关。 6.游戏右上角红色的进度条表示hero的生命,当红色全部消失之后,游戏结束,显示死亡。 7.游戏结束后,可重新开始,同1。 【算法思想】 1.创建游戏主界面,确定窗口的坐标。 2.设计游戏开始界面显示信息及信息坐标。 3.设置游戏进行中的信息,hero的移动、释放子弹和导弹,达到击毁敌机的目的。 4.处理游戏进行中的子弹、大爆、爆炸、敌机消失和存在的条件。 5.设置进入下一关的条件。 6.设计游戏结束界面显示信息及信息坐标。 7.处理游戏重新开始满足的条件。 8.装载图像。 9.对游戏进行调试和改进,使这个游戏更加完善。 【类的设计】 本程序共有七个类: 1.MainPanel 属性:BBv为子弹数组,EEv为敌机数组,BOMBv为爆炸数组,EBv为敌机子弹数组,DBv 为大爆数组,E-num为敌机数量,E-max敌机最大数,E-vel为敌机速度,E-mov为敌机 横移几率,E-hit为敌机开火几率,Sum为击毁敌机数量,hero-hp为hero生命,back至 db-2均为图片,tracker为媒体跟踪器,y为背景滚动变量,seq为hero的动画变量,isfire 为hero开火,isblast为是否发爆,blastnum为大爆的数量,blastc为控制大爆,f、ff、s、 ss均为游戏界面上显示的信息; 方法:MainPanel(Game)构造方法,paint(Graphics)建立游戏开始界面如显示的文字,run()控制对象移动,BBmove(int,int)子弹的移动方法,DBmove(int,int)大爆的移动方法, mouseDragged(MouseEvent) 鼠标的拖拽用来保证hero不出界,mouseMoved(MouseEvent) 鼠标的移动用来控制hero移动,mousePressed(MouseEvent) 鼠标按键在组件上按下时调 用,重新开始游戏,mouseClicked(MouseEvent)鼠标按键在组件上单击(按下并释放) 时调用,释放子弹,mouseReleased(MouseEvent)鼠标按钮在组件上释放时调用, mouseEntered(MouseEvent)鼠标进入组件上调用,mouseExited(MouseEvent)鼠标离开组 件时调用;

游戏24点课程设计报告

游戏24点课程设计报告 一.题目: 分析类: 计算24点:任意输入4位数字,利用+,-,*,/四则运算使之得到结果 24。输出所有不同算法的计算表达式,可为运算优先级而使用括号。 二.问题分析: 1.全面性: 此问题要求输出结果为24的计算表达式,并且要求输出要全面,我考虑用for循环与递归实现遍历来保证输出的全面性,考虑到递归的‘一归到底',每一次完整递归都代表一种算法(详情见算法)。 2.输出的判定和四位数字的类型: 在输出的时候对最后结果等于24的判别,因为考虑到有除法,有可能中途结果可能会出现不能整除的情况与小数,所以输出的四个数都设为float型,且输出判定的时候用近似判定法,而不直接写让最后结果等于24(详情见算法)。 3.重复性: 如果用循环与递归保证了输出24的表达式的全面性,但不可避免的会出现重复,才开始我想在遍历与递归时,加一些限定条件来消除重复但是这样做不但会出错,还不能保证它的输出全面性。于是我想在输出的时候加限定条件,使重复的只输出一遍。 但是对于输入的那4位数字中如果有重复的话,程序结果还是会出现重复的,此问题尚未解决.(详情见算法)。 4.括号问题的处理: 对于括号问题,我规定对每一步的计算表达式,除了*之外,+,-,\都加上括号,即让程序按自己规定的方向执行,输出的括号只是让人能看懂,其实在运算时不起作用(详情见算法)。 5.输出: 输出方面我以为用了遍历所以在每一层遍历都把运算表达式存到一个较大的数组中,在输出的时候如果满足输出条件(在遍历时纪录每次递归的第一次运算的结果,第一次运算的运算符,第二次运算的结果,第二次运算的运算符和第三次运算的运算符),就直接把那个数组里的内容输出,遍历会直接去寻找表达式里的表达式(详情见算法)。 三.算法描述(源代码里有更详尽解释): 1.主要方法: 遍历与递归。 2.主要思路: 把输入的四个数放在一个数组n[4]中,然后任取其中任意两个(不能取同一个--既不能出现自己和自己运算的情况),然后用一个for和一个switch语句来实现这两个数的加减乘除运算,然后把运算的结果放到另一个数组b[4]中并记录此运算的表达式(放到一个大一点的数组tm[4][25]中),同时把其他两个没用到的数也放到该数组中,然后重复以上过程(用遍历实现),最后先判定是不是最后一层运算,是的话在判定最后结果是不是等于24,等于24的话就把那个纪录运算式的数组输出。然后考虑到不能出现重复的(例如:1*2*3*4和2*4*3*1等等)我在遍历的同时记录了第一次运算的结果,第一次运算的运算符,第二次运算的结果,第二次运算的运算符和第三次运算的运算符,对输出的时候做限定(例如:对运算符全*的只输出一遍等等)。在有一次输出后我还定义了另外两个数组用来分别保存上一次输出的第一次运算的结果,第一次运算的运算符,第二次运算的结果,第二次运算的运算符和第三次运算的运算符,来解决重复输出的问题,不过此种做法有可能导致输出的时候不全。(此问题尚未解决)即还不能同时保证全面性与不重复性。 3.主要函数与数组:

三子棋小游戏课程设计

三子棋小游戏课程设计 计算机学院计算机科学与技术专业《程序设计综合课程设计》报告 (2011/2012学年第一学期) 学生姓名: 学生班级: 学生学号: 指导教师: 2012年01月04日 三 子 棋 小 游 戏 目录 第一章程序设计的目的和要求 1 1.1课程设计的目的 ......1 1.2课程设计的要求 1 第二章课程设计任务内容 3 2.1课程设计题目 3 2.2课程设计介绍 3 第三章详细设计说明 ..4 3.1 流程逻 辑............................................................ .4 3.2 限制条 件 (5)

3.3 运行结 果 (5) 3.4 实验过 程 (8) 第四章实验总结及特色 11 4.1调试结果及截图 11 第五章课程设计心得及体会 13 附录? 参考文献 15 附录? 程序代码 16 第一章课程设计目的和要求 目的 通过此次课程设计,进一步加深对C++语言和运用的了解,将理论知识运用于开发的实践,并在实践中逐步掌握软件工具的使用。 巩固已经学习过的C++理论知识;进一步学习程序设计、程序调试的能力。 进一步学习面向对象编程的知识和程序调试的能力; 增强Visual C++编程环境的应用能力 掌握并且熟练应用《C++程序设计》中所学知识,并学会运用。 掌握函数功能的划分方法,并运用此方法解决问题。学会程序测试方案的制定,并且实现程序的测试。 通过此次实践,积累经验,提高分析和解决问题的能力。 第二节要求 课程设计需要从整体来考虑,在大的方向下来考虑小的模块,在继续分工。作到最小化,可执行化。

《c语言课程设计报告--小游戏“石头剪子布”》

《C语言课程设计》报告题目:石头剪子布 班级: 学号: 姓名: 指导教师: 成绩:

目录: 一、选题背景...................................................................................................................... - 2 - 二、设计思路...................................................................................................................... - 2 - 三、主要问题的解决方法及关键技术.............................................................................. - 3 - 四、程序流程图.................................................................................................................. - 3 - 五、源程序清单.................................................................................................................. - 6 - 六、程序运行结果.............................................................................................................. - 8 - 七、设计总结...................................................................................................................... - 9 - 八、教师评语.................................................................................................................... - 10 - 一、选题背景 通过一个学期的C语言课程的学习,《C语言程序设计》课程已结束,根据学校课程学习的安排,要进行一周的C语言实习,自己动手编写游戏和系统。根据老师布置的设计任务书,按照学委的安排,根据个人的能力及意愿,我选择了设计一格小游戏:石头剪子布。 实验准备:做游戏前,首先,自己详细看了《C语言程序设计》(教科书),理解了相关函数的用法和作用;另外,上网查询了很多相关资料,还有找了很多相关的游戏设计的代码,都详细的看了一遍,加深了对C语言以及相关内容进一步理解。根据实际情况设计出一款比较理想的小游戏。 设计题目的要求: ①游戏要设置开始,结束操作控制 ②游戏要有时间提示即相关结果的提示语 ③游戏要能自动判断输赢,并显示最终比赛结果 二、设计思路 系统功能模块图: 输入:计算机随机输入选择,用户输入选择,并将数据储存。 计算:根据计算机和用户的选择,计算大小,并判断输赢,计算用户的胜负率,并储存。 输出:根据用户的输入,将用户的游戏结果显示在屏幕上。

C++课程设计报告---21点纸牌游戏程序

#include #include #include #include #include #include class Game { public: Game() { win=0,lose=0,draw=0,playerturns=0,cputurns=0,money=100,bet=0; player=0,cpu=0; char answer1[]="123456"; strcpy(answer,answer1); char answer2[]="654321"; strcpy(daan,answer2); }; void rules();//显示规则 void BET(); //下注 void deal();//交易 void run(Game &);//进行异常处理 void hit1();//拿下一牌 void hit2();//确保庄家不会爆庄并且点数大于16 void print();//打印出最后结果 void results();//最后的胜利结果 void check();//检查是否爆庄 Game operator=(Game &d);//运算符重载 void replay(char &ans);//是否进行新一轮的游戏 void clean();//清屏 void wait(int); void pause(); int GetInt(int,int); int random(long,long); private: int playerturns,cputurns,money; int win,lose,draw,bet; float player,cpu; char answer[7]; char daan[7]; }; //--------------------------------------------------------------------------------------- void Game::wait(int milli) {

《数据库原理》课程设计任务书

课程设计任务书

《数据库原理》课程设计任务书 一、设计目的 通过本次课程设计,使同学们能够全面、深刻地掌握数据库系统的设计流程。根据在数据库原理课程中所学到的数据库理论知识,结合某个具体的实际需求,为开发出一个较为实用的应用系统提供数据库支持。 二、课程设计的要求 1、明确课设任务,复习与查阅相关资料。 2、可以根据老师给出的设计题目,在两周时间内完成其中某一个题目的从用户需求分析、数据库设计到上机编程、调试和应用等全过程的数据库系统设计。如果学生自拟题目,需经指导教师同意。 3、每位学生必须独立完成课程设计任务,不能抄袭,设计完成后,将所完成的工作交由老师检查;要求写出一份详细的设计报告。 4、按要求完成课设内容,课设报告要求文字和图工整、思路清楚、正确。 5、应用系统对数据库的使用,写出相应的T-SQL语句及数据库执行结果。 三、数据库课程设计报告主要内容 1、系统需求分析 (1)信息要求:指用户需要从数据库中获得信息的内容与性质。数据库中需要存储那些数据。 (2)处理要求:用户需要完成什么处理功能,对处理的响应时间有什么要求(给出功能模块图)。 (3)安全性和完整性要求。 2、概念结构设计 (1)逐一设计分E-R图,合并分E-R图,生成基本E-R图。 (2)若在合并中存在属性冲突、命名冲突以及结构冲突,给出解决方法,若存在不必要的冗余,则消除并给出设计方法。 (3)基本E-R图中要求标明主码、外码、联系类型。 3、逻辑结构设计 (1)给出由E-R得到的关系模型:并注明转换过程中应用的规则; (2)数据模型的优化; (3)分析这些模式对于应用环境是否合适,确定是否要对某些模式进行合并或分解; (4)用户模式设计; (5)在数据库中一般使用英文名字,在用户视图中则一般使用符合用户一贯的中文命名法; (6)对不同级别的用户定义不同的视图以保证系统的安全性。 4、数据库物理结构设计 以表格的形式列出各张表,包括字段名称、中文含义、数据类型、长度、完整性约束、索引定义、字段说明; 5、数据库实施 (1)使用T-SQL语句实现数据库表; (2)使用T-SQL语句创建必要索引; (3)使用T-SQL语句实现必要的数据库视图; (4)用T-SQL语句实现必要的存储过程及触发器。

计算机图形学课程设计——扫雷游戏程序设计

计算机图形学课程设计——扫雷游戏程序设计

《计算机图形学》课程设计报告 VC++扫雷游戏的程序设计 专业班级: 小组成员:

指导老师: 日期:2012年12月24日 1、需求分析 本课程设计实现类似于Windows XP操作系统自带的扫雷游戏。该设计以V isual C++ 6.0为开发环境, Windows 7/XP为程序运行平台。在程序设计中,把整个雷区看成一个二维数组,把雷方块定义为具有所在雷区二维数组的行和列、当前状态、方块属性、历史状态的结构体,采用了MFC机制解决问题的方法。整个游戏程序包括了布雷、扫雷过程和结果三个阶段,在处理鼠标响应事件中伴随着GDI绘图。程序通过调试运行,实现简单的设计目标,满足扫雷游戏初学者的需要。 通过本课程设计,以便更好的巩固计算机图形学相关知识,掌握课程设计基本的方法和技巧,同时增加同学之间的团队合作精神以及培养分析问题、解决问题的能力。 2.总体设计 2.1 功能概述 扫雷游戏的游戏界面如图1所示。在这个界面中,由众多面积均等的小方块所组成的区域称之为雷区,雷区的大小由用户设置的游戏等级决定。

图1 游戏开始时,系统会在雷区中随机布下若干个地雷。安放地雷的小方块称之为雷方块,其他的称之为非雷方块。部署完毕后,系统会在其他非雷方块中填充一些数字。某一个具体数字表示与其紧邻的8个方块 中有多少雷方块。玩家可以根据这些信息去判断是否可以鼠标点击方块, 并把认为是地雷的方块打上标识。当玩家将所有地雷找出后,其余的非雷方块区域都已打开,此时游戏结束。在游戏过程中,一旦错误地打开了雷方块则立即失败,游戏结束。 游戏规则总结: ●开始:按左键开始游戏,按按钮或菜单重新开始。 ●左键:按下时,是雷则结束,非雷则显示数字。 ●数字:代表此数字周围一圈八格中雷的个数。 ●右键:奇次按下表示雷,偶数按下表示对上次的否定。 ●结束:左键按到雷结束,找出全部雷结束。 在游戏开始后,雷区上方有两个计数器。右边的计数器显示用户扫

动画与游戏设计-课程设计报告

《动画与游戏开发》 课程报告 学号:111102020103 姓名:张慧 专业班级:11级计科本01班 日期:2013-12-9

电子信息工程学院 目录 一、课程内容及应用领域 1.1基于DirectX的粒子系统 (3) 1.1.1 粒子系统简介 (3) 1.1.2广告板技术 (3) 1.1.3粒子系统的基本原理 (3) 1.2粒子系统的应用领域 (3) 二、课程内容的难点、疑点 2.1课程要点 (4) 2.2课程难点 (4) 2.3课程疑点 (4) 三、实例开发 3.1实例题目及说明 (4) 3.2关键技术 (5) 3.2.1系统完成的四部曲 (5) 3.2.2星光粒子结构构成技术 (5) 3.2.3 MyPaint()绘图函数 (5) 3.3开发过程 (9) 3.3.1案例所需背景图 (10) 3.3.2程序部分代码 (10) 3.3.3运行结果截图 (15)

3.4总结..........................................................17四、谈谈自己对课程内容的掌握程度

一、课程内容及应用领域 1.课程内容:基于DirectX的粒子系统 相关内容简介: (1)粒子系统简介 粒子系统是三维图形编程领域中用于实现特殊效果的一种非常重要的技术.该技术是由Reeves于1983年首次提出来的.通过粒子系统可以使用非常简单的粒子来构造复杂的物体,它为模拟动态的不规则物体,提供了强有力的技术手段。一般情况下,粒子的几何特征十分简单,可以用一个像素或一个小的多边形来表示.如果给出了粒子中心点的坐标和粒子大小,不难计算出绘制粒子所需要的四个顶点的位置坐标. (2)广告板技术 由于通常使用平面图形而不是立体图形表示一个粒子,所以需要使用的粒子四边形始终面向观察者.这就要使用广告板技术.广告板技术的原理是,在渲染一个多边形时,首先根据观察方向构造一个旋转矩阵,利用该矩阵旋转多边形使其面向观察者,如果观察方向不断变化,就要不断旋转多边形. (3)粒子系统的基本原理 粒子通常都是一个带有纹理的四边形。我们通过这个使用了纹理映射的四边形,可以认为粒子实际上是一个很小的网格模型,只不过是纹理赋予了它特殊的外表罢了。绘制粒子就如果绘制多边形一样简单,因为一个粒子说白了就是一个可改变大小并映射了纹理的四边形罢了。 粒子系统由大量的粒子构成,粒子是一种微小的物体,每个粒子都具有一定的属性,如位置、大小以及纹理,可能还需要颜色、透明度、运动速度、加速度、生命期等属性。我们可以把粒子想象成颗粒状的物体,如雪花,雨滴,沙尘,烟雾等特殊的事物。又比如游戏中的

计算机控制技术课程设计任务书

计算机控制技术课程设计任务书 题目1:通用数字PID调节器设计 1、主要技术数据和设计要求 主要技术数据:8路模拟量输入:适配1~5V输入,量程自由设定;8路输出控制信号:1~5V标准电压输出;输入模拟量转换精度:0.1%;RS232串行通讯通口。 控制模型:数字PID控制算法;PID参数范围:比例带Kp:1-999.9%,积分时间Ti:1-9999秒(Ti=9999时积分切除),微分时间Td::0-9999秒(Td=0时微分切除)。 调节控制器使用51内核的单片机,完成对8路模拟信号的切换、信号变换、A/D转换;单片机对数据处理后(含数字滤波、数值变换),送到显示和通讯部分,并经PID运算处理后通过D/A转换器输出。经信号变换和信号分配后输出8路控制信号。设计中应充分考虑干扰问题。 2、设计步骤 一、总体方案设计、控制系统的建模和数字控制器设计 二、硬件的设计和实现 1. 选择计算机机型(采用51内核的单片机); 2. 设计支持计算机工作的外围电路(EPROM、RAM、I/O端口等); 3. 设计键盘、显示接口电路; 4. 设计8路模拟量输入输出通道; 5. 设计RS232串行通讯通口; *6. 其它相关电路的设计或方案(电源、通信等)。 三、软件设计 1. 分配系统资源,编写系统初始化和主程序模块; 2. 编写数字PID调节器软件模块; 3. 编写数字滤波程序; *4. 编写A/D、D/A转换器处理程序模块; *5. 其它程序模块(显示与键盘等处理程序)。 四、编写课程设计报告,绘制完整的系统电路图。

计算机控制技术课程设计任务书 题目2:双闭环直流电动机数字调速系统设计 1、主要技术数据和设计要求 主要技术数据:直流电动机(对象)的主要技术参数如下:直流电动机Ped=3kW,Ued=220v ,ned=1500r/min,电枢回路总电阻R=2.50欧姆,电动机回路电磁时间常数TL=0.017s,机电时间常数TM=0.076s,电势常数Ce=0.1352V/r·min),晶闸管装置放大倍数Ks=30,整流电路滞后时间Ts=0.0017s。 主要技术指标:速度调节范围0-1500r/min,速度控制精度0.1%(额定转速时),电流过载倍数为1.5倍。 主要要求:直流电动机的控制电源采用PWM控制方式,在其输入电压为0-5伏时可以输出0-264伏电压,为电机提供最大25安培输出电流。速度检测采用光电编码器,且假定其输出的A、B两相脉冲经光电隔离辨向后获得每转1024个脉冲的角度分辨率和方向信号。电流传感器采用霍尔电流传感器,其原副边电流比为1000:1,额定电流为50安培。采用双闭环(速度和电流环)控制方式。 2、设计步骤 一、总体方案设计、控制系统的建模和数字控制器设计 二、硬件的设计和实现 1. 选择计算机机型(采用51内核的单片机); 2. 设计支持计算机工作的外围电路(EPROM、RAM、I/O端口等); 3. 设计键盘、显示接口电路; 4. 设计输入输出通道(速度反馈、电流反馈电路、输出驱动电路等); *5.它相关电路的设计或方案(电源、通信等)。 三、软件设计 分配系统资源,编写系统初始化和主程序模块; 2. 编写数字调节器软件模块; 3. 编写A/D转换器处理程序模块; *4.编写输出控制程序模块; *5.其它程序模块(数字滤波、显示与键盘等处理程序)。 四、编写课程设计说明书,绘制完整的系统电路图。

unity3d游戏课程设计报告

游戏程序设计课程报告 课程: Unity3D课程设计题目:探索迷宫 班级: 学号: 姓名:

日期:2014.12 一、摘要 1 UNITY游戏是一种新型的IT引擎。我们研究主要内容是UNITY游戏设计方法。指以游戏客户端软件为信息交互窗口的旨在实现娱乐、休闲、交流和取得虚拟成就的具有可持续性的个体性单人游戏。 本报告主要讲述了这个小游戏的设计思路及初步使用Unity3D软件 的感受和总结。设计过程中,首先建立自己想要的模型,然后在此基础上进行需求迭代,详细设计时不断地修正和完善,经过测试阶段反复调试和验证,最终形成达到设计要求的小游戏。 基于UNITY基础,构建了一个益智游戏风格的游戏,并有主角与关卡、游戏逻辑、游戏环境界面等设计,使得玩家可以在场景中进行寻找神龛的冒险游戏。 本游戏的控制很简单,及用键盘的W ASD及SPACE五个控制人物的上下左右跳跃五个方向,用户根据自己的战略方式选择寻找油桶点亮煤油灯然后寻找神龛。

二、概述 《UNITY游戏程序设计》这一课程以大作业形式进行考核,能更好地锻炼学生综合运用本课程所授知识的能力。大作业主要内容为设计完成面向某一主题内容的游戏演示程序。 自选游戏主题,并根据所选定的主题内容设计一个典型的游戏场景及玩家逻辑,其中包含主角与关卡,游戏逻辑,游戏环境界面与交2 互过程等的设计;开发完成与设计相符的游戏Demo。 要求使用Unity3D游戏开发软件实现上述游戏Demo。 三、具体要求 1、每人单独完成,特殊可由多人合作完成。 2、游戏主题自拟。 3、根据所设游戏主题、场景及玩家逻辑,实现完成相应的游戏Demo,并撰写设计开发报告。 四、设计主题 基于视频教程“平衡球”的基础,构建了一个益智游戏风格的游戏,并有主角与关卡(一关)、游戏逻辑(触碰油桶、神龛)、游戏环境界面(通道)等设计,使得玩家可以在场景轨道中进行吃油桶、神龛的冒险游戏。 五、设计思路 本游戏以几个环环相扣的通道作为人物运动的轨迹,在通道上分

猜数字游戏课程设计报告

XXXX学校 《C程序设计》 课程设计报告 设计题目:猜数字游戏 附录完整源代码 专业: 班级: 学生: 学号: 指导教师: 起止时间: xxx.x.x -xxx.x.x xxxx-xxxx年 xx 学期

目录 1 、程序设计描述 1.1 程序设计目的: 1.2 程序设计要求: 1.3、猜数字游戏的简介: 2 、程序设计内容: 2.1、游戏主要框架图: 2.2、开始游戏框架: 2.3、最佳排行框架: 2.4、游戏操作说明模块: 2.5、退出游戏系统: 2.6、游戏系统总流程图: 3、猜数字游戏源代码: 3.1、void main()函数函数功能: 3.2、void game();//双人游戏 void pgame();//单人游戏 3.4、排行榜模块函数功能: 3.5、继续游戏模块函数功能: 3.6、操作说明模块函数功能: 4、调试与测试: 4.1、调试方法 4.2、测试结果的分析与讨论 4.3、测试过程中遇到的主要问题及采取的解决措施 5、程序具体说明书: 6、程序设计心得: 7、参考文献

1 、程序设计描述 1.1 程序设计目的: 综合使用所学过的C语言程序设计知识,掌握结构化程序设计的基本思路和方法,利用所学的基本知识和技能,发挥自学能力和查找资料的能力,解决稍微复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。 1.2 程序设计要求: 1、巩固和加强《C语言程序设计》课程的理论知识。 2、掌握C语言的基本概念、语法、语义和数据类型的使用特点。 3、掌握C语言程序设计的方法及编程技巧,能正确使用C语言编写程序。 4、进一步理解和运用结构化程设计的思想和方法;学会利用流程图。 5、掌握调试程序的基本方法及上机操作方法。 6、掌握书写程设计开发文档的能力,学会撰写课程设计总结报告。课程设计的思想和方法还可以作为做毕业论文时的参考资料。 7、通过查阅手册和文献资料,培养独立分析问题和解决问题的能力。为做毕业设计打好基础。 8、培养自己的创新能力和创新思维。可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。 9、培养自己良好的程序设计风格。在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。在课程设计书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。 1.3、猜数字游戏的简介: 猜数字游戏(又称 Bulls and Cows )是一种大概于20世纪中期兴起于的益智类小游戏。一般由两个人玩,也可以由一个人和电脑玩,在纸上、在网上都可以玩。这种游戏规则简单,但可以考验人的严谨和耐心。 2 、程序设计内容: 2.1、游戏主要框架图: 该模块为玩家提供猜数字游戏的主体功能,即开始游戏、继续游戏、最佳排行、操作说明、退出游戏。给用户一个清晰明了的操作界面!流程图如下:

《计算机多媒体技术》课程设计任务书

《计算机多媒体技术》课程设计任务书 专业: 班级: 姓名: 学号: 指导教师: 年月日

2012/2013学年第二学期 《计算机多媒体技术》课程设计任务书 班级:计算机101-102 设计时间:2013.7.1 –2013.7.5一、课程设计目的及基本要求 《计算机多媒体技术》课程设计是在学习完多媒体技术基础、微机原理、数据库基础、平面动画实用技术、计算机网络基础、图像处理实用技术等基础课程的前提下,并能够熟悉三维动画实用技术、网页设计制作、多媒体设计与创作、影视制作程序、多媒体制作工具使用等对计算机专业学生进行的专项实践训练。通过本次设计使学生具备较强的计算机操作技能,能一定程度上了解并实现计算机多媒体软件设计和开发、交互式多媒体作品的设计与制作。使学生具备熟练的进行动画设计与制作、平面广告设计、交互式多媒体作品设计与制作的能力。最终使学生具备一定的从事电子出版、教育软件开发、商业简报制作、平面广告设计及其它多媒体应用领域的媒体集成与系统设计工作的基础能力。通过本次设计,加深对计算机多媒体技术课程中的基本知识的理解,为进一步深入学习多媒体相关专业知识打好基础。 二、主要实践环境 操作系统为Windows 2000 或者 Windows XP。 文字处理:记事本、写字板、Word、WPS 图形图像处理:PhotoShop、CorelDraw、Freehand 动画制作:AutoDesk Animator Pro、3DS MAX、Maya、Flash 声音处理:Ulead Media Studio、Sound Forge、Audition(Cool Edit)、Wave Edit、Virtual DJ 视频处理:Ulead Video Studio、Adobe Premiere、After Effects 三、课程设计的计划安排及主要内容 第一天:练习使用文字处理软件word或者WPS,其他软件课后自行练习。使用Word进行长篇文档的处理。将文档范文.doc的格式设置为要求的样式。 第二天:练习使用图形处理软件PhotoShop,其他软件课后自行练习。使用PhotoShop进行图片处理,实现个人二寸证件照片的制作。 第三天:练习使用动画处理软件Flash或者3DMax,其他软件课后自行练习。要

相关主题
文本预览
相关文档 最新文档