文档库 最新最全的文档下载
当前位置:文档库 › 《高级语言程序设计》课程设计报告

《高级语言程序设计》课程设计报告

《高级语言程序设计》课程设计报告
《高级语言程序设计》课程设计报告

1308020248 2013-2014学年第二学期

学号

《高级语言程序设计》

课程设计报告

题目:班级档案管理系统

专业:网络工程

班级:二

姓名:朱和芳

指导教师:孙妍姑

成绩:

计算机与信息工程系

2014年5月11日

班级档案管理系统

设计总说明

一、设计目的

运用计算机语言设计班级档案管理,通过此次课程设计,加深对此课程基本知识的理解,提高综合运用知识的能力;掌握本课程的主要内容、课程设计或撰写小论文的步骤和方法;以提高独立分析问题、解决问题的能力,逐步增强实际工程训练。

二、设计内容

对一个有N个学生的班级,通过该系统实现对该班级学生基本信息进行录入、显示、修改、删除、保存等操作的管理。

三、设计方法

结合 C 语言的有关知识,查阅资料,对班级档案管理系统的内容进行构思和设计,在Microsoft Visual C++6.0 平台上完成设计,并进行调试。

目录

第一章绪论 (5)

第二章需求分析

2.1问题描述 (6)

2.2功能要求 (6)

2.3算法提示 (6)

2.4项目开发的目的 (7)

第三章概要设计

3.1程序模块的组成 (8)

3.2班级档案管理系统 (8)

3.3各个程序的功能介绍 (9)

3.4系统结构图 (9)

第四章模块设计分析

4.1程序的模块组成 (10)

4.2各个函数的主要功能 (10)

4.3系统的功能模块的划分 (10)

第七章 总结 ........... 17 附录

A

参考文献 ............... 18 B 源程代码 ............... 204.4 总流程图 .... 4.5 功能流程图 .. 第五章 测试 5.1 存在的问题 .. . 5.2 测试方案 .... 第六章 12 ..13 ... 14 ... 14 (15)

第一章绪论

班级档案管理系统有六种功能,把这六种功能做成六个子函数。在主函数中设计一个菜单对这六个子函数进行管理,来实现对整个系统的操作。根据课题的要求,每个数据的结构应当包括:学号( char )、姓名( char )、性别( char )、年龄( int )、备注( char )。对一个有 N 个学生的班级,通过该系统实现对该班级学生的基本信息的录入、显示、修改、删除、保存等操作的管理。最后为了以后按照处理后的顺序保存到文件中。

第二章需求分析

2.1 问题描述:

对一个有 N 个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。

2.2功能要求:

1、本系统采用一个包含 N 个数据的结构体数组,每个数据的结构应当包括:姓

名、学号、性别、年龄、备注。

2、本系统显示这样的菜单:

请选择系统功能项:

A 、学生基本信息录入

B 、学生基本信息显示

C 、学生基本信息保存

D 、学生基本信息删除

E 、学生基本信息修改

F 、学生基本信息查询

(1)按学号查询

(2)按姓名查询

(3)按性别查询

(4)按年龄查询

G 、退出系统

3、执行一个具体的功能之后,程序将重新显示菜单。

4、将学生基本信息保存到文件中。

2.3算法提示

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

辽宁科技大学课程设计说明书 设计题目:基于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.wendangku.net/doc/8f10151670.html,2008开发环境下进行运行测试,检查错误,最终设计出可行的程序。 2、贪吃蛇游戏说明 游戏操作要尽可能的简单,界面要尽可能的美观。 编写程序实现贪吃蛇游戏,贪吃蛇游戏是一个深受人们喜欢的游戏:一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被吃掉,这时蛇的身体长一节,同时计10分;接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁、障碍物或身体交叉(蛇头撞到自己的身体),则游戏结束。游戏结束时输出相应得分。 具体要求有以下几点: (1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理; (2)系统设计要实用,采用模块化程序设计方法,编程简练、可用,功能全面; (3)说明书、流程图要清楚; 二、实验目的及设计要求 1、实验目的 .NET课程设计是教学实践环节中一项重要内容,进行此课程设计旨在掌握基础知识的基础上,进一步加深对VC#.NET技术的理解和掌握; 提高和加强学生的计算机应用及软件开发能力,使学生具备初级程序员的基本素质; 培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应信息管理行业日新 1

网络协议分析实验报告

实 验 报 告 课程名称 计算机网络 实验名称 网络协议分析 系别 专业班级 指导教师 学号 姓名 实验日期 实验成绩 一、实验目的 掌握常用的抓包软件,了解ARP 、ICMP 、IP 、TCP 、UDP 协议的结构。 二、实验环境 1.虚拟机(VMWare 或Microsoft Virtual PC )、Windows 2003 Server 。 2.实验室局域网,WindowsXP 三、实验学时 2学时,必做实验。 四、实验内容 注意:若是实验环境1,则配置客户机A 的IP 地址:192.168.11.X/24,X 为学生座号;另一台客户机B 的IP 地址:192.168.11.(X+100)。在客户机A 上安装EtherPeek (或者sniffer pro )协议分析软件。若是实验环境2则根据当前主机A 的地址,找一台当前在线主机B 完成。 1、从客户机A ping 客户机B ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析ARP 协议; 2、从客户机A ping 客户机B ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析icmp 协议和ip 协议; 3、客户机A 上访问 https://www.wendangku.net/doc/8f10151670.html, ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析TCP 和UDP 协议; 五、实验步骤和截图(并填表) 1、分析arp 协议,填写下表 客户机B 客户机A

2、分析icmp协议和ip协议,分别填写下表 表一:ICMP报文分析

3、分析TCP和UDP 协议,分别填写下表

游戏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.主要函数与数组:

《高级语言程序设计》复习题及答案

一、选择题 1.以下叙述正确的是( ): A)在C程序中,main函数必须位于程序的最前面 B) C程序的每行只能写一条语句 C) C语言使用库函数实现输入输出操作 D)注释中的拼写错误会影响编译结果 2、以下说法中正确的是() A) C语言程序总是从第一个的函数开始执行 B) C语言程序总是从main()函数开始执行 C)在C语言程序中,要调用的函数必须在main()函数中定义 D)C语言程序中的main()函数必须放在程序的开始部分 3、下列选项种说法正确的是( ) A)函数由声明部分和执行部分两部分组成 B)语言中main函数一定在程序的开始部分 C)C语言程序总是从第一个定义的函数开始执行 D)C程序的每行中只能写一条语句 4、设有说明:int a;float b; char c; double d; 则表达式1.3*a+2*b*c+d*(int) 2.6 值的类型为( )。 A)doubleB) char C) floatD) int 5、C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符 6、以下不正确的C语言标识符是( )。 A) ABC B) abc C)a_bc D) void 7、下列运算符中优先级最高的是( ) A)< B)+ C)&& D)!= 8、以下选项中属于C语言中合法关键字的是( ) A)Float B)abc C)int D)CASE 9、若x、i、j和k都是int型变量,计算下面表达式后,x的值为( ) x=(i=4,j=16,k=32) A)4 B)16 C)32 D)52 10、在C语言中,要求数据必须是整型的运算符是( ) A)/ B)+ + C)!=D) % 11、若整型变量x的值为8,则下列表达式中值为1的表达式是 A)x+=x-=x B) x%=x-1 C) x%=x%=3 D) x/=x+x 12、若w=1,x=2,y=3,z=4,则条件表达式“w > x? w : y< z ? y : z”的值是( ) A)4 B)3 C)2 D)1 13、有以下程序,程序运行后的输出结果是。 main() {inti=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k); }

网络协议分析与仿真课程设计预习报告

编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载 网络协议分析与仿真课程设计预习报告 甲方:___________________ 乙方:___________________ 日期:___________________

(计算机学院) 网络协议分析与仿真课程设计 预习报告 专业名称:__________ 网络工程_________________ 班级:_______________________________________ 学生姓名:____________________________________ 学号(8位): ________________________________ 指导教师:____________________________________ 设计起止时间:2013年12月2日一2013年12月13日

题目一网络流量分析 一、课程设计目的 里加深对IP、DNS、TCR UDP、HTTP等协议的理解; 里掌握流量分析工具的使用,学习基本的流量分析方法。 二、课程设计地点及时间 二号实验楼442网络实验室,12月2日至12月6日,每天8: 00-14: 00 三、课程设计实验条件 工具:Wireshark (Windows 或Linux), tcpdump (Linux) 要求:使用过滤器捕获特定分组;用脚本分析大量流量数据(建议用perl)。 内容:Web流量分析 四、课程设计原理 1、DNS域名解析:首先,客户端的应用层会封装数据到达传输层,在传输层标识源端口号 与目的端口号(源端口号为大于1023随机,目的端口号为UDP5狒口)及应用层服务(这 里因该是请求DN硒询服务吧)。传输层封装数据产生数据段传给网络层,在网络层标识源IP地址及目的IP地址(源IP地址为客户端IP ,目的IP地址为DNS服务器IP地址),网络层将数据段封装为数据包传给数据链路层,在数据链路层将会在数据包里加入源MACM址及目的MA砸址(源MACM址为客户端网卡MA弛址,目的MAC%址为DNS服务器MACM址),这里应该查询MA或存。数据链路层根据客户端与DNS服务器之间的链路,将数据包封装成 帧,传给物理层。物理层会将数据帧转化为电信号放到物理介质上。 电信号到达DNS服务器后会从物理层到达应用层(这里和客户端发送数据差不多,只不过这 个过程变成了解封装),DNS服务器做完域名解析后再将数据传给客户端,传输过程同客户端发送数据。 2、建立TCP/IP连接:客户端知道WE囹艮务器IP地址之后,在网络层产生建立TCP/IP三次握手的数据包(TCP/IP三次握手:客户端向服务器端发送SYN信息,服务器端收到SYN信 息后回复给客户端SYN+AC褊认信息,客户端收到确认信息后再向服务器发送ACK信息建立 连接),应用层标识HTTP服务将数据发送到传输层,传输层将数据+源端口号(大于1023)、目的端口号(80)+上层服务WW如装为数据段传给网路层。网络层将数据段+源ip与目的 ip (WW服务器的ip地址)封装为数据包发送到数据链路层。数据链路层参照ARP缓存表确定源MAC%址(本机MACM址)及目的MACM址(客户端与路由B相连端口的MACM址)将数据包封装成数据帧。这里还需要CR破验。。。。。。数据帧到达物理层后变成电信号发送 到介质上(这里还需要访问控制方法DSMA/CD 路由B收到电信号后传给路由器的数据链路层,这里还需要CRC,FC眼验。。。…确定数据 帧没有损坏后查看目的MACM址与路由器端口地址是否相同,如果相同将解封装,将数据包 发送到路由器B的物理层,路由器查看路由表确定数据包的转发端口,路由器B确定与路由 A之间的链路,创建帧。 路由B与路由A可以看成是点对点,即路由B将创建PPP帧。路由A收到电信号后,确定帧的完整性,如果完整即将数据帧解封装发送到网络层,路由A查询路由表将数据包转发到与WEBf连的路由端口。 路由A的数据链路层将查询ARP缓存表确定WW服务器的MACM址,路由A将创建源MAC 地址

《高级语言程序设计》答案

1. 输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。#include int main() { int i,j,t; int max(int,int); int min(int,int); scanf("%d%d",&i,&j); if(i int main() { int max4(int,int,int,int); //对max4的函数声明 int a,b,c,d; scanf("%d%d%d%d",&a,&b,&c,&d); //输入4个数 printf("max=%d\n",max4(a,b,c,d));//调用4个数中的最大者 return 0; } int max4(int a,int b,int c,int d) //定义max4函数 { int max2(int,int); //对max2的函数声明 return max2(max2(max2(a,b),c),d); //调用max2把作为函数值带回main函数} int max2(int a,int b) { return(a>b?a:b); //返回条件表达式的值,即a和b中的大者 } 3. 用递归调用的方法求5!。 #include int main() { int fac(int); int n; scanf("%d",&n);

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

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

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

网络协议实践课程设计报告-

成都信息工程学院网络工程系 《网络协议实践》 课程设计报告 签名:

目录 第一章 TCP和ARP协议基础............................................................................... 错误!未定义书签。 1.1什么是TCP协议........................................ 错误!未定义书签。 1.2TCP报文类型与格式 .................................... 错误!未定义书签。 1.3什么是ARP协议........................................ 错误!未定义书签。 1.4ARP报文类型和结构 .................................... 错误!未定义书签。第二章抓包验证TCP协议和ARP协议.............................................................. 错误!未定义书签。 2.1实验环境.............................................. 错误!未定义书签。 2.2实验步骤与抓包结果分析................................ 错误!未定义书签。 2.3实验结论.............................................. 错误!未定义书签。第三章 OSPF路由协议验证分析.. (3) 3.1实验环境及工具介绍 (9) 3.2实验步骤及抓包结果分析 (10) 3.3实验结论--OSPF运行过程说明 (12) 3.4实验心得体会 (12)

算24点小游戏

研究生课程论文 课程名称C++面向对象程序设计 授课学期2013 学年至2014 学年 第一学期 学院电子工程学院 专业电子与通信 学号 姓名 任课教师 专题算24点小游戏 交稿日期2014年01月10日 成绩 阅读教师签名 日期 广西师范大学研究生学院

目录 1 引言 (2) 1.1 设计任务与要求 (2) 1.2 设计目的 (2) 1.3 C++面向对象语言简介 (2) 2 C++课程设计原理及方案选择 (3) 2.1 概述 (3) 2.1.1 方案设计与论证 (3) 2.2 二十四点游戏的原理 (4) 2.2.1 主函数设计 (4) 2.2.2 子函数的设计 (4) 2.2.3 类体的设计 (5) 3 程序流程及演示 (6) 3.1 程序流程图,程序清单与调用关系 (6) 3.2 程序 (7) 3.3 运行结果 (9) 4 结论 (10)

1引言 随着网络技术的发展,小游戏在网络发展如火如荼。二十四点小游戏是一个不仅能放松认得神经而且益智的趣味小游戏。对于21世纪的今天,作为一个社会工作者来说,面对日益剧烈的竞争,工作压力都是很大的,为了释放压力就需要一个很好的减压平台,那么网络上的小游戏首当其冲,24点小游戏受到了欢迎。 1.1设计任务与要求 题目要求在输入4个数后,程序对这个4个数进行运算,若能计算出结果等于24,即输出运算过程。目标是在输入四个数之后,先进行全排列,然后进行全运算,从而最终得到结果以输出。 1.2设计目的 本次设计的目的就是在掌握c++编程语言和visual c++编译软件的基础上。完成一个算24的小游戏程序设计,在系统提示下输入4个数后,程序对这4个数进行运算,若能计算出结果等于24,即输出运算过程。程序设计目标很明确,在输入4个数之后,先进行全排列,然后进行全运算,重而得到最终结果输出。 1.3C++面向对象语言简介 C++是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。其编译器比目前其他计算机语言的编译技术更复杂。类是C++中十分重要的概念,它是实现面向对象程序设计的基础。类是所有面向对象的语言的共同特征,所有面向对象的语言都提供了这种类型。一个有一定规模的C++程序是由许多类所构成的。 C++支持面向过程的程序设计,也支持基于对象的程序设计,又支持面向对象的程序设计。以后我们将介绍基于对象的程序设计。包括类和对象的概念、类的机制和声明、类对象的定义与使用等。这是面向对象的程序设计的基础。基于对象就是基于类。与面向过程的程

网络协议分析与仿真

****** 网络协议分析与仿真 课程设计报告书 院系名称:计算机学院实验内容:网络流量分析学生姓名:*** 专业名称:网络工程班级:**** 学号:********* 时间:20**年**月**日

网络协议分析与仿真课程设计报告 网络流量分析 一、课程设计目的 加深对IP、DSN 、TCP、UDP、HTTP等协议的理解; 掌握流量分析工具的使用,学习基本的流量分析方法。 二、课程设计内容 流量分析 工具:Wireshark(Windows或Linux),tcpdump(Linux) 要求:使用过滤器捕获特定分组;用脚本分析大量流量数据(建议用perl)。 内容:Web流量分析 清除本机DNS缓存,访问某一网站主页,捕获访问过程中的所有分组,分析并回答下列问题(以下除1、3、8、11外,要求配合截图回答): (1)简述访问web页面的过程。 (2)找出DNS解析请求、应答相关分组,传输层使用了何种协议,端口号是多少? 所请求域名的IP地址是什么? (3)统计访问该页面共有多少请求IP分组,多少响应IP分组?(提示:用脚本编程实现) (4)找到TCP连接建立的三次握手过程,并结合数据,绘出TCP连接建立的完整过程,注明每个TCP报文段的序号、确认号、以及SYN\ACK的设置。 (5)针对(4)中的TCP连接,该TCP连接的四元组是什么?双方协商的起始序号是什么?TCP连接建立的过程中,第三次握手是否带有数据?是否消耗了一个 序号? (6)找到TCP连接的释放过程,绘出TCP连接释放的完整过程,注明每个TCP报文段的序号、确认号、以及FIN\ACK的设置。 (7)针对(6)中的TCP连接释放,请问释放请求由服务器还是客户发起?FIN报文段是否携带数据,是否消耗一个序号?FIN报文段的序号是什么?为什么是 这个值? (8)在该TCP连接的数据传输过程中,找出每一个ACK报文段与相应数据报文段的对应关系,计算这些数据报文段的往返时延RTT(即RTT样本值)。根据课本 200页5.6.2节内容,给每一个数据报文段估算超时时间RTO。(提示:用脚本 编程实现) (9)分别找出一个HTTP请求和响应分组,分析其报文格式。参照课本243页图6-12,在截图中标明各个字段。

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

《动画与游戏开发》 课程报告 学号: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)粒子系统的基本原理 粒子通常都是一个带有纹理的四边形。我们通过这个使用了纹理映射的四边形,可以认为粒子实际上是一个很小的网格模型,只不过是纹理赋予了它特殊的外表罢了。绘制粒子就如果绘制多边形一样简单,因为一个粒子说白了就是一个可改变大小并映射了纹理的四边形罢了。 粒子系统由大量的粒子构成,粒子是一种微小的物体,每个粒子都具有一定的属性,如位置、大小以及纹理,可能还需要颜色、透明度、运动速度、加速度、生命期等属性。我们可以把粒子想象成颗粒状的物体,如雪花,雨滴,沙尘,烟雾等特殊的事物。又比如游戏中的

网络协议实验报告

实验一: unsigned short checkSum(char*pBuffer,int nLen) { unsigned short nWord; unsigned int nSum=0; int i; for(i=0;i>16) { nSum=(nSum&0xFFFF)+(nSum>>16); } nSum=~nSum; return((unsigned short)nSum); } int timeout=1000; setsockopt(sock_raw,SOL_SOCKET,SO_RCVTIMEO,(char*)&timeout,sizeof(timeout)); setsockopt(sock_raw,SOL_SOCKET,SO_SNDTIMEO,(char*)&timeout,sizeof(timeout)); ICMPheader*pIcmpHeader=(ICMPheader*)sendBuffer; pIcmpHeader->byType=8; pIcmpHeader->byCode=0; pIcmpHeader->nId=(USHORT)::GetCurrentProcessId(); pIcmpHeader->nChecksum=0; pIcmpHeader->nSequence=htons(nSeq++); memset(sendBuffer+sizeof(ICMPheader),'*',32); pIcmpHeader->nChecksum=htons(checkSum(sendBuffer, sizeof(ICMPheader)+32)); int nRet=sendto(sock_raw,sendBuffer,sizeof(ICMPheader)+32,0, (SOCKADDR*)&dest_addr,sizeof(SOCKADDR_IN)); IPheader*ipHdr=(IPheader*)recvBuffer; ICMPheader*icmpHdrRet=(ICMPheader*)(recvBuffer+sizeof(IPheader)); if(icmpHdrRet->byCode==0&& icmpHdrRet->nId==pIcmpHeader->nId&& icmpHdrRet->nSequence==pIcmpHeader->nSequence) { nPacketReceived++; unsigned long dwRecvTime=::GetTickCount(); int nRoundTime=dwRecvTime-dwSendTime; nTotalRoundTime+=nRoundTime;

计算24点游戏c++

24点游戏软件的开发 1 概述 1.1 课程设计目的 a、巩固并加深学生对C++语言程序设计知识的理解; b、培养学生面向对象的程序设计思想,使学生认识面向过程和面向对象两种设计方法的区别; c、进一步掌握和应用VC++ 6.0集成开发环境; d、提高运用C++语言解决实际问题的能力; e、初步掌握开发小型实用软件的基本方法,能独立设计、实现基本的MIS系统; f、掌握书写程序设计开发文档的能力(书写课程设计实验报告)。 1.2 课程设计内容 课题名称:24点游戏软件的开发 说明:24点游戏是一种常见的纸牌游戏说明 要求: a)实现随机发牌; b)能进行结果验算; c)计分; d)难度设置。 2 系统需求分析 2.1 系统目标 24点游戏是个流行的数学运算游戏。本次课程设计通过24点游戏来加深我们对对话框编程的认识和理解,并介绍Visual C++在数学计算方面的应用,以及在按钮上设置位图和设置计时器的方法。 24点扑克游戏的规则是:由系统发出4张扑克牌,要求用户利用扑克牌上显示的数字(JQKA算10),通过加减乘除运算得出24。 2.2 主体功能 a.对游戏设计三个难易级别,分别为低级、中级和高级。每次开始游戏前可以根据玩家的需要进行难度设置,如若不设置,系统默认难度级别为中级,设置完难度级别之后就可以开始游戏了,单击“发牌”按钮,桌面上出现四张翻开的扑克牌,与此同时,游戏开始计时,进度条开始前进。 b.在规定的时间内,玩家可以在“输入算式”的编辑框中输入自己想好的算式,然后点击“验算”按钮:如果输入的算式经运算后所的答案正确,则会在编辑框中

显示“正确!”;如果输入的数字与给出的牌的数字不符或者符号不合法,则会弹出“内部错误!”的窗口;如果输入的数字与四张牌相符、字符亦合法但是答案不正确,则会在编辑框中显示“错误”;如果未输入任何的数字和算符,则会弹出“内部错误!”的窗口。 c.如果在规定的时间内,玩家没有点击验算按钮,则会弹出“内部错误”的窗口。 d.在结束本轮游戏后,如果玩家想继续游戏,则可点击“发牌”按钮即可重新发牌,开始下一轮的游戏;如果玩家想结束游戏,则可点击“结束”按钮即可结束游戏。 2.3 开发环境 Microsoft Visual C++ 6.0 3 系统概要设计 3.1 系统功能模块划分 a.建立一个随机产生扑克牌的模块。由程序随机产生4张扑克牌,每张牌对应一个整数。 b.计时的模块。定义一个计时器,以便对使用时间进行计数。 c.计算表达式的模块。主要是通过函数来确定运算式各符号优先级和最终计算出输入算式的结果。 d.验算表达式正误的模块。在规定的时间内输入算式进行验算,根据不同的情况会出现不同的对话框。

实验八协议分析器程序的设计和实现

实验八协议分析器程序的设计和实现 1.实验目的: (1)掌握对网络上传输数据包的捕获方法。 (2)解析Ethernet网数据帧头部的全部信息。 (3)解析IP、ICMP数据包 (4) 解析传输层和应用层相关协议的头部信息 (5)设置过滤规则,能过滤相应协议的数据包。 (6)要求有良好的编程规范与注释信息,要求有详细的说明文档,包括程序的设计思想、活动图、关键问题以及解决方法。 2实验环境: (1)VC6.0 (2)局域网能连接Internet。 3.程序设计的关键问题以及解决方法有哪些? 当应用程序通过IP网络传送数据时,数据被送入TCP/IP协议栈中,然后从上至下逐一通过每一层,直到最后被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息,这个过程被称作封装。通过以太网传输的比特流称作帧。在传输的另一端,当目的主机收到一个以太网数据帧时,数据就开始从协议栈由底向上逐层解析,去掉各层协议所加上的报文头部。每层协议均要检查报文头部中的协议标识字段,以确定要接收数据的上层协议,最终从报文中解析出应用层数据后交给应用程序处理。 本次要编写的协议分析器,就是从网络中捕获数据包并对其进行解析的过程。因此,我们需要了解每层协议所规定的报文格式,然后由底向上逐层对数据包进行解码,最后将分析的结果显示出来。 4.描述程序设计过程,并画出程序活动图。 协议分析器总体结构: 协议分析器的整体结构按功能应分为三个部分,自底向上分别是数据捕获模块、协议解析模块和用户显示模块。

数据包捕获流程: 捕获数据包的算法一般分为以下几步: (1)获取并列出当前网络设备列表。 (2)由用户选择并打开指定网卡。 (3)根据过滤规则设置过滤器。 捕获数据包并进行解析处理: 协议解析模块: 对捕获的数据包按照数据链路层(MAC)、网络层(IP、ARP/RARP)、传输层(TCP、UDP、ICMP)和应用层(HTTP等)的层次结构自底向上进行解析,最后将解析结果显示输出。

unity3d游戏课程设计报告

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

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

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

网络协议课程设计报告

目录 1.课程设计目的 ---------------------------------------------------- 2 2.课程设计要求 ---------------------------------------------------- 2 3.课程设计题目分析 ------------------------------------------------ 2 3.1 网卡设置 -------------------------------------------------- 2 3.2 程序设计 -------------------------------------------------- 3 3.2.1 使用原始套接字------------------------------------------ 3 3.2.2 接收数据包---------------------------------------------- 4 3.2.3 定义IP头部的数据结构---------------------------------- 4 3.2.4 IP包的解析 --------------------------------------------- 5 4.解析IP数据包设计相关知识 -------------------------------------- 5 5.程序流程图------------------------------------------------------- 6 6.程序设计--------------------------------------------------------- 7 6.1 协议的定义 ------------------------------------------------ 7 6.2捕获处理--------------------------------------------------- 7 6.3 运行界面 -------------------------------------------------- 8 7.实验结果--------------------------------------------------------- 9 8.自我评析和总结 -------------------------------------------------- 9 8.1 实训心得-------------------------------------------------- 9 8.2 实训日记-------------------------------------------------- 9 9.主要参考资料 -------------------------------------------------- 10 [2]《网络协议分析》寇晓蕤罗俊勇编著机械工业出版社--------- 10 [3]《C语言程序设计》张建伟李秀琴主编科学出版社--------- 10 [4]《C++程序设计教程——面向对象分册》郑秋生主编 --------- 10电子工业出版社 -------------------------------------------------- 10 10.附录 ---------------------------------------------------------- 10

17 24点游戏系统设计

中北大学 课程设计说明书 学生姓名:学号: 学生姓名:学号: 学生姓名:学号: 学院:信息与通信工程学院 专业:电子信息工程 题目:多媒体技术和程序设计实践: 24点游戏系统设计 指导教师:陈友兴赵英亮职称:副教授 2011年1月7日

中北大学 课程设计任务书 10/11学年第一学期 学院:信息与通信工程学院 专业:电子信息工程 学生姓名:学号: 学生姓名:学号: 学生姓名:学号: 课程设计题目:多媒体技术和程序设计实践: 24点游戏系统设计 起迄日期:2010年12月18日~2011年1月7日课程设计地点:电子信息工程专业实验室 信息工程系实验室 指导教师:陈友兴赵英亮 系主任:王浩全 下达任务书日期:2010年12月17日

1.设计目的: (1)掌握VC++程序开发平台; (2)掌握对话框模式的可视化实现和按钮消息的响应; (3)掌握应用VC++库函数实现数据的输入、计算等功能。 2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):(1)查阅相关资料,掌握基于面向对象的编程方法; (2)主界面采用对话框模式,编辑24点游戏的相应控件; (3)实现发牌、计算和验证的功能; (4)要求3位同学各自实现不同分工。 3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕: (1)要求设计组的每个成员都要了解设计的要求和思路; (2)编写详细的设计说明书一份; (3)要求有正确的运行结果及结果分析。

4.主要参考文献: 1王华,叶爱亮,祁立学等.Visual C++6.0编程实例与技巧.北京:机械工业出版社,1999. 2李光明.Visual C++6.0经典实例大制作.北京:中国人事出版社,2000. 3严华峰.Visual C++课程设计案例精编.北京:中国水利水电出版社,2002. 4官章全,刘加明.Visual C++6.0类库大全.北京:电子工业出版社,1999. 5张荣梅,梁晓林.Visual C++实用教程.北京:冶金工业出版社,2004. 6魏亮,李春葆.Visual C++程序设计例学与实践.北京:清华大学出版社,2006. 7陈清华,朱红.Visual C++课程设计案例精选与编程指导.南京:东南大学出版社,2004. 5.设计成果形式及要求: 提供详细的设计说明书一份 软件设计结果 6.工作计划及进度: 2010年 12月18日~12月22日:学习VC有关编程方法; 12月23日~2011年1月3日:在指导教师指导下实现程序设计; 2011年1月4日~1月6日:撰写课程设计说明书; 1月7日:答辩 系主任审查意见: 签字: 年月日

相关文档
相关文档 最新文档