资源简介
用c语言写的的一个电梯仿真系统,实现了图形模拟,比较完善。
代码片段和文件信息
#include
#include
#include
#include
#include
#include
/*键盘扫描码*/
#define VK_DOWN 0x5000
#define VK_UP 0x4800
#define VK_ESC 0x011b
#define VK_ENTER 0x1c0d
/*主键盘数字*/
#define VK_1 0x0231
#define VK_2 0x0332
#define VK_3 0x0433
#define VK_4 0x0534
#define VK_5 0x0635
#define VK_6 0x0736
#define VK_7 0x0837
#define VK_8 0x0938
#define VK_9 0x0a39
#define VK_0 0x0b30
#define TIMER 0x1c
#define __CPPARGS
#define MAX_FLOOR_NUM 10
#define ELEVATOR_LIMIT_NUM 25
/*电梯运行状态 */
#define UP 0
#define DOWN 1
#define WAIT 2
enum BOOL {FALSETRUE};
/*电梯的数据结构*/
typedef struct elevator{
int state; /*电梯的状态*/
int current; /*电梯目前所处楼层*/
int destination; /*电梯的目标楼层*/
int num; /*电梯内人数*/
}Elevator;
Elevator elevator; /*定义一个电梯*/
int callIn[MAX_FLOOR_NUM][2];/*记录每层呼叫电梯的人数0位向上,1位向下 */
int callOut[MAX_FLOOR_NUM]; /*记录每层下去的人数 */
enum BOOL light[MAX_FLOOR_NUM][2];
enum BOOL flag;
enum BOOL flagUp;
enum BOOL flagDown;
int TimerCounter=0 /* 计时变量,每秒钟增加1 */
floor=1keycalling=1up_or_down=UPwaittime=20 total=0
x=270
y=52
x0=365
y0=50
bx=315
by=40
ex=345
ey=80;
/* 指向原来时钟中断处理过程入口的中断处理函数指针(句柄) */
void interrupt ( *oldhandler)();
/* 新的时钟中断处理函数 */
void interrupt newhandler( )
{
/* increase the global counter */
TimerCounter++;
/* call the old routine */
oldhandler();
}
/* 设置新的时钟中断处理过程 */
void SetTimer(void interrupt (*IntProc)())
{
oldhandler=getvect(TIMER);
disable(); /* 设置新的时钟中断处理过程时,禁止所有中断 */
setvect(TIMERIntProc);
enable(); /* 开启中断 */
}
/* 恢复原有的时钟中断处理过程 */
void KillTimer()
{
disable();
setvect(TIMERoldhandler);
enable();
}
void graph_mode() /*图形模式初始化函数*/
{
int driver=VGAmode=VGAHIg_error;
initgraph(&driver&mode““);
g_error=graphresult();
if(graphresult()<0)
{ printf(“initgraph error:%s\n“grapherrormsg(g_error));
exit(1);
}
}
void instruction()
{
int up=30down=31up_arrow=24down_arrow=25;
setcolor(12);
settextstyle(302);
outtextxy(20010“Elevator Imitated Program“);
setcolor(WHITE);
settextstyle(001);
rectangle(2060170340);
setcolor(12);
outtextxy(5068“INSTRUCTION“);
setcolor(YELLOW);
outtextxy(3083&up);
outtextxy(3090&down);
setcolor(3);
outtextxy(4288“button outside“);
setcolor(WHITE);
circle(321105);
setfillstyle(1GREEN);
floodfill(32110WHITE);
setcolor(3);
outtextxy(42108“button inside“);
setcolor(YELLOW);
outtextxy(30125“use bioskey:“);
setcolor(12);
outtextxy(30140&up_arrow);
outtextxy(30160&down_ar 属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 34746 2010-05-21 15:20 可执行文件\LI490B~1.EXE
文件 8249 2010-05-21 15:20 可执行文件\LI490B~1.OBJ
文件 5363 1989-05-11 02:01 可执行文件\Egavga.bgi
文件 6253 1988-08-29 02:00 可执行文件\Cga.bgi
文件 16244 2010-05-21 15:20 代码\lift_simulation-5.c
目录 0 2010-05-21 15:53 可执行文件
目录 0 2010-05-21 15:50 代码
----------- --------- ---------- ----- ----
70855 7
- 上一篇:神经网络实现异或问题
- 下一篇:数据结构课程设计\\算术表达式求解
相关资源
- C语言编程常见问题解答.pdf
- 操作系统c语言模拟文件管理系统844
- C语言开发实战宝典
- C++中头文件与源文件的作用详解
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- 个人日常财务管理系统(C语言)
- c语言电子商务系统
- 小甲鱼C语言课件 源代码
- 将图片转换为C语言数组的程序
- C语言实现的一个内存泄漏检测程序
- DES加密算法C语言实现
- LINUX下命令行界面的C语言细胞游戏
- 用单片机控制蜂鸣器播放旋律程序(
- 学校超市选址问题(数据结构C语言版
- 电子时钟 有C语言程序,PROTEUS仿真图
川公网安备 51152502000135号
评论
共有 条评论