08 C语言课程设计_打飞碟(提高篇)

08 C语言课程设计_打飞碟(提高篇)
08 C语言课程设计_打飞碟(提高篇)

C语言课程设计--打飞碟

一、游戏介绍

打飞碟游戏是玩家通过鼠标控制大炮发射炮弹以及大炮发射时指向的方向,击毁从天空落下的飞碟。飞碟每次从不同的位置、以不同的速度向下落。打中不同的飞碟可以得到不同的分数。我们可以显示当前的得分。

二、实验目的

综合应用C语言知识开发一款小游戏。

三、实验内容

1、游戏初始界面如下图。

2、按下空格键后,“空格开始”消失,一局游戏开始。

3、游戏开始后:

1)鼠标变成十字星;

2)地面上有一门大炮,玩家通过移动鼠标可以控制炮口在一定范围内上下移动;

3)单击鼠标左键,大炮发射炮弹;

4)每局游戏时间为30秒,在屏幕左上方显示,并适时更新游戏剩余时间;

5)有大中小三种飞碟,按不同时间频率随机从屏幕顶部的某个位置落下。炮弹击中大飞碟加1分,击中中飞碟加2分,击中小飞碟加10分。得分显示在屏幕左上角。

6)游戏时间到后,游戏停止,重新显示游戏初始界面。

7)记录最高的5次游戏得分,按从高到低顺序显示在游戏底部。

游戏初始界面

四、实验准备

本实验中可能用到的C语言标准库函数和FunCode API Stdio.h

Math.h

String.h

FunCode API

原图的角度

获得的旋转角度即为两张图片的

五、实验指南

实验一游戏的开始和结束

【实验内容】

步骤一、按空格键,游戏开始,“空格开始”字样消失,设置初始时间为30,初始积分为0,鼠标消失。

步骤二、移动鼠标,控制炮筒上下旋转。

步骤三、游戏开始后,左上角实时显示剩余时间。

步骤四、当超过30秒,游戏结束,重新显示“空格开始“字样,游戏时间设为0,重新显示鼠标,炮口回到初始位置。

【实验思路】

按空格键,属于键盘按下事件,应该在dOnKeyDown函数中编写代码。

按下空格键,一局游戏开始;30秒后,一局游戏结束,需要有一个全局变量标记游戏状态。各种操作都需要考虑到游戏状态。比如,一局游戏开始前,按空格键,游戏开始;一局游戏开始后,按空格键,无效。

程序每执行一次游戏主循环,就会刷新一次屏幕,并且将刷屏消耗的时间返回给变量fDeltaTime。利用全局变量保存一段时间,比如30秒,每循环一次,就减去一次刷屏的时间,当全局变量小于等于0时,就说明30秒已经用完。

移动鼠标事件,应在dOnMouseMove函数中编写代码。移动鼠标时,需要完成两个任务:第一、准星随着鼠标移动而移动,把鼠标的坐标值赋值给准星的中心点,这样就能让准星跟着鼠标移动。

第二、通过鼠标和炮筒中心点构成一条直线,计算该直线与X轴的角度(图示1),然后让炮筒旋转同样角度(图示2),这样就能让炮筒跟着鼠标上下移动。

图示

同时把鼠标隐藏起来让界面效果更好。同样的,只有一局游戏开始以后,才能通过鼠标移动来控制拍子移动。

【实验指导】

1、定义一个int型全局变量,用来标识游戏的开始和结束。定义一个int型全局变量,

用来记录本局游戏得分。定义一个float型全局变量,用来记录每局游戏剩余的时

间;

2、dOnKeyDown函数是处理键盘按下事件的,当按下的空格键,且一局游戏还未开始时,

此时游戏进入到初始化阶段;

3、在dOnMouseMove函数中完成准星移动的任务。判断一局游戏是否开始。开始后,

将鼠标坐标值赋值给准星的中心点。

4、利用atan2函数求出通过鼠标与炮筒中心点连成的直线与X轴之间的夹角。返回值

是弧度值,需要转换成角度值,转换公式如下:

由于弧度值在(-∏, ∏]之间,转换的角度值相应在(-180,180]之间,而FunCode的坐标系角度值在[0, 360]之间,所以需要做相应的转换。计算出角度值后,利用dSetSpriteRotation函数让炮筒旋转相应的角度。其中,∏的使用,可用define 定义一个PI的宏变量,值为3.1415926。

5、一局游戏开始后,在WinMain函数中的主循环里,通过dSetTextValue把

(int)g_fGameTime的数值显示在名为“time”的文字精灵里,从而实时显示剩余时

间(显示整秒的时间)。

6、一局游戏进行中,每循环一次,g_fGameTime减去一次刷屏的时间。当g_fGameTime

≤0,说明一局游戏时间已完,游戏停止,重新显示“空格开始“字样,炮筒恢复原来的角度,并重新显示鼠标。注意:游戏开始状态的变量应该改为未开始的一个值(比如0表示为开始,1表示为开始),否则下一局就不能正确判断游戏开始或结束。

7、在WinMain函数中“游戏初始化代码”位置,获取炮筒的初始角度。在一局游戏结

束,把炮筒重新恢复到初始角度。

实验二控制大炮旋转范围以及发射炮弹

【实验任务】

步骤一、控制炮弹的旋转角度,在[280, 350]之间。

步骤二、每隔一段时间,比如0.5秒,点击鼠标右键,发射一发炮弹。

【实验思路】

FunCode坐标系,[280,350]的范围在第四象限。控制炮筒旋转角度在[350,360]之间,不能简单判断,角度大于350度时,角度设为350度;小于280度时,角度设为280度。比如,鼠标移动炮筒达到350度时,继续往下移动进入第一象限,角度变成小于280度,原来成350度的炮筒突然变成280度。变化如下面两图所示。因此,需要考虑玩家上下移动鼠标会超出范围两边一段距离的情况。

用一个全局变量来记录发射第一发炮弹后,距离能发射第二发炮弹还剩多少时间。与实验一相同,当这个变量小于等于0时,说明可以发射第二发炮弹了。

因为要发射多发炮弹,设计界面时,我们在屏幕外放置一发炮弹,名称为“paodan_muban”,作为炮弹模板,游戏中所有的炮弹都从这个模板复制而来。

创建一个新的精灵,首先需要给它命名。有规则地给精灵命名,有利于我们对精灵进行处理。我们按照炮弹生成的先后顺序,分别给精灵命名为:paodan_0,paodan_1,paodan_2…

炮弹发射出去,需要确定炮弹初始位置,简化起见,炮弹轨迹为直线,朝准星(鼠标)的方向飞出去。

没有用的精灵需要及时删除,避免过多占用内存。生成每发炮弹时,设置炮弹世界边界,比屏幕略大一些,炮弹飞出屏幕后,碰到世界边界,在精灵与世界边界碰撞函数中删除这发炮弹精灵。

【实验指导】

1、在dOnMouseMove函数中完成移动鼠标事件的代码。我们以135度为界,角度大于350度,或者小于135度时,炮筒角度设为350度;角度大于135度,且小于280度时,炮筒角度设为280度。

2、定义一个float型全局变量,用来记录发射一发炮弹后,距离能发射第二发炮弹还剩多少时间。

float g_fPaodanLeftTime = 0.f;

3、在WinMain的主循环中,游戏开始后,每循环一次,g_fPaodanLeftTime减去一次刷屏用去的时间,从而实际获得距离能发射第二发炮弹还剩多少时间。

4、点击鼠标左键,发射炮弹,因此在dOnMouseClick函数中完成相应代码。只有游戏开始、点击鼠标左键、g_fPaodanLeftTime≤0三个条件都满足时,才能发射炮弹。

5、发射炮弹时,首先确定炮弹的初始位置。我们通过FunCode,在炮口处设置了一个链接点,通过API可以获得链接点的坐标。下图中0所示的即为链接点。

6、用sprintf函数给炮弹命名,命名规则”paodan_%d”,可以用一个int型静态变量来表示炮弹名称的后缀。

7、取好名称后,复制精灵模板,设置初始位置,设置世界边界,最后调用dSpriteMoveTo函数将炮弹朝着鼠标方向飞去。

8、在dOnSpriteColWorldLimit函数中,用strstr判断与世界边界碰撞的的精灵的名称中是否包含“paodan”,如果有,说明是炮弹,将其删除。

实验三大飞碟落下

【实验任务】

步骤一、在屏幕右上角出现一架大飞碟,从上往下落;

步骤二、每隔一段时间,比如0.7秒,在屏幕右上角出现一架大飞碟,从上往下落。

【实验思路】

只出现一架飞碟时,可以在WinMain函数“游戏初始化”位置,复制大飞碟模板,初始布置在屏幕外靠近屏幕的位置,设置向下的速度,让飞碟从屏幕外飞碟屏幕中。

设置这架飞碟的世界边界,比屏幕稍微大一些,另外需要考虑飞碟自身大小,要比飞碟初始位置区域再一些,避免飞碟刚出生就碰到自己的边界。飞碟落下,直到碰到自己的世界边界,将该飞碟删除。

一局游戏开始后,每隔0.7秒,就出现一架大飞碟落下。因此代码需要写在WinMain 的游戏循环中。用一个变量记录上两架飞碟先后出现还差多少时间。参考实验二,炮弹时间间隔的处理。

【实验指导】

1、定义4个float型全局变量,用来记录屏幕的4个边界值。

float g_fScreenLeft = 0.f; // 屏幕左边界值

float g_fScreenRight = 10.f; // 右

float g_fScreenTop = 0.f; // 上

float g_fScreenBottom = 10.f; // 下

2、在WinMain函数的“游戏初始化”位置利用API获取屏幕4个边界值。

3、飞碟从屏幕右上方出现,因此它的初始区域可定为:Y轴方向,统一在上方出去一

些,比如5;X轴方向,在正半轴方向,考虑到飞碟自身大小,区域应适当比屏幕

右方小一些。具体大小,可在调试程序时,自行调整。

fPosX = (float)dRandomRange(5, (int)g_fScreenRight - 5);

fPosY = g_fScreenTop - 5.f;

4、定义一个float型全局变量,用来记录屏幕中一共出现多少架飞碟。

float g_iCount = 0;

5、参考实验二,如何判断飞碟出现的时间已到?如何让飞碟连续出现?如何给飞碟命

名?

6、将第一架飞碟出现的代码移植到多架飞碟出现的位置上来,并作相应修改。

7、在dOnSpriteColWorldLimit函数中删除飞碟精灵。

8、运行游戏,我们发现一个问题:当一局游戏时间到,游戏停止时,有些飞碟还在屏

幕中运行,并没有碰到它的世界边界,还没有被删除。这样,如果玩家重新按空格

键开始,下一局游戏就变成更多的飞碟了,这样就不能保证每局一致性了。我们可

以在游戏结束时,删除那些还存在的飞碟精灵,但是我们如何才能知道哪些精灵还

存在呢?FunCode API并没有提供根据名称判断某个精灵是否存在的方法,这个问

题我们留到后面的实验解决。

实验四用结构体和链表管理所有飞碟

【实验任务】

步骤一、定义一个结构体来表示飞碟;

步骤二、自定义两个函数,一个用来将精灵保存到链表中,一个用来从链表中删除精灵节点;

步骤三、游戏进行时,用循环创建这三种飞碟;

步骤三、飞碟碰到自己的世界边界时,删除链表中的飞碟节点,并删除飞碟精灵;

步骤四、游戏结束时,将还未删除的飞碟精灵全部删除。

【实验思路】

有大中小三种类型的飞碟,每种飞碟出现的时间间隔不同,击中后玩家的得分不同,另外,还需要在游戏结束时判断这架飞碟的精灵是否还存在。用结构体来表示飞碟,并包含这些信息。

复制飞碟精灵时,需要创建对应的结构体数据。

游戏结束时,根据结构体中的信息,判断某个精灵是否已被删除,未被删除的进行删除。

【实验指导】

1、定义一个结构体用来表示飞碟。

struct UFO{

char szName[128]; // 精灵名称

int iScore; // 炮弹击中飞碟,玩家获得的分数

UFO* pNext; // 指向下一个节点的指针

};

2、定义AddToList函数,根据飞碟名称、得分以及时间间隔,创建一个飞碟节点,保

存到链表尾部。参考代码如下:

void AddToList(char* szName, int iScore, float fBaseTime)

{

UFO* pTemp = (UFO*)malloc(sizeof(UFO)) ;

strcpy(pTemp->szName, szName);

pTemp->iScore = iScore;

pTemp->pNext = NULL;

UFO* pNode = g_pHead;

if(g_pHead == NULL) // 表头为空,说明加入的是一个节点

{

g_pHead = pTemp;

}

else

{

// 循环读到链表的最后一个节点

while(pNode->pNext != NULL)

{

pNode = pNode->pNext;

}

pNode->pNext = pTemp;

}

}

3、定义两个float数组,一个用来保存不同飞碟落下的时间间隔,一个用来记录不同

飞碟前一架落下后,距离后一架下落需要的时间。

float fBaseTime[3] = {1.7f, 3.5f, 5.2f}; // 三种飞碟落下的时间间隔

float fCurrentTime[3] = {1.7f, 3.5f, 5.2f}; // 三种飞碟,前一架落下,

// 距后一架落下剩余的时间注意:fCurrentTime的定义和初始化必须在主循环之外,为什么?

4、相应再定义两个float数组,用来保存不同飞碟落下的速度,被击中后玩家的得分。

int iScore[3] = {1, 2, 5}; // 三种飞碟,击中后,玩家得分

float fSpeed[3] = {10, 15, 25}; // 三种飞碟的速度

5、在WinMain函数中改写实验三飞碟落下的代码。用循环判断每种飞碟是否到了落下

的时间。不同飞碟要复制不同的飞碟模板。

6、每创建一架新飞碟,我们将相应信息保存到链表中。链表有什么用,我们在下一个

实验中会体验到。

实验五炮弹击中飞碟

【实验任务】

步骤一、炮弹击中飞碟时,发生碰撞事件,删除炮弹和飞碟,并且给玩家加分;

步骤二、游戏结束后,删除屏幕中的飞碟。

【实验思路】

当两个精灵相碰,并且一个设置了“发送碰撞”,另一个设置了“接受碰撞”,就会发生碰撞事件。对于飞碟与飞碟碰撞,我们则不希望发生碰撞事件。因此,我们可以设置炮弹“发生碰撞”,设置飞碟“接受碰撞”(对调亦可)。这样,在本游戏中,只会发生炮弹和飞碟的碰撞事件。

删除飞碟精灵时,需要将链表中对应的节点删除。

根据链表中节点的名称,删除屏幕中的精灵。

【实验指导】

1、调用dSetSpriteCollisionSend函数和dSetSpriteCollisionReceive函数设置炮

弹和飞碟的碰撞属性;

2、自定义DeleteNode函数,根据飞碟名称删除相应的飞碟节点。参考AddToList函

数代码加以完成。

3、在dOnSpriteColSprite函数中,发生碰撞的精灵名称是szSrcName,接受碰撞的

精灵名称是szTarName。判断其中一个名称,比如szSrcName是炮弹的话,删除

炮弹精灵和飞碟精灵,并将飞碟精灵对应的链表中的节点删除。注意:szTarName

的类型是const char*,DeleteNode函数中的参数是char*。不能直接传递,需

要先利用strcpy函数将szTarName传递给一个char*变量,然后再传递。

4、定义一个int型全局变量,用来记录打飞碟的得分。

int g_iScore = 0;

5、自定义一个FindNode函数,根据精灵名称寻找相应的精灵节点,并返回这个节点。

参考AddToList函数代码加以完成。

6、在dOnSpriteColSprite函数中,在删除节点以前,找到该节点,并把iScore分数

加到g_iScore上,把g_iScore显示到相应的文字精灵中。

7、游戏结束时,遍历列表,根据节点中精灵名称,删除精灵以及链表节点。

实验六游戏得分排名

【实验内容】

每局游戏结束后,屏幕左上角显示上一局的得分。

屏幕底部显示最高的5局得分。

【实验思路】

用一个静态数组来保存最高的5次分数。新一局结束,从数组尾部元素(从小数开始)比较,如果小于等于该数组元素的值,比较结束。

反之,替换该元素。然后再依次与前面的元素比较。如果小于等于前面的元素,比较结束。

反之,交换这两个元素。

【实验指导】

1、在WinMain函数“初始化代码”位置处定义一个int型数组,用来保存最高的5局

分数,初始化为0。

int iHighScore[5] = {0, 0, 0, 0, 0};

2、当一局游戏结束时,将g_iGameScore与iHighScore[4]比较,如果g_iGameScore >

iHighScore[4],将g_iGameScore赋值给iHighScore[4];反之,比较结束。

3、从iHighScore[4]开始依次往前比较,并交换相邻的两个元素,直到前一个元素大

于等于后一个元素为止。

4、打六局游戏,测试一下是否按要求完成历史最高分的保存和排序。

数据库课设报告模板

第1章系统功能概述 1.1系统任务 理发店人员复杂,员工的工资也很难算清楚。利用计算机管理就容易得多。顾客来理发,由某个理发师接手。顾客的花销按各种服务名目收费,比如“剪发”,“吹风”,“做型”,“离子烫”,“波峰烫”,“麻辣烫”等。必须提供复杂的查询功能,包括: ●按员工统计本月接手的总金额。 ●按服务类别统计本月的收入金额。 ●按日期统计每天的收入总额,并形成条形统计图。 ●查询本月顾客人数和收入金额最高的5天和最低的5天。 1.2系统目标 1.能够快速地管理和查询所有理发师收入信息。 2.能够高效地进行理发管理。 3.能够进行结算管理,避免人为计算或操作失误。 4.能够正确的生成收入统计图 5.减轻登记、收银人员的工作任务。 第2章数据库设计 2.1 需求分析 本系统用于理发店的管理,用户指定为管理者自己,输入用户名,登录密码即可进入对本管理系统进行管理应用 (1)登录系统 在系统运行欢迎界面后即可进入登陆界面,在进入登陆界面后输入用户名和密码,正确即可进入主窗体界面进行操作,如果密码错误则提示错误。 (2)理发管理 数据包括:理发师编号,服务项目,收入金额,收入统计,服务日期等信息。

(3)统计管理 统计总收入情况,建立统计图 操作要求:可以按条件进行信息的查询,得到各自的收入金额。(4)排名系统 查询本月顾客人数和收入金额最高的5天和最低的5天 2.2 E-R模型 理发店管理系统E-R模型如图2-1所示。 图2-1理发店管理系统E-R模型 2.3 关系模型 理发店管理系统关系模型如图2-2所示。 图2-2理发店管理系统关系模型

2.4 表结构设计 1.管理员表用于记录管理员姓名和密码,如图2-3所示。 图2-3管理员表 2.理发师表用于记录理发师理发项目,如图2-4所示。 图2-4理发师表 3.收入表用与记录理发店当日各项收入,如图2-5所示。 图2-5收入表 4.收入统计用于统计本月收入金额最高的5天和最低的5天,如图2-6所示。

《C语言课程设计》实验报告

《C语言课程设计》报告 学院:信息工程学院 专业:信息管理与信息系统设计题目:通讯录程序设计班级:2016级一班 学号:201601510138 姓名:张进步 指导教师:杨菲菲 时间:12.24

学生通讯管理系统 1.1 设计目的 学习如何实现一个复杂的信息管理系统——学生通讯管理系统,能够实现老师对学生基本信息的记录、查询、修改。 通过本次学习,读者能够掌握: (1)如何设计主菜单和子菜单,以及各级菜单的响应与返回操作; (2)如何合理设计不同的结构体对系统中多个实体进行封装; (3)如何合理设计多个结构体数组管理不同实体对应的数据; (4)如何对复杂的函数过程进行拆分,用多个子函数进行封装; (5)进一步熟悉文件读取的相关操作。 1.2需求分析 本章的学生信息管理系统的主要功能面向老师,能够实现对学生信息进行录入、修改、查询。 学生信息方面的功能需求如下。 (1)新增学生信息,包括姓名、籍贯、电话号码(2)、电子邮箱。 (2)修改学生信息,可以选择对某个学生的某个属性值进行修改。 (3)查找学生信息,即输入要查找的学生学号,实现学生信息查询。 (4)显示所有学生信息,并以列表的形式清晰呈现。 1.3总体设计 系统功能结构图如图所示;学生信息管理系统 学生信息管理模块:包括4个子模块,分别是学生信息的录入,学生信息的修改,学生信息的查询,学生信息的浏览。

1.4详细设计与实现 1.4.1 预处理及数据结构 1.头文件 本项目涉及4个头文件,其中#include使用字符串的函数的时候需要添加此头文件,#include #include /*system使用的函数*/ #include /*getchar、getch函数使用的头文件*/ #include /*strcmp比较2个字符串是否一样*/ 2.宏定义 LEN sizeof(struct student)表示struct student的长度。DATA是按格式输出结构体的各项数据,能够方便输出操作,减少代码量。 #define_CRT_SECURE_NO_W ARNINGS #include #include #include #include #define LEN sizeof(struct student) #define FORMAT "%-8d%-15s%-15s%-15d%-15d%-15s\n" #define DATA stu[i].numb,stu[i].name,stu[i].nat,stu[i].num1,stu[i].num2,stu[i].mail 3.结构体 利用一个结构体struct student struct student/*定义学生信息结构体*/ { int numb;/*学号*/ char name[15];/*姓名*/ char nat[16];/*籍贯*/ int num1;/*电话号码1*/ int num2;/*电话号码2*/ char mail[40];/*邮箱*/ }; 4.全局变量 分别利用全局变量结构体数组struct student stu[50];来记录所有学生的基本信息,避免程序运行过程中多次初始化,方便各个式子函数调用。 struct student stu[50];

SQLserver数据库课程设计范例

1 概述 1.1课题简介 书店书目书种繁多,来源多样,购买者众多,图书信息、供应商信息、客户信息、销售信息庞大,不易管理。因此,很有必要创建一个小型书店管理系统,以便于书店对图书的管理。1.2设计目的 应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。 数据库应用课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。 数据库原理软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。 1.3设计内容 运用基于E-R 模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发小型书店管理系统,完成小型书店管理系统的全部功能。 首先做好需求分析,并完成数据流图和数据字典。 其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R 图。然后就是逻辑结构设计,将E-R 图转换为计算机系统所支持的逻辑模型 2 需求分析 2.1功能分析 首先,建立一些基本表(尽可能满足3N),对大部分基本信息组合、存储;其次通过建立视图实现对冗余数据的有必要保留(查询并计算基本表属性得到新的作为视图属性)并实现对以下基本信息的显示。 图书信息:图书名称、订购数量、订购时间、订购单价、金额、出版社名称、作者名称;供应商名称等; 供应商信息:供应商名称、地址、电话,联系人; 客户信息:客户编号、名称、年龄、性别、累计购书金额等; 销售信息:时间、销售名称、数量、销售单价、客户编号、客户名称、金额等。 在此基础上进行以下目标查询,由于有些查询常用且较复杂,为了简化其应用,所以将它们定义

数据库课程设计报告

《数据库类课程设计》 系统开发报告 学号:__________ 111007133 _____________ 姓名:_____________ 邢小迪 __________________ 题目企业员工薪资管理___________ 指导教师:__________ 王红梅 _________________ 提交时间:2013年6月01日_______________

计算机科学与应用系

目录 一绪论 二员工薪资管理系统概述?1 现状分析?I 系统目标?2 系统特点?3 三员工薪资管理系统数据库设计?3 需求分析3 数据库物理结构分析4 数据库概念结构设计6 数据库逻辑结构设计?9 四员工薪资管理系统数据库功能模块的创建12五总结21 体会21 参考文献22

一绪论 随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成员工工资管理工作。提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于SQL server 数据库技术建立一个通用工资管理系统,该系统为提供了查询、增加记录、删除等功能,功能比较的齐全,并对工资进行了统计如津贴管理、报表统计等。基本上能满足管理员和公司的要求。 此次数据库课程设计的主要设计如下:原理分析、程序设计过程、程序实现和程序调试以及数据库的设计。 需求分析、概要结构设计、逻辑结构设计、物理结构设计和数据库的实施和维护。 二员工薪资管理系统概述 1、现状分析 随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。早期工资管理多采取纸质材料和具有较强的时间限制。随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,

华中科技大学计算机学院C语言课设实验报告

华中科技大学计算机科学与技术学院 《C语言程序设计》课程设计 实验报告 题目:科研项目信息管理系统 专业:计算机 班级: 学号: 姓名: 成绩: 指导教师:李开 完成日期:2009年10 月20 日

科研项目信息管理系统一、系统功能结构模块图 二、数据结构设计及其用法说明 typedef struct lakey{ char name[30];/*团队名称*/ int total;/*自然科学基金的科研项目数*/ float dudu;/*经费数*/ struct lakey *next; }*plakey;/*统计3中用到的数据结构*/ typedef struct emmey{ char name[30];/*团队名称*/ int teacher;/*老师人数*/ int harden;/*项目数*/ float bizhi;/*比值*/ struct emmey *next; }*pemmey;/*统计4中用到的数据结构*/ typedef struct kPro{ char code[15];/*项目编号*/ char sort;/*项目种类*/ int aking1; char time[8];/*项目时间*/ float dudu;/*项目经费*/ int aking2;

char beiler[15];/*负责人*/ int aking3; char keynoName[30];/*所在团队名称*/ struct kPro *next; }harden,*pHarden; typedef struct Komo{ int teacher;/*老师人数*/ char name[20];/*院系名称*/ int student;/*学生人数*/ float bizhi;/*二者比值*/ struct Komo *next; }*pKomo;/*统计1中用到的数据结构,统计结果放在这个数据结构中*/ typedef struct kTea{ char name[30];/*团队名称*/ char beiler[15];/*负责人*/ int stuNum;/*学生人数*/ int aking2; int coco;/*老师人数*/ char colName[20];/*所在院系的名称*/ int aking1; struct kTea *next; pHarden child; }keyno,*pKeyno; typedef struct edward{ char name[20];/*院系名称*/ int totalnum;/*项目总数*/ int num973;/*973项目数*/ int num863;/*863项目数*/ float amount;/*经费数*/ struct edward *next; }*pedward;/*统计2中用到的数据结构*/ typedef struct kCol{ char name[20];/*院系名称*/ int aking; char beiler[15];/*院系负责人*/ struct kCol *next; char call[15];/*负责人电话号码*/ pKeyno child; }kekey,*pKekey;

《C语言程序设计》课程设计报告

《C语言程序设计》课程设计报告 (2013— 2014学年第 3 学期) 题目:C语言课程设计 专业:软件工程 班级:软件工程技术2班 姓名学号: 1 林燕萍 指导教师:吴芸 成绩: 计算机科学与技术系 2014 年6月23日

目录 一、课程设计的目的与要求 (1) 二、方案实现与调试 (3) 2.1 掷骰子游戏 (5) 2.2 射击游戏 (7) 2.3 计算存款本息之和 (8) 2.4肇事逃逸 (10) 2.5 礼炮 (12) 2.6 汽车加油 (14) 2.7 大优惠 (16) 2.8 金币 (19) 三、课程设计分析与总结 (23) 附录程序清单 (25) 一、课程设计的目的与要求(含设计指标) C语言是一种编程灵活,特色鲜明的程序设计语言。C语言除了基知识,如概念,方法和语法规则之外更重要的是进行实训,以提高学习者的动手和编程能力,从应试课程转变为实践工具。 这是学习语言的最终目的。结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C语言程序设计任务书》,以在实训过程中给学生提供帮助。达到如下目的: 1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能; 2.让学生扎实掌握C程序设计语言的相关知识; 3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。 编写程序要求遵循如下基本要求: ①模块化程序设计 ②锯齿型书写格式

③必须上机调试通过 二、方案实现与调试 2.1掷骰子游戏 2.1.1 题目内容的描述 1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。 2) 将每人每次的分值累加计分 3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。 4) 结束条件:当双方都掷10次或经过5次后一方累计分数多出另一方的30%及以上。最后显示双方分数并判定优胜者。 2.1.2输入数据类型、格式和内容限制和输出数据的说明 数据类型:整型;内容限制:随机数的产生;输入数据结果:胜利的一方 2.1.3主要模块的算法描述 本算法的思路过程:首先要随机产生随机数,然后进行算法输出数值,执行条件判断输入结果,最后比较结果,判断胜利的一方。 程序流程图 图1 掷骰子游戏 2.1.4调试过程及实验结果

奥鹏大工19秋《SQL数据库课程设计》模板及要求

答案+我名字 学习中心: 专业: 年级:年春/秋季 学号: 学生: 题目: 1.谈谈你对本课程学习过程中的心得体会与建议? 2.严格按照《SQL数据库课程设计要求》完成课程设计。 《SQL数据库课程设计》要求 《SQL数据库课程设计》是大连理工大学网络教育学院计算机应用技术专业开展的一项实践教学环节,是理论联系实践的纽带和桥梁,是培养学生综合运用所学知识解决实际问题的有效手段。该课程设计要求如下: 1.要求学生以SQL Server 2008或其他版本为后台数据库,以VB、VC或其他开发工具作为前台开发工具,围绕自己选定的某一个具体的系统完成一个小型数据库应用系统的开发,例如《图书管理系统的设计与实现》《书店管理系统的设计与实现》等。其课程设计具体内容包括项目概况、需求分析、详细设计等。 2.要求学生必须撰写题目及心得体会,按照《SQL数据库课程设计模板》提供的格式和内容进行课程设计,完成课程设计模板提供的全部课程设计内容,字数要求达到3000字以上。

3.学生在进行课程设计的过程中,可参考辅导教师在导学资料中上传的文献资料,有问题可通过课程论坛答疑。 4.学生提交本课程设计形式 学生需要以WORD附件形式(附件的大小限制在10M以内)将完成的课程设计以“离线作业”形式上传至课程平台中的“离线作业”模块,通过选择已完成的课程设计,点“上交”即可,如下图所示。 5.课程设计批阅 老师会在离线作业关闭后集中批阅课程设计,在离线作业截止时间前不进行任何形式的批阅。 注意:本课程设计应该独立完成,不准抄袭他人或者请人代做,如有雷同作业,成绩以零分计。 下文为《SQL数据库课程设计模板》

Java课程设计实验报告及全部源码流程图

课程设计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报

时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

完整word版,数据库课程设计总结,推荐文档

数据库课程设计总结 数据库课程设计个人总结 姓名:邢王秀学号:201624101215 班级:09计本班 一个月的时间非常快就过去了,这一个月我不敢说自 己有多大的进步,获得了多少知识,但起码是了解了项目开 发的部分过程。虽说上过数据库相关的课程,但是没有亲身 经历过相关的设计工作细节。这次课程设计给我提供了一个 很好的机会。 通过这次课程设计发现这其中需要的很多知识我们没 有接触过,上网查找资料的时候发现我们以前所学到的仅仅 是皮毛,还有很多需要我们掌握的东西我们根本不知道。同 时也发现有很多已经学过的东西我们没有理解到位,不能灵 活运用于实际,不能很好的用来解决问题,这就需要自己不 断的大量的实践,通过不断的自学,不断地发现问题,思考 问题,进而解决问题。在这个过程中我们将深刻理解所学知 识,同时也可以学到不少很实用的东西。 这次的数据库课程设计,我们组负责的企业信息文档 管理系统的设计。这课题是自拟的。我们组实行的分工合作。我主要是负责数据库功能模块设计这部分。 从各种文档的阅读到需求分析、概要设计、数据库总 体设计、代码编写与调试,我们都准备了好长时间。组内分

工合作的整个过程,我亲身体验了一回系统的设计开发过 程,分工合作的好处。很多东西书上写的很清楚,貌似看着 也很简单,思路非常清晰。但真正需要自己想办法去设计一 个系统的时候才发现其中的难度。经常做到后面突 然就发现自己一开始的设计有问题,然后又回去翻工, 在各种反复中不断完善自己的想法。 我想有这样的问题不止我一个,事后想想是一开始着 手做的时候下手过于轻快,或者说是根本不了解自己要做的 这个系统是给谁用的。因为没有事先做过仔细的用户调查, 不知道整个业务的流程,也不知道用户需要什么功能就忙着 开发,这是作为设计开发人员需要特别警惕避免的,不然会 给后来的工作带来很大的麻烦,甚至可能会需要全盘推倒重 来。所以以后的课程设计要特别注意这一块的设计。 经过组内讨论,我们确定的课题是企业信息文档管理 系统。说实话,我对这个系统不是很了解。通过上网查找资 料、相关文献的阅读,我对该系统有了大体的了解。 在需求分析过程中,我们通过上网查资料,去图书馆 查阅相关资料,结合我们的生活经验,根据可行性研究的结 果和用户的需要,分析现有情况及问题。在一个月的时间里,不断地对程序及各模块进行修改、编译、调试、运行,其间 遇到很多问题,经过组内讨论。最终把它解决了。通过这次 课程设计,我对数据库的设计更加熟练了。

大工19春《SQL数据库课程设计》模板及要求辅导答案

《数据库课程设计》 题目:电子书城系统的设计与实现 学习中心: XX 专业: XX 年级:年春/秋季 学号: XX 学生: XX

一、谈谈你对本课程学习过程中的心得体会与建议? 答:转眼间,学习了一个学期的计算机操作系统课程即将结束。 在这个学期中,通过老师的悉心教导,让我深切地体会到了计算机操作系统的一些原理和具体操作过程。在学习操作系统之前,我只是很肤浅地认为操作系统只是单纯地讲一些关于计算机方面的操作应用,并不了解其中的具体操作过程和实用性。通过这一学期的学习,我才知道操作系统(Operating System,简称OS)是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制程序运行;改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。 正是由于这门课和以前关系不大,很多知识也从未接触过,因此对于这门课的学习方法就是:理论课上认真听老师讲理论知识,上机课上仔细看老师的演示过程、在电脑上按照老师的演示步骤自己做,遇到自己无法做出来的过程(步骤)请教老师或者同学。 建议:学校除了安排学生要上的SQL教学的理论课之外,还应安排适当节数的实验课,最好是理论课和实验课在一周上,这样同学们更能高效快速的记住所学知识,实验课上教师可以给每位同学分配一个小的系统让他们去做,或者是找一个项目案例先让同学们自己研究,然后教师再和同学们一起分析探讨,这样就能更好的理解和掌握SQL语句。 增强同学们之间的交流,同班同学之间肯定对知识的掌握程度不一样,在课堂上适当的增加学生之间的交流,严格要求他们课下也要多交流,这样通过交流取长补短,学生之间的差距就会缩小。 二、 1 项目概况 本章需简单介绍具体使用的哪个版本SQL数据库,选用的前台开发工具以及自己所设计的具体什么系统。 2.1 SQL 数据库简介 SQL Server 是一个具备完全 Web 支持的数据库产品,提供了对可扩展标记 1

数据库课程设计题目16个经典实例学习资料.doc

数据库课程设计题目16个经典实例 1.机票预定信息系统 系统功能的基本要求: 航班基本信息的录入,包括航班的编号、飞机名称、机舱等级等。机票信息,包括票价、折扣、当前预售状态及经手业务员等。客户基本信息,包括姓名、联系方式、证件及号码、付款情况等。按照一定条件查询、统计符合条件的航班、机票等;对结果打印输出。 2.长途汽车信息管理系统 系统功能的基本要求: 线路信息,包括出发地、目的地、出发时间、所需时间等。汽车信息:包括汽车的种类及相应的票价、最大载客量等。票价信息:包括售票情况、查询、打印相应的信息。 3.人事信息管理系统 系统功能基本要求: 员工各种信息:包括员工的基本信息,如编号、姓名、性别、学历、所属部门、毕业院校、健康情况、职称、职务、奖惩等;员工各种信息的修改;对转出、辞退、退休员工信息的删除;按照一定条件,查询、统计符合条件的员工信息;教师教学信息的录入:教师编号、姓名、课程编号、课程名称、课程时数、学分、课程性质等。科研信息的录入:教师编号、研究方向、课题研究情况、专利、论文及著作发表情况等。按条件查询、统计,结果打印输出。 4.超市会员管理系统 系统功能的基本要求: 加入会员的基本信息,包括:成为会员的基本条件、优惠政策、优惠时间等。会员的基本信息,包括姓名、性别、年龄、工作单位、联系方式等。会员购物信息:购买物品编号、物品名称、所属种类,数量,价格等。会员返利信息,包括会员积分的情况,享受优惠的等级等。对货物流量及消费人群进行统计输出。 5.客房管理系统 系统功能的基本要求: 客房各种信息,包括客房的类别、当前的状态、负责人等;客房信息的查询和修改,包括按房间号查询住宿情况、按客户信息查询房间状态等。以及退房、订房、换房等信息的修改。对查询、统计结果打印输出。 6.药品存销信息管理系统 系统功能基本要求 药品信息,包括药品编号、药品名称、生产厂家、生产日期、保质期、用途、价格、数量、经手人等;员工信息,包括员工编号、姓名、性别、年龄、学历、职务等;客户信息,包括客户编号、姓名、联系方式、购买时间、购买药品编号、名称、数量等。入库和出库信息,包括当前库存信息、药品存放位置、入库数量和出库数量的统计。

计算机程序设计(C语言)课程设计报告

计算机程序设计(C语言) 课程设计报告 题目:电子动画时钟 学院:机电工程学院 专业: 班级:090109班 学号: : 指导教师: 设计日期:

一、概述 选题背景:随着社会的进步和科技的发展,电子钟表逐渐成为了人们生活中不可缺少的一部分。设计思路:(一)功能模块设计,1.电子时钟执行主流程2.电子时钟界面显示3.电子时钟按键控制模块4.时钟动画处理模块(二)数据结构设计 1.time结构体 2.全局变量(三)函数功能描述1.keyhandle()2.timeupchange()3.timedownchange()4.digitclock()5.drawcursor()6. clearcursor()7.void clockhandle()8.main()(四)程序实现(五)运行结果。 二、概要设计 2.1、数据结构 此程序中,使用了C语言的time结构体和几个全局变量,1.time结构体struct time { unsigned char ti_min; /*分钟*/ unsigned char ti_hour; /*小时*/ unsigned char ti_hund; /*百分之一秒*/ unsigned char ti_sec; /*秒*/ }; time结构体定义在dos.h文件中,可用来保存系统的当前时间,其中各字段的值的含义如下。 1.unsigned char ti_min:保存分钟值。

2.unsigned char ti_hour:保存小时。 3.unsigned char ti_hund:保存百分之一秒,例如,ti_hund=500,表示1/500秒。 4.unsigned char ti_sec:保存秒数。 2.2、全局变量 下面对程序用到的全局变量及数组进行说明. 1. double h,m,s: 此3个全局变量分别用来保存小时,分钟,秒数。 2. double x,x1,x2,y,y1,y2:保存数字时钟中小时,分,秒在屏幕中显示的坐标值。 3.struct time t[1]:定义一个time结构类型的数组,此数组只有t[0]一个元素。 2.3 模块列表 1.时钟动画处理模块 时钟动画处理模块主要由clockhandle()函数来实现,程序中旧时钟指针的擦除是借助setwritemode(mode)函数设置画线的方式来实现。如果mode=1,则表示画线时用现在特性的线所画之处原有的线性异或(XOR)操作,实际上画出的线是原有线与现在规定的线进行异或后的结果。因此,当线的特性不变时,进行两次画线操作相当于没有画线,即在当前位置处清除了原来的画线。 2.时钟按键控制模块 在电子时钟中,按键控制模块最主要的工作就是必须能读取用户按键,对按键值进行判断,并调用相应函数来执行相关操作。 3.

数据库课程设计格式要求

电气与信息工程学院 《数据库开发技术》课程设计 (宋体小四号空九行) 设计题目: 年级专业: 组长: 小组成员: 指导教师: 完成日期:2011年6月10日

题目 摘要: 摘要篇幅以一页为限,字数为300以内。 摘要正文后,列出3-5个关键词。“关键词:”是关键词部分的引导,不可省略。 关键词请尽量用《汉语主题词表》等词表提供的规范词。最后不加标点符号。 关键词:写作规范;排版格式;课程设计 ,

1.1 论文格式基本要求 (1) 1.2 论文页眉页脚的编排 (1) 1.3 论文正文格式 (2) 1.4 章节标题格式 (2) 1.5 各章之间的分隔符设置 (2) 1.6 正文中的编号 (3) 2 图表及公式的格式说明 (4) 2.1 图的格式说明 (4) 2.1.1 图的格式示例 (4) 2.1.2 图的格式描述 (5) 2.2 表的格式说明 (5) 2.2.1 表的格式示例 (5) 2.2.2 表的格式描述 (6) 2.3 参考文献的格式说明 (6) 2.3.1 参考文献在正文中引用的书写格式 (6) 2.3.2 参考文献的书写格式 (6) 3 打印说明 (8) 3.1 封面 (8) 3.2 中英文摘要 (8) 3.3 目录 (8) 3.4 正文 (8) 4 第4章题目(黑体,小三,1.5倍行距,段后1行) (9) 4.1 第一节题目(黑体,四号,1.5倍行距,段前0.5行) (9) 4.1.1 第一节一级题目(黑体,小四,1.5倍行距,段前0.5行) (9) 结论 (10) 参考文献 (11) 致谢.................................................................................................. 错误!未定义书签。

数据库课程设计(完整版)

HUNAN CITY UNIVERSITY 数据库系统课程设计 设计题目:宿舍管理信息系统 姓名: 学号: 专业:信息与计算科学 指导教师: 20年 12月1日

目录 引言 3 一、人员分配 4 二、课程设计目的和要求 4 三、课程设计过程 1.需求分析阶段 1.1应用背景 5 1.2需求分析目标5 1.3系统设计概要 5 1.4软件处理对象 6 1.5系统可行性分析 6 1.6系统设计目标及意义7 1.7系统业务流程及具体功能 7 1.8.1数据流程图8 2.系统的数据字典11 3.概念结构设计阶段 13 4.逻辑结构设计阶段 15 5.物理结构设计阶段 18 6.数据库实施 18 7.数据库的运行和维护 18 7.1 解决问题方法 19 7.2 系统维护 19 7.3 数据库性能评价 19 四、课程设计心得. 20参考文献 20

引言 学生宿舍管理系统对于一个学校来说是必不可少的组成部分。目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条一条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。本系统具有运行速度快、安全性高、稳定性好的优点,并且具备修改功能,能够快速的查询学校所需的住宿信息。 面对目前学校发展的实际状况,我们通过实地调研之后,对宿舍管理系统的设计开发做了一个详细的概述。

VB程序设计课程设计报告完整版

V B程序设计课程设计 报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

《VB程序设计》 课程设计报告(2016 — 2017 学年第 1 学期) 题目:排序演示 学院:经济与管理学院 班级:物流管理1502 学号: 姓名: 指导教师:阮冰 时间:起 2017年1月3日止 1月6日

一、课程设计基本信息 课程代码:05190124 课程名称:计算机基础课程设计 课程英文名称: Computer-based Course Design 课程所属单位(院(系)、教研室):数学与计算机学院计算机基础课程群 课程面向专业:生物科学类、制药工程、制药工程(生物制药)、药物制 剂、物流管理 课程类型:必修课 先修课程:大学计算机基础通识选修课程、Visual Basic程序设计课程学分:1 总学时:16 二、课程设计目标 掌握所学语言程序设计的方法,熟悉所学语言的开发环境及调试过程,熟悉所学语言中的数据类型,数据结构、语句结构、运算方法,巩固和加深对理论课中知识的理解,提高学生对所学知识的综合运用能力。通过综合设计要求达到下列基本技能: 1.培养查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。 2.通过对所选题目方案分析比较,确立方案,编制与调试程序,初步掌握程序设计的方法,能熟练调试程序。 3.系统设计编程简练,可用,功能全面,并有一定的容错能力。用户界面良好,有较好的输出功能。在完成课题基本要求后,具有创新型设计,具有一定的实用价值。 4.根据个人的设计调试过程,撰写设计报告。 三、课程设计内容 利用已掌握的VB程序设计语言基础,以及面向对象的程序设计方法、事件驱动的编程方式,进行应用程序和系统的开发设计。在强化巩固已有编程知识基础之上,训练新的设计与编程思路,通过综合应用所学知识设计、编制、调试实用的Visual Basic程序。 四、课程设计要求 1.要求每个同学都要认真对待,积极参与。 2.课程设计结束时,提交完成的所有源程序、相关文件和可执行文件。同 时填写并完成《课程设计报告册》。 3.不符合要求的程序、设计报告、抄袭的设计报告或源程序代码、在设计 中完全未参与的将作不及格处理。 五、考核方式

数据库课程设计报告模板

华南农业大学课程设计报告 实验项目名称:数据库系统课程设计 实验项目性质:课程设计 计划学时:2周 所属课程名称:数据库系统 开设时间:2013学年第二学期 授课学生: 10网络工程1班 授课人数:1 实验课指导教师:郭玉彬

华南农业大学信息学院 数据库系统课程设计成绩单 开设时间:2010年第二学期

数据库系统课程设计说明书1引言 1.1编写目的 1.2定义 一些本文档中出现名词的解释 1.3参考资料 《数据库系统概念》、《用友财务管理系统》 2需求分析 2.1功能分析 2.1.1XX1功能需求 分别列出各部分功能需求 2.1.2XX2功能需求 2.2用例图 以用例图或类似结构详细列出系统功能,并给出每个用例的处理过程

2.3数据字典(数据需求) 1、数据项 2. 数据流 3数据库设计 3.1概念结构设计 3.1.1 ER图 3.1.2 解析 3.2逻辑结构设计 回答下列问题,并给出三级模式结构(模式、外模式和物理模式)。 ●给出数据库元素的命名规则,如表、字段、视图等分别如何命名。 现实中的对象用现实中的名,而关系则用两个对象的名用相连表示。而字段则把对象的应有属性名充当。 ●如何进行用户管理,系统分几类用户,角色有哪些?不同用户权限如何? 在这个仓库管理系统中只有仓库管理员这个用户。 ●将使用什么方法来检索和修改数据? 在系统中编写代码用SQL语句来实现。 ●是否使用触发器维护数据库的一致性,你用它们来完成哪些工作? 无。 ●是否使用存储过程、自定义函数来完成部分编程工作,你用它们来完成哪些 工作? 并没有使用存储过程,但用函数来封装对数据库的操作(增、删、改、查)。3.2.1 数据库模式设计 (1) 每张表的结构(包括字段、主键、外键、约束、索引等)

(完整版)C语言课程设计实验报告

目录 目录 (1) 第1章问题描述 (2) 1.1 题目 (2) 1.2基本要求 (2) 第2章需求分析 (2) 1.1软件的基本功能 (2) 1.2输入/输出形式 (2) 1.3测试数据要求 (3) 第3章概要设计 (3) 1.1主程序 (3) 第4章详细设计 (4) 1.1数据类型 (4) 1.2伪码算法 (4) 1.3 程序流程图 (7) 第5章操作 (8) 1.1 进入足球比赛积分排行榜界面 (8) 1.2进入目录 (8) 1.3输入球队比赛信息 (10) 1.4 显示九轮比赛排行榜 (12) 1.5 保存数据 (15) 1.6 由D 盘查看数据 (16) 第6章参考文献 (16)

