C语言设计图书登记系统与停车场管理系统的实例分享

图书登记管理系统

图书登记管理系统应该具有下列功能:
(1)、 通过键盘输入某本图书的信息;
(2) 、给定图书编号,显示该本图书的信息;
(3) 、给定作者姓名,显示所有该作者编写的图书信息;
(4) 、给定出版社,显示该出版社的所有图书信息;
(5) 、给定图书编号,删除该本图书的信息;
(6) 、提供一些统计各类信息的功能。

程序完整的实现代码如下:

#include "stdio.h"
#include "stdlib.h"
#include "string.h"
typedef struct book
{
  int book_id;     //图书编号
  char book_name[20];  //图书名字
  char name[20];    //作者姓名
  char press[20];    //出版社
  struct book *next;
}book;
book *head=NULL;
int length;  //链表的长度 

void create()
{
  book *p1,*p2;
  length=0;
  p1=(book *)malloc(sizeof(book));
  p1->book_id=-1;
  if(head==NULL)
    head=p1;
  printf("请输入图书的编号、名字、作者姓名、出版社信息:\n");
  while(1) //图书编号为0的时候退出
  {
    p2=(book *)malloc(sizeof(book));
    scanf("%d %s %s %s",&p2->book_id,p2->book_name,p2->name,p2->press); //输入图书信息
    if(p2->book_id==0)
    {
      printf("图书信息输入完成!\n");
      break;
    }
    length++; //链表的长度
    p1->next=p2;
    p2->next=NULL;
    p1=p1->next;
  }
  return ;
} 

void display()
{
  book *p=head->next;
  printf("链表中所有的图书信息如下:\n");
  while(p!=NULL)
  {
    printf("%d %s %s %s\n",p->book_id,p->book_name,p->name,p->press);
    p=p->next;
  }
  return ;
}
void search()
{
  int num,x,flag1=0,flag2=0;
  char name[20],press[20];
  book *p=head->next;
  printf("1、根据图书编号进行查找\n");
  printf("2、根据作者姓名进行查找\n");
  printf("3、根据出版社进行查找\n");
  printf("请选择功能:");
  scanf("%d",&x);
  if(x==1)
  {
    printf("需要查找的图书编号为:");
    scanf("%d",&num); 

    while(p!=NULL)
    { 

      if(p->book_id==num)
      {
        printf("图书编号为%d的图书的信息如下:\n",num);
        printf("%d %s %s %s\n",p->book_id,p->book_name,p->name,p->press);
        return;
      }
      p=p->next;
    }
    if(p==NULL)
      printf("无此记录!\n");
  }
  else if(x==2)
  {
    printf("需要查找的作者姓名为:");
    scanf("%s",name);
    while(p!=NULL)
    {
      if(strcmp(p->name,name)==0)
      {
        if(flag1==0)
          printf("作者%s编写的图书信息如下:\n",name);
        flag1=1;
        printf("%d %s %s %s\n",p->book_id,p->book_name,p->name,p->press);
      }
      p=p->next;
    }
    if(flag1==0)
      printf("图书馆没有作者%s编写的图书!\n",name);
  }
  else if(x==3)
  {
    printf("需要查找的出版社为:");
    scanf("%s",press);
    while(p!=NULL)
    {
      if(strcmp(p->press,press)==0)
      {
        if(flag2==0)
          printf("出版社为%s编写的图书信息如下:\n",press);
        flag2=1;
        printf("%d %s %s %s\n",p->book_id,p->book_name,p->name,p->press);
      }
      p=p->next;
    }
    if(flag2==0)
      printf("图书馆没有出版社%s编写的图书!\n",press);
  }
  return ;
} 

void Delete()
{
  int num;
  book *p,*q;
  q=head,p=head->next;
  printf("请输入要删除的图书编号:\n");
  scanf("%d",&num); 

  while(p!=NULL)
  {
    if(p->book_id==num)
    {
      q->next=p->next;
      free(p);
      length--;
      printf("删除成功!\n");
      return ;
    }
    p=p->next;
    q=q->next;
  }
  if(p==NULL)
  {
    printf("找不到要删除的图书编号!\n");
    return ;
  }
}
void menu()
{
  printf("________________________________________________________________\n");
  printf("|        图书登记管理系统                |\n");
  printf("|        0、 退出系统                  |\n");
  printf("|        1、 输入图书信息                |\n");
  printf("|        2、 显示图书信息                |\n");
  printf("|        3、 查询图书信息                |\n");
  printf("|        4、 删除图书信息                |\n");
  printf("________________________________________________________________\n");
  return ;
}
int main(void)
{
  int a;
  menu();
  while(1)
  {
    printf("请选择相应的功能:");
    scanf("%d",&a);
    switch(a)
    {
    case 0:
      return 0;
    case 1:
      create();
      menu();
      break;
    case 2:
      if(head)
      {
        display();
        menu();
      }
      else
      {
        printf("图书信息为空,请先输入图书信息!\n");
        menu();
      }
      break;
    case 3:
      if(head)
      {
        search();
        menu();
      }
      else
      {
        printf("图书信息为空,请先输入图书信息!\n");
        menu();
      }
      break;
    case 4:
      if(head)
      {
        Delete();
        menu();
      }
      else
      {
        printf("图书信息为空,请先输入图书信息!\n");
        menu();
      }
      break;
    default:
      break;
    }
  }
  system("pause");
  return 0;
}

停车场管理系统
设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在停车场的最北端),若停车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。
基本要求:
以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表结构实现。

完整的实现代码如下:

第一种方法:

#include "stdio.h"
#include "stdlib.h"
#include "string.h" 

#define MAX 2  //车库容量
#define price 0.05  //每车每分钟费用
typedef struct time //时间结点
{
  int hour;
  int min;
}Time;
typedef struct node //车辆信息结点
{
  char num[10];
  Time reach;
  Time leave;
}CarNode;
typedef struct NODE  //模拟车站
{
  CarNode *stack[MAX+1];
  int top;
}SeqStackCar;
typedef struct car
{
  CarNode *data;
  struct car *next;
}QueueNode;
typedef struct Node //模拟通道
{
  QueueNode *head;
  QueueNode *rear;
}LinkQueueCar; 

void InitStack(SeqStackCar *); //初始化栈
int InitQueue(LinkQueueCar *); //初始化便道
int arrival(SeqStackCar *,LinkQueueCar *); //车辆到达
void leave(SeqStackCar *,SeqStackCar *,LinkQueueCar *); //车辆离开
void list(SeqStackCar,LinkQueueCar); //显示存车信息 

int main(void)
{
  SeqStackCar Enter,Temp;
  LinkQueueCar Wait;
  int ch;
  InitStack(&Enter);  //初始化车站
  InitStack(&Temp);   //初始化让路的临时栈
  InitQueue(&Wait);   //初始化通道
  while(1)
  {
    printf("\n        1. The car arrive\n");
    printf("        2. The car leave\n");
    printf("        3. The schedule\n");
    printf("        4. Exit\n");
    while(1)
    {
      scanf("%d",&ch);
      if(ch>=1 && ch<=4)
        break;
      else
        printf("\nPlease choose: 1|2|3|4.");
    }
    switch(ch)
    {
    case 1:
      arrival(&Enter,&Wait);  //车辆到达
      break;
    case 2:
      leave(&Enter,&Temp,&Wait);  //车辆离开
      break;
    case 3:
      list(Enter,Wait);break;  //列表打印信息
    case 4:
      exit(0);  //退出主程序
    default:
      break;
    }
  }
}  

void InitStack(SeqStackCar *s) //初始化栈
{
  int i;
  s->top=0;
  for(i=0;i<=MAX;i++)
    s->stack[s->top]=NULL;
}
int InitQueue(LinkQueueCar *Q) //初始化便道
{
  Q->head=(QueueNode *)malloc(sizeof(QueueNode));
  if(Q->head!=NULL)
  {
    Q->head->next=NULL;
    Q->rear=Q->head;
    return 1;
  }
  else return -1;
}
void print(CarNode *p,int room) //打印出站车的信息
{
  int A1,A2,B1,B2;
  printf("\nplease input thedepart time:/**:**/");
  scanf("%d:%d",&(p->leave.hour),&(p->leave.min));
  printf("\nthe number of the car:");
  puts(p->num);
  printf("\nthe time the car arrive: %d:%d",p->reach.hour,p->reach.min);
  printf("the depart time: %d:%d",p->leave.hour,p->leave.min);
  A1=p->reach.hour;
  A2=p->reach.min;
  B1=p->leave.hour;
  B2=p->leave.min;
  printf("\nthe fee: %2.1f元",((B1-A1)*60+(B2-A2))*price);
  free(p);
}
int arrival(SeqStackCar *Enter,LinkQueueCar *W) //车辆到达
{
  CarNode *p;
  QueueNode *t;
  p=(CarNode *)malloc(sizeof(CarNode));
  flushall();
  printf("\ninput the number of the car(例:陕A1234):");
  gets(p->num);
  if(Enter->top<MAX)   //车场未满,车进车场
  {
    Enter->top++;
    printf("\nthe place of the car.",Enter->top);
    printf("\nthe time thecar arrive:/**:**/");
    scanf("%d:%d",&(p->reach.hour),&(p->reach.min));
    Enter->stack[Enter->top]=p;
    return 1;
  }
  else   //车场已满,车进便道
  {
    printf("\n该车须在便道等待!");
    t=(QueueNode *)malloc(sizeof(QueueNode));
    t->data=p;
    t->next=NULL;
    W->rear->next=t;
    W->rear=t;
    return 1;
  }
}
void leave(SeqStackCar *Enter,SeqStackCar *Temp,LinkQueueCar *W)  //车辆离开
{
  int i, room;
  CarNode *p,*t;
  QueueNode *q;
  //判断车场内是否有车
  if(Enter->top>0) //有车
  {
    while(1) //输入离开车辆的信息
    {
      printf("\n请输入车在车场的位置/1--%d/:",Enter->top);
      scanf("%d",&room);
      if(room>=1&&room<=Enter->top)
        break;
    }
    while(Enter->top>room) //车辆离开
    {
      Temp->top++;
      Temp->stack[Temp->top]=Enter->stack[Enter->top];
      Enter->stack[Enter->top]=NULL;
      Enter->top--;
    }
    p=Enter->stack[Enter->top];
    Enter->stack[Enter->top]=NULL;
    Enter->top--;
    while(Temp->top>=1)
    {
      Enter->top++;
      Enter->stack[Enter->top]=Temp->stack[Temp->top];
      Temp->stack[Temp->top]=NULL;
      Temp->top--;
    }
    print(p,room);
    //判断通道上是否有车及车站是否已满
    if((W->head!=W->rear)&&Enter->top<MAX) //便道的车辆进入车场
    {
      q=W->head->next;
      t=q->data;
      Enter->top++;
      printf("\n便道的%s号车进入车场第%d位置.",t->num,Enter->top);
      printf("\n请输入现在的时间/**:**/:");
      scanf("%d:%d",&(t->reach.hour),&(t->reach.min));
      W->head->next=q->next;
      if(q==W->rear) W->rear=W->head;
      Enter->stack[Enter->top]=t;
      free(q);
    }
    else
      printf("\n便道里没有车.\n");
  }
  else
    printf("\n车场里没有车."); //没车
}
void list1(SeqStackCar *S)   //列表显示车场信息
{
  int i;
  if(S->top>0)  //判断车站内是否有车
  {
    printf("\n车场:");
    printf("\n 位置 到达时间 车牌号\n");
    for(i=1;i<=S->top;i++)
    {
      printf(" %d ",i);
      printf("%d:%d ",S->stack[i]->reach.hour,S->stack[i]->reach.min);
      puts(S->stack[i]->num);
    }
  }
  else
    printf("\n车场里没有车");
}
void list2(LinkQueueCar *W)  //列表显示便道信息
{
  QueueNode *p;
  p=W->head->next;
  if(W->head!=W->rear)  //判断通道上是否有车
  {
    printf("\n等待车辆的号码为:");
    while(p!=NULL)
    {
      puts(p->data->num);
      p=p->next;
    }
  }
  else
    printf("\n便道里没有车.");
}
void list(SeqStackCar S,LinkQueueCar W)
{
  int flag,tag;
  flag=1;
  while(flag)
  {
    printf("\n请选择 1|2|3:");
    printf("\n1.车场\n2.便道\n3.返回\n");
    while(1)
    {
      scanf("%d",&tag);
      if(tag>=1 || tag<=3)
        break;
      else
        printf("\n请选择 1|2|3:");
    }
    switch(tag)
    {
    case 1:
      list1(&S);
      break;  //列表显示车场信息
    case 2:
      list2(&W);
      break;  //列表显示便道信息
    case 3:
      flag=0;
      break;
    default: break;
    }
  }
} 

第二种方法:

#include "stdio.h"
#include "stdlib.h" 

#define SIZE 10
typedef struct
{
  int hour;
  int min;
}time;   //车的时间结构体 

typedef struct
{
  int num;
  int position;
  time t;
  float money;
}Car;   //车的信息
typedef struct
{
  Car elem[SIZE+1];
  int top;    //指向便道中的第一个空位
} Stack;      //创建堆栈 

typedef struct Node
{
  Car data;
  struct Node *next;
}CQueueNode; 

//建立过道的程序:
typedef struct
{
  CQueueNode *front;
  CQueueNode *rear;
}LinkQueue;  //设置的便道 

//便道初始化程序
void InitQueue(LinkQueue *Q)
{
  Q->front=(CQueueNode*)malloc(sizeof(CQueueNode)); //使mallo返回的指针转换为指向CQueueNode类型数据的指针
  if(Q->front!=NULL)
  {
    Q->rear=Q->front;
    Q->front->next=NULL;
  }
} 

int EnterQueue(LinkQueue *Q,Car *t)
{
  CQueueNode *NewNode;
  NewNode=(CQueueNode*)malloc(sizeof(CQueueNode));  //给便道申请空间
  if(NewNode!=NULL)
  {
    NewNode->data.num=t->num;
    NewNode->data.t.hour=t->t.hour;
    NewNode->data.t.min=t->t.min;
    NewNode->next=NULL;
    Q->rear->next=NewNode;
    Q->rear=NewNode;
    return 1;
  }
  else return 0;
}
void InitStack(Stack *S)
{
  S->top=0;
}  //确保堆栈为空 

void Push(Stack *S,Car *r)    //便道中的车入库
{
  S->top++;
  S->elem[S->top].num=r->num;
  r->position=S->elem[S->top].position=S->top;
  S->elem[S->top].t.hour=r->t.hour;
  S->elem[S->top].t.min=r->t.min;
}
int IsEmpty(Stack* S)  //判断车库是否为空
{
  return(S->top==0?1:0);
} 

int IsFull(Stack *S)  //判断车库是否为满
{
  return(S->top==SIZE?1:0);
} 

int GetTop(Stack *S,Car *n)  //车离开车库
{
  n->num=S->elem[S->top].num;
  n->position=S->elem[S->top].position;
  n->t.hour=S->elem[S->top].t.hour;
  n->t.min=S->elem[S->top].t.min;
  return 1;
}
int DeleteQueue(LinkQueue *Q,Car *x)
{
  CQueueNode *p;
  if(Q->front==Q->rear)
    return 0;   //判断便道为空
  p=Q->front->next;   //将便道中的车放入车库
  Q->front->next=p->next;
  if(Q->rear==p)
    Q->rear=Q->front;
  x->num=p->data.num;
  x->t.hour=p->data.t.hour;
  x->t.min=p->data.t.min;
  free(p);   //释放临时指针
  return 1;
}
void In(Stack *S,LinkQueue *Q,Car*r)
{
  if(IsFull(S))
  {
    printf("车库已满,请等待!");
    EnterQueue(Q,r);   //车进入便道
  }
  else
  {
    Push(S,r);
    printf("\n您现在所在位置 %d",r->position);    //打印车的位置
  }
}
void TaM(Car *r,int h,int m)
{
  if(m>r->t.min)
  {
    r->t.min+=60;
    r->t.hour-=1;
  }
  h=r->t.hour-h;
  m=r->t.min-m;
  printf("\n停车 %d小时 %d 分钟\n",h,m);
  printf("每小时收费30元\n");
  h=h*60;m=h+m;
  r->money=0.5*m;
  printf("请支付金额%.2f元\n",r->money);   //输出车主应付金额
}
void Out(Stack *S,Stack *S0,Car *r,LinkQueue *Q)
{
  int tag=S->top;
  Car x;
  if(IsEmpty(S))
    printf("没有此车!");
  else
  {
    for(;r->num!=S->elem[tag].num && tag>0;tag--)
    {
      Push(S0,&S->elem[tag]);
      S->top--;
    }
    if(r->num==S->elem[tag].num)
    {
      TaM(r,S->elem[tag].t.hour,S->elem[tag].t.min);
      S->top--;
      for(;S0->top>0;S0->top--)
        Push(S,&S0->elem[S0->top]);
      if(S->top<SIZE && Q->front!=Q->rear)  //判断车库是否有此车,有就找到此车,然后退出
      {
        DeleteQueue(Q,&x);
        Push(S,&x);
      }
    }
    else if(tag==0)  //过道中的车无需收车费
    {
      printf("未进入停车场应支付金额 0元!");
      for(;S0->top>0;S0->top--)
        Push(S,&S0->elem[S0->top]);
    }
  }
} 

