📄 main.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include<winsock.h>
#include<winbase.h>
#define q0 0
#define q1 1
#define q2 2
#define q3 3
void input(void);//申明输入函数的函数头
void control(void);//申明控制函数的函数头
void output(void);//申明输出函数的函数头
int floorcall[9]={0};//定义数组floorcall记录电梯内部的呼叫
int upcall[8]={0};//定义数组upcall记录电梯外部向上的呼叫
int downcall[8]={0};//定义数组downcall记录电梯外部向下的呼叫
int CALL=0;//定义呼叫标识变量 CALL。CALL=0代表当前无呼叫,CALL=1代表当前有呼叫
char STATE='0';//定义状态变量STATE,q0,q1,q2,q3分别代表初始状态,空闲状态,运行状态,和停靠状态
int LOCATION=1;//定义变量LOCATION记录当前楼层
int HEADING=0;//定义变量HEADING记录电梯运行方向,HEADING=0无方向,HEADING=1向上运行,HEADING=2向下运行
int CALLSOURSE=0;//定义变量CALLSOURSE记录呼叫来源,CALLSOURSE=1是来源于电梯内部的呼叫,CALLSOURSE=2是来自电梯外部向上的呼叫,CALLSOURSE=3是来自电梯外部向下的呼叫
int W=0;//定义全局变量 W
int destination[100]={0};//定义数组 destination存储目标楼层
int TIME=0;//定义计时函数
int P=0;
int des[100][2]={0};
int main(int argc, char *argv[])
{
printf("请选择输入方式, a=1表示键盘输入, a=2表示从文件中输入\n");
scanf("%d",&W);//读取输入方式
printf("请输入您所需要的控制策略,1代表先来先服务策略,2代表顺便服务策略\n");
scanf("%d",&P);//读入控制策略
getchar();
DWORD ThreadID1 = 1;/*创建线程1:从键盘接收字符写入到全局变量ch中 */
HANDLE hRead1 = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)input,NULL,0,&ThreadID1);
DWORD ThreadID2 = 2;/*创建线程2:用于将全局变量写入文件*/
HANDLE hRead2 = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)output,NULL,0,&ThreadID2);
while(1)//死循环
control();//调用函数control运行控制
system("PAUSE");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -