main.c

来自「计算机的一个程序作业」· C语言 代码 · 共 42 行

C
42
字号
#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 + =
减小字号Ctrl + -
显示快捷键?