void print1(Stack *S)
{
  int tag;
  Car x;
  printf("停车场停车情况:\n");
  if(IsEmpty(S))
    printf("无车!");
  for(tag=S->top;S->top>0;S->top--)
    if(GetTop(S,&x))     //显示车库中个车的信息及到达时间
      printf("车牌号 %d,所在位置 %d,到达/离开时间 %d:%d\n",x.num,x.position,x.t.hour,x.t.min);
  S->top=tag;
} 

void print2(LinkQueue *Q)
{
  CQueueNode *p;
  p=Q->front->next;
  for(;p!=NULL;p=p->next)  //显示过道上车的信息及到达时间
    printf("等待车牌号 %d, 到达/离开时间 %d:%d",p->data.num,p->data.t.hour,p->data.t.min);
} 

void print()
{
  printf("\n***********************************欢迎光临*************************************\n");
  printf("\n 请选择:\n");
  printf("\n 1 :到达");
  printf("\n 2 :离开");
  printf("\n 3 :搜索");
  printf("\n 4 :退出\n");
  printf("\n");
} 

int main(void)
{
  int n,m,i=1,j,flag=0;
  Car c[10];
  Stack S,S0;    //设定堆栈S,SO
  LinkQueue Q;   //便道
  InitStack(&S);  //堆栈S
  InitStack(&S0);  //临时堆栈S0
  InitQueue(&Q);
  while(1)
  {
    print();
    scanf("%d",&m);
    switch(m)
    {
    case 1:
      printf("\n请输入车牌号:");
      scanf("%d",&c[i].num);
      printf("\n请输入到达/离开时间:");
      scanf("%d:%d",&c[i].t.hour,&c[i].t.min);
      In(&S,&Q,&c[i]);i++;   //车辆的情况
      break;
    case 2:
      printf("\n请输入车牌号:");
      scanf("%d",&n);
      for(j=0;j<10;j++)
        if(n==c[j].num)
          break;
      printf("\n请输入到达/离开时间:");
      scanf("%d:%d",&c[j].t.hour,&c[j].t.min);
      Out(&S,&S0,&c[j],&Q);  //车辆的情况
      break;
    case 3:
      print1(&S);   //输出车库中车的信息
      print2(&Q);   //输出过道上车的信息
      break;      //终止
    case 4:
      flag=1;
      break;
    default:
      printf("\n输入错误,请输入 1,2,3 或4");
    }
    if(flag)
      break;   //结束程序
  } return 0;
}
(0)

相关推荐

  • 快来领取!你想要的C++/C语言优秀书籍

    又一波送书活动,不要再错过了,C++/C语言优秀书籍免费领取,抓紧行动! 第一本书:C Primer Plus 第6版 中文版 (作者)[美]史蒂芬 普拉达(Stephen Prata) (译者) 姜佑 电子书下载入口 畅销的重量级C语言大百科全书 C语言从入门到精通的入门经典推荐 初学的大牛著作 第五版销售超过250000册 内容提要 本书详细讲解了C语言的基本概念和编程技巧. 全书共17章.第1.2章介绍了C语言编程的预备知识.第3~15章详细讲解了C语言的相关知识,包括数据类型.格式化输入

  • C语言的语法风格与代码书写规范指南

    C代码: #include <stdio.h> int main(void) { printf("That is Right Style\n"); return 0; } 在一个标准的C语言程序中,最特殊的莫过于main函数了,而说到底它就是一个函数而已,仅仅因为它地位特殊拥有第一执行权力,换句话说,难道因为一个人是省长它就不是人类了?所以函数该有的它都应该有,那么函数还有什么呢? 函数大体上分为内联函数(C99)(内联函数并非C++专属,C语言亦有,具体见前方链接)和非内

  • 快速入门的一些C\C++书籍

    人们常常问我有什么C++和编程的书籍推荐,今天就为大家分享了几本 第一个注意项:如果你打算学习C++,请务必学习最新版的C++ 2011.这个版本的C++移除了许多由C++强大带来的一些痛苦之处.另外,也不用担心C++ 2014的书籍,大多数编译器已经开始支持它了. 学习编程 学习编程包含以下几个重要方面: 了解语言的语法 知道那些特性可以使用和何时使用 写出可读性好的代码:编译器可以理解,但是下一个人是否可以阅读呢? 在一个更高层次设计结构良好的程序 为了学习一门语言,通常我们可以找到叫<X语

  • C语言设计图书登记系统与停车场管理系统的实例分享

    图书登记管理系统 图书登记管理系统应该具有下列功能: (1). 通过键盘输入某本图书的信息: (2) .给定图书编号,显示该本图书的信息: (3) .给定作者姓名,显示所有该作者编写的图书信息: (4) .给定出版社,显示该出版社的所有图书信息: (5) .给定图书编号,删除该本图书的信息: (6) .提供一些统计各类信息的功能. 程序完整的实现代码如下: #include "stdio.h" #include "stdlib.h" #include "s

  • Android 复制文本内容到系统剪贴板的最简单实例(分享)

    这个例子很简单,直接上截图和代码. 布局文件activity_copy.xml代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layou

  • 使用C语言编写基于TCP协议的Socket通讯程序实例分享

    tcp客户端示例 #include <errno.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <stdlib.h> #include <string.h> #include <netinet/in.h> #include <stdio.h> #include <unistd.h>

  • C语言数据结构之图书借阅系统

    本文实例为大家分享了C语言实现图书借阅系统的具体代码,供大家参考,具体内容如下 /*****************************   @title: 数据结构实验   @name: <实验2-1> 线性表(顺序表)的应用--我的图书馆   @object:       [实验目的]           应用线性表解决问题.           有若干图书,借出的书需要登记下来.            用两个线性表分别保存现有图书和借书信息,           并实现增加新书,借书

  • C语言实现图书管理系统课程设计

    目录 设计要求 实现代码 运行结果 本文实例为大家分享了C语言实现图书管理系统的具体代码,供大家参考,具体内容如下 设计要求 设计图书管理系统 要求如下: 1.对书名,作者,编号,出版单位,出版日期,类别,存放位置进行添加.删除.修改2.查询相关信息3.保存所有信息 实现代码 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> typedef struct

  • C语言图书借阅系统源码

    本文实例为大家分享了C语言图书借阅系统的具体代码,供大家参考,具体内容如下 #include "stdafx.h" #include"stdio.h" #include"conio.h" #include"string.h" #include"stdlib.h" int N; char mima[20]="mm"; /**********定义图书结构体类型book*******/ str

  • C语言课程设计之抽奖系统

    本文实例为大家分享了C语言课程设计之抽奖系统的具体代码,供大家参考,具体内容如下 该程序的功能包括: 1.设置中奖人员 2.设置内幕人员 3.添加功能 4.删除功能 5.颜色设置 6.开发人员介绍 在使用该系统之前,请先在你程序保存的位置建一个17计科2.txt文档,里面填上学号和姓名,例如:25 贺志营. 建好txt文档后就可以直接运行了 运行截图及代码如下: 主界面: 功能介绍界面: 设置奖项界面: 开始抽奖界面不好演示,它是个动态的,下面有代码,可以自己运行下 程序代码: #include

  • C语言实现新生入学登记系统

    本文实例为大家分享了C语言实现新生入学登记系统的具体代码,供大家参考,具体内容如下 项目所用数据结构:链表算法:对链表数据的增删改查操作,冒泡排序系统架构图: 项目文件结构: (1)system.h #ifndef SYSTEM_H_INCLUDED #define SYSTEM_H_INCLUDED //宏定义学生信息的一种表示形式 #define STUDENT_DATA  pMove->studentData.studentId,pMove->studentData.name,pMove

  • C语言实现图书管理系统

    目前为止跟着学校进度学习C语言大概半年左右,基础学习只学到了指针,学得非常浅.说实话,起初对C语言的印象---只是一个学习计算机语言的敲门砖,对具体C语言如何应用等,非常迷茫.直到大一下半学期的高级语言设计课程之后,试过dos运行的图形化界面的完整小程序,才发现C语言的魅力. ok,废话不多说了,下面是我第二节课的作品----C语言的图书管理系统.一个简单的小程序.并非纯原创,是基于网络搜索到的"学生管理系统"改编而成的.通过直接浏览.修改一个完整的代码,我的收获颇丰.我认为这样比枯燥

  • C语言实现简易停车场管理系统

    本文实例为大家分享了C语言实现停车场管理系统的具体代码,供大家参考,具体内容如下 问题描述: 设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出.汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入:当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,

随机推荐