第1章问题描述 1.1 题目 足球比赛积分排行榜程序 1.2基本要求 (1)10个足球队进行9轮循环赛,胜一场积3分,平一场积1分,输一场积0分。 (2)如果两个队积分相同,进行净胜球的比较,如果净胜球再相同进行总进球的比较。 (3)编写一程序输入每轮比赛的比分,并可以存储。 (4)最后统计出每轮比赛的积分榜。 第2章需求分析 1.1软件的基本功能 (1)输入10个足球队的9轮比赛进球数。 (2)计算10个球队的积分,净胜球,总进球。 (3)对9轮比赛进行排序。 1.2输入/输出形式 由键盘输入,屏幕输出,并且以TXT形式保存。

1.3测试数据要求 输入九轮比赛10个足球队的进球数,由系统统计积分、净胜球、总进球数,并输出。 第3章概要设计 1.1主程序 头文件: #include 说明:main函数的头文件,控制整个程序。 #include 说明:清屏的头文件。 #include 说明:包括了大量的函数原型,调用现成的库函数。 #include 说明:基于char*的字符串处理函数。 全局变量: void input(); 输入数据函数 void sort(); 排序数据函数 void display(); 显示数据函数 void save(); 保存数据函数

数据库课程设计模板(实例)

1.前言 (2) 1.1选题的理由和实际意义 (2) 1.2国内外关于该课题的研究现状及趋势 (3) 2需求分析 (5) 2.1 用户对系统要求 (5) 2.2功能介绍 (5) 3 系统设计 (7) 3.1定义 (7) 3.2系统模块图 (7) 3.4 数据表的设计 (8) 3.5 用例列举 (11) 3.5.1建立数据表 (11) 3.5.2建立视图 (14) 3.5.3建立索引 (15) 3.5.4约束条件的增加、删除、修改 (15) 3.5.5查询语句 (15) 3.5.6建立存储过程,触发器 (17) 4 总结 (18)

1.前言(本部分要有因果关系,前后通顺)1.1选题的理由和实际意义 随着IT事业的发展,如今,我们已经全面跨入信息时代。计算机被广泛的应用于各个行业,人工战略已经转化为信息战略,如何在短时间内获取大量信息并整合信息,成为立足于时代的关键。 为了适应考生人数的急剧增长,当今社会各大高校都在进行扩招政策,学生数量的急剧增加带来信息量的成倍增长,由于信息管理的不善与疏忽,各大高校大小事故时有发生。进行正确的信息管理,对于信息及时处理和反应,能够最大程度的减少学校以及在校学生的损失,减小潜在危机。 学生宿舍是学生生活的基本单位,是同学休息与学习的地方,为了保障同学入住学生宿舍的安全性,信息的处理和管理极为重要。据了解,本校的宿舍信息管理仍然使用传统的手工方式,主要方式是基于文本、表格等纸介质的手工处理,用人工手抄对男女生信宿信息进行处理登记。数据信息处理工作量大,容易出错且不易修改;由于数据繁多,容易丢失,逐条查找记录的方式不易操作,浪费了大量的时间,效率极低。学校的宿舍管理缺乏系统,规范的信息管理手段。 建立学生宿舍管理系统,使宿舍管理工作系统化,规范化,便捷化,程序化,避免宿舍管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改宿舍情况。 随着高校规模的扩大,在校学生的基本情况随之层次化、多样化、复杂化,相应的,学生管理工作面临严峻的挑战。高校学生信息日渐庞大,相应的宿舍管理工作变得复杂而困难。传统的账本化工作模式,手工记录学生信息并存档,这样的人工管理方式费时、费事、费力,信息获取慢,更新滞后,查阅困难,容易出错。为了给学生提供一个安全舒适的工作、生活、学习环境,方便宿舍管理工作的同时为学生、教师提供准确实时的信息至关重要。 本校的宿舍信息管理,主要方式是基于文本、表格等纸介质的手工处理,用人工手抄对男女生信宿信息进行处理登记。数据信息处理工作量大,容易出错且不易修改;由于数据繁多,容易丢失,逐条查找记录的方式不易操作,浪费了大量的时间,效率极低。 以上的管理缺陷对学生宿舍管理造成了相当大的阻力,工作进展困难,问题

程序设计语言 课程设计题目(补充)

课程设计题目 题目七:销售管理系统 问题描述:设计一个日用商品销售管理系统,以小型超市商品销售为管理对象来设计系统。实现功能:根据销售信息(包含如下内容:商品编号、销售数量、销售单价、销售日期、销售人员;保存为磁盘文件),实现对商品日常信息的管理。 1、日用商品销售信息输入 运用人机对话方式实现商品的商品编号、销售数量、销售单价、销售日期、销售人员的信息录入,以文件的形式保存其信息 2、商品销售信息查询: a) 根据商品编号查询所售商品明细(数量,单价,金额) b) 根据销售日期查询当天所售商品明细(数量,单价,金额) c) 根据销售人员查询某营业员所售商品明细(数量,单价,金额) 3、商品销售信息统计 a) 日销售额统计(按商品编号,销售人员,全部商品)及总销售额统计 b) 月销售额(按商品编号,销售人员,全部商品)及总销售额统计 c) 月度销售排名(按商品编号,销售人员) 知识点:结构体类型变量的应用,文件操作,数据的查询,函数的应用 说明:以十组商品三个营业员构成二十组商品数据 题目八:职工工作量统计系统 问题描述:设计一个以班组职工日常工作量统计为对象的管理系统。 实现功能:根据组内职工日常工作信息(包含如下内容:职工编号,职工姓名,工作内容,完成数量,完成质量,完成日期;保存为磁盘文件),实现对职工日常工作量信息的管理。 1、职工日常工作量信息输入 运用对话方式分别输入职工编号,职工姓名,完成数量,完成质量(优、良、中),完成日期,对就多个完成质量的信息录入,以文件的形式保存其信息 2、职工日常工作量信息统计与输出 a) 以完成工作数量及完成质量进行工作量当日统计排序。名次相同,以完成数量多者优先,再次相同,以职工编号小者优先。 b) 以一个星期为一时间段按上述规则进行排序。 知识点:结构体类型变量的应用,文件操作,数据的查询与排序。 说明:以十人构成一个班组,每天大家都做同一工作来构成数据 题目九:通讯录管理系统 建立一通讯录,输入姓名、电话号码、住址等信息,然后对通信簿进行显示、查找、添加、修改及删除。 功能要求 (1) 通讯录的每一条信息包括姓名、单位、固定电话、移动手机、分类(如同事、朋友、同学、家人等)、EMAIL、QQ等。 (2) 输入功能:可以一次完成若干条信息的输入。 (3) 显示功能:完成全部通讯录信息的显示(一屏最多显示10条,超过十条应能够自动分

相关文档
最新文档