1 1 北邮模拟银行系统_命令行版_源代码(C语言版 C-Free)
以此怀念 我幼稚的不冷静 大一下 干了一些事 至少努力过 努力不错过 这段有点冲动的时期 毕竟青春 再见 宏福 再见 大一
By 北邮14级13班 颜力琦
constant.h
#define Wait 0//等待服务状态
#define DistributeForOrdinary 1//分配普通客户状态 #define WaitForVIPNum 2//等待VIP身份号状态 #define CheckVIP 3//核对VIP身份号状态 #define DistributeForVIP 4//分配VIP客户状态 #define Quit 5//下班指令发出,锁定取号机状态
#define Unopen 10//窗口关闭状态 #define WaitWin 11//窗口等待状态 #define Serve 12//窗口服务状态 #define Call 13//窗口叫号状态 #define Rest 14//窗口休息状态 #define Closed 15//窗口下班状态
variable.h
FILE *fptr1;//读取信息的文件 FILE *fptr2;//输出文件
FILE *fptr3;//输出统计数据文件 FILE *fVIP;//VIP文件打开指针
int state = 0;//取号机状态值
int closeOrder = 0;//下班指令是否发出 int WinCount, VIPWinCount;//营业窗口数 int change = 0;//是否有事件发生
2 1
struct VIPInformation VIPInfo; //VIP客户资料 struct WINDOWS Win[8]; //8个窗口编号0-7
int MaxSeqLen;//单队列最大允许等待长度 int MinSec;//单业务办理最短时长 int MaxSec;//单业务办理最长时长 int MinRestSec;//窗口休息最短时长 int MaxRestSec;//窗口休息最长时长 int VIPSERVLen;//VIP窗口设置时长
int maxNUM=0;//最大普通服务号码 int minNUM=0;//最小普通服务号码
int VIPmaxNUM=0;//最大VIP服务号码 int VIPminNUM=0;//最小VIP服务号码
char SERVE[3] = {0};//最大客户服务号码
HANDLE hScreenMutex;//保存互斥对象的句柄
Main.c
#include
#define DEBUG
void initialize(void);//初始化函数
3 1 void get_input(void); //输入函数 void control(void);//系统控制函数 void print_message(void);//输出函数
void print_file(void);//输出到运行情况的记录(结果)文件
void print_statisticsFile(void);//输出到运行情况的记录(结果)文件 void bankError(void);//特殊情况
void rest(int n); //处理窗口休息请求
void InputVIPInformation(void);//VIP客户资料维护 void queue(void);//为普通客户排队 void queueVIP(void);//为VIP排队 void windowWork(void);//各窗口控制 void windowControl(void);//增减窗口控制
//VIP客户资料维护部分 void correct(void); void Delete(void); void add(void); void menu(void);
int VIPInformationupdate(void);
struct VIPInformation { char name[10]; int num; int account; };
struct WINDOWS //存储窗口信息 { int IsVIP; int WindowState; int serveNum; int start;//记录事件发生时间 int timeInterval;//时间间隔 int closeLater;//服务完毕后是否关闭 int appraise;//客户满意度评价 int sum;//总共受理客户数 clock_t timeSum;//总业务办理时长 int restLater;//服务完毕后是否休息 };
main() { clock_t start, finish; //初始化 initialize();
//创建线程 DWORD ThreatID = 1; hScreenMutex = CreateMutex(NULL, FALSE, \创建互斥对象 HANDLE hRead1
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)get_input,NULL,0,&ThreatID); CloseHandle(hRead1); printf(\Welcome to 模拟银行营业******************************\\n\ //运行 while((VIPWinCount!=0||WinCount!=0)||state!=Quit) { WaitForSingleObject(hScreenMutex, INFINITE);//申请互斥对象所有权 control(); //模拟系统运行函数
print_message(); //信息输出函数 print_file();
ReleaseMutex(hScreenMutex);//释放互斥对象所有权 } fclose(fptr2); print_statisticsFile();//输出统计结果文件 printf(\服务结束,是否退出程序\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\a\ system(\ return 0; }
4 1 =
厅
5 1
void initialize(void) { FILE *file; int i; //打开文件 fptr2=fopen(\ file=fopen(\ if(fptr2==NULL||file==NULL){ printf(\ exit(0); } //8个窗口状态初始化 Win[0].IsVIP = 1; Win[0].WindowState = WaitWin; Win[1].IsVIP = 1; Win[1].WindowState = Unopen; Win[2].IsVIP = 0; Win[2].WindowState = WaitWin; Win[3].IsVIP = 0; Win[3].WindowState = WaitWin; Win[4].IsVIP = 0; Win[4].WindowState = WaitWin; Win[5].IsVIP = 0; Win[5].WindowState = Unopen; Win[6].IsVIP = 0;
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新幼儿教育模拟银行排队取号系统 - 命令行版 - 代码 全文阅读和word下载服务。
相关推荐: