欢迎来到天天文库
浏览记录
ID:6141168
大小:4.87 MB
页数:86页
时间:2018-01-04
《c程序设计上机课程设计指导书》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C程序设计上机课程设计最佳攻击目标选择的坦克游戏设计运用C语言来描述一种算法是非常方便的,因为C语言提供了非常丰富的运算符。此外,由于C语言的快速、高效这一特点,因此在许多研究领域,许多算法的实现和验证是采用C语言来进行的。本上机课程设计将实现最佳攻击目标选择的坦克游戏设计,来源于游戏设计项目。2.1准备工作这章的程序编写与前面几章的有所不同,它是根据某一个具体研究的算法来进行编程,因此具有一定的科研价值或实用价值。程序须达到该算法的某些特殊要求,如实时性、可扩展性等,在这些方面需要注意体现。另外,根据算法的当前应用领域,程序须设计一种与之相关的动画来进行演示。2.1.1
2、实现规划一个算法思想一般都会以一种具体的描述形式来表达,并且都提供了算法的具体步骤或流程,而算法的验证则有待编程来实现。这一方面限制了编程者的发挥(因为必须按照算法的步骤来严格执行),而另一方面也相应地对编程者提出了更高的要求。因此,先要全面了解算法的思想以及它的作用。本程序主要实现一种多目标熵权决策分析算法。多目标决策分析是指在有多个不同目标时,如何根据各种条件来选出一个最优目标进行锁定。熵权决策分析算法就是针对这一问题提出来的,具体的算法内容将在下一节来详细介绍。程序实现的预期规划如下:1.设计适当的数据结构2.逐步实现算法的各个步骤,并进行验证3.设计一种动画演示形
3、式4.在动画中调用算法来演示结果。另外,在程序中还计划加入辅助文档,以显示算法的各个中间步骤。现在,根据以上,可以将程序分为以下几个模块:l算法模块:用于实现算法,包括算法各个步骤及相关函数。l主模块:用于显示动画,在动画中调用算法并演示算法结果。l辅助模块:用于显示算法中间过程的数据。2.1.2将程序代码分割为几类源文件先抛开程序的具体内容设计,而来解决一个程序文件分割的问题。这也可以说是本上机课程设计要讲到的第一个新的知识点。当一个程序代码过长时,往往很难进行维护和修改。而且过长的代码会弄得读程序的人头晕脑涨。于是,可以根据程序划分的模块来将代码分为几个子文件。一些有
4、经验的程序员建议,尽量把一个大的程序按功能分成多个文件,一个文件尽量不要超作1000行,这样就可以比较清楚哪个文件的代码是健壮的,而哪个文件有可能有隐患,在进行程序调试和修改时便可以有针对性的检查相应文件代码。86那么,如何进行文件代码的分割?又如何使之成为一个整体?分割其实很简单,就是把某一模块或某一类代码放到一个文件里,并保存为后缀名为.c或.h的文件。比如,将此程序的算法实现部分的代码放到一块,并保存为arithmetic.c,而动画演示部分的代码则保存为display.c。在此项目中,根据前面所划分的几个模块,可以将程序分割为以下几个模块,依次是lmain.c:实
5、时运行算法并用动画演示算法结果。lDMFunc.c:算法的各个步骤及与其相关的。ldisplay.c:动画显示的各相关函数。lhelp.c:帮助文档lhead.h:整个程序所用到的系统头文件、宏定义、全局变量以及主要函数申明。在分割完以后,将这些文件最好都放在一个文件夹内,比如d:tk。接下来进行各个文件的整合。在整个程序中,仍然只能有一个主函数main(),在该项目中这个主函数被放在文件main.c中。那么,假设要想在main.c中调用display.c这个文件中的函数和变量等,则只要在main.c的头文件包含部分象包含系统头文件一般将display.c包含进来便可
6、,如下:/*---------mian.c------------*/#include"display.c"……这种包含方式可以嵌套,比如在step.c中包含了display.c,而在main.c中又包含了step.c,则在main.c中也可以调用display.c中的函数和变量。但是要特别注意的是,在一个程序中,一个文件只能被包含一次,比如在step.c中包含了display.c后,在其他文件中如main.c中就不能再来包含display.c了,而只能通过包含step.c来间接包含display.c。所以,最好不要出现嵌套包含的情况。这样就需要将每个文件所实现的功能都分
7、得很明确,一个文件要能实现一个较大较完整的功能。实际上,一个文件只要在主程序中被包含了,在其他被主函数包含的文件中也可以调用该文件中。但是这里又有一个非常要注意的问题,那就是在主函数中各文件被包含的次序。假设在主函数中,各文件是依次如下被包含的:/*----------main.c-----------------*/#include"head.c"#include"display.c"#include"DMFunc.c"#include"help.c"则在文件DMFunct.c和help.c中可以调用display.c,而反
此文档下载收益归作者所有