欢迎来到代码驿站!

C代码

当前位置:首页 > 软件编程 > C代码

C语言数据结构实现银行模拟

时间:2020-10-24 21:27:37|栏目:C代码|点击:

C语言数据结构实现银行模拟

实现代码:

#include <stdio.h> 
#include <stdlib.h> 
#include <windows.h> 
#define MAX_WIN 20 
#define MAX_STAY 100 
typedef struct customer *link; 
struct customer 
{ 
  int stay; 
  link next; 
}; 
 
link GUY(int stay, link next) 
{ 
  link c = malloc(sizeof *c); 
  c->stay = stay; 
  c->next = next; 
  return c; 
} 
 
 
link win[MAX_WIN]; 
void morning() 
{ 
  int i; 
  for(i = 0; i < MAX_WIN; i++) 
  { 
    win[i] = NULL; 
  } 
} 
 
 
void come(int w, int stay) 
{ 
  if(win[w] == NULL) 
  { 
        win[w] = GUY(stay, NULL); 
        win[w]->next = win[w]; 
  } 
  else 
      win[w] = win[w]->next = GUY(stay, win[w]->next); 
} 
 
void leave(int w) 
{ 
  if(win[w]->next == win[w]) 
  { 
    free(win[w]); 
    win[w] = NULL; 
  } 
  else 
  { 
    link t = win[w]->next; 
    win[w]->next = t->next; 
    free(t); 
  } 
       
} 
 
 
void guys() 
{ 
  int i; 
  link t; 
  system("clear"); 
  for(i = 0; i < MAX_WIN; i++, puts(" ")) 
  { 
      printf("WIN%3d:_", i); 
      if((t = win[i]) == NULL) 
          continue; 
      for(; t->next != win[i]; t = t->next) 
      { 
        printf("%4d", t->next->stay); 
      } 
  } 
  Sleep(1); 
}   
 
void later() 
{ 
  int i; 
  for(guys(), i = 0; i < MAX_WIN; i++) 
  {   
    if(win[i] == NULL) 
        continue; 
    if(win[i]->next->stay > 0) 
        (win[i]->next->stay)--; 
    else 
        leave(i); 
  } 
} 
 
 
 
int main() 
{ 
  srand(time(NULL)); 
  for(morning; ;later()) 
  { 
    come(rand()%MAX_WIN, rand()%MAX_STAY+1); 
  } 
  return 0; 
} 

     由于这里是生成的随机数,所以程序会一直在变化。按住ctrl +c 终止程序


以上就是C语言数据结构实现银行模拟的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

上一篇:设计模式中的备忘录模式解析及相关C++实例应用

栏    目:C代码

下一篇:C++实践Time类中的运算符重载参考方法

本文标题:C语言数据结构实现银行模拟

本文地址:http://www.codeinn.net/misctech/15386.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有