C语言图书借阅系统源码

本文实例为大家分享了C语言图书借阅系统的具体代码,供大家参考,具体内容如下

#include "stdafx.h"

#include"stdio.h"
#include"conio.h"
#include"string.h"
#include"stdlib.h"
int N;
char mima[20]="mm";
/**********定义图书结构体类型book*******/
struct book
{
  long num;
  char name[20];
  char publish[20];/*出版社*/
  struct time
  {
    int day;
    int month;
    int year;
  }t;
  int jie;/*借阅*/
}bk[20];
/********建立图书信息库********/
void xinxi()
{
  int i;
  system("CLS");
  printf("\t\t     =====================    \n");
  printf("\t\t        录入图书信息       \n");
  printf("\t\t     =====================    \n\n");
 printf("\t\t请输入您要录入的数量:");
 scanf("%d",&N);
  for(i=0;i<N;i++)
  {
 printf("\t\t请输入第%d本书的编号:",i+1);
    scanf("%d",&bk[i].num);
    printf("\t\t请输入第%d本书的名称:",i+1);
    scanf("%s",bk[i].name);
    printf("\t\t请输入第%d本书的出版社:",i+1);
    scanf("%s",bk[i].publish);
    printf("\t\t请输入第%d本书的出版时间(用逗号隔开):",i+1);
    scanf("%d,%d,%d",&bk[i].t.year,&bk[i].t.month,&bk[i].t.day);
    printf("\t\t该书是否已经被借阅,已被借阅输入'1',未被借阅输入'0':");
    scanf("%d",&bk[i].jie);
 printf("--------------------------------------------------------------------------------\n");
  }
 system("CLS");
  printf("\t\t     =====================    \n");
  printf("\t\t        信息录入完成       \n");
  printf("\t\t     =====================    \n");
  printf("\n\t\t       按任意键继续...\n");
}
/******主菜单******/
int mymainmenu()
{
  int x;
 printf("\n\n\n\n");
  printf("\t\t|-------------------------------------------------------------|\n");
  printf("\t\t|                     |\n");
  printf("\t\t|    ======================    |\n");
  printf("\t\t|      欢迎光临图书管理系统     |\n");
  printf("\t\t|    ======================    |\n");
  printf("\t\t|                     |\n");
  printf("\t\t|      1.管理员模式          |\n");
  printf("\t\t|      2.客户模式           |\n");
  printf("\t\t|      3.退出系统           |\n");
  printf("\t\t|--------------------------------------------------------------|\n");
  printf("\n\t\t请输入您的选择:");
  scanf("%d",&x);
  return x;
}
/**************管理员密码验证*****************/
int mimayanzheng()
{
 char temp_mima[20];/*用来存放用户输入的密码*/
  printf("\n");
  printf("\t\t     ======================    \n");
  printf("\t\t      欢迎使用管理员模式      \n");
  printf("\t\t     ======================    \n");
  printf("\n");
  printf("\t\t     请输入密码:");
  scanf("%s",temp_mima);
 if(strcmp(temp_mima,mima)==0)/*比较密码*/
 return 1;
 else
 return 0;
}
/**************修改密码***********/
void xiugaimima()
{
 char temp_mima[20],temp1[20],temp2[20];/* temp_mima[20]用来存放用户输入的密码,temp1[20],temp2[
20]分别用来存放用户输入的两次修改的密码*/
printf("\n");
  printf("\t\t     ======================    \n");
  printf("\t\t         修改密码         \n");
  printf("\t\t     ======================    \n");
  printf("\n");
 printf("\t\t      请输入原始密码:");
 scanf("\t\t%s",temp_mima);
  while(1)
  {
 if(strcmp(temp_mima,mima)==0)/*比较密码*/
 {
 printf("\t请输入新密码:");
 scanf("%s",temp1);
 printf("\t请再输入一次:");
 scanf("%s",temp2);
 if(strcmp(temp1,temp2)==0)/*如果输入的两次新密码都相同*/
 {
  printf("\t修改密码成功!!请记牢密码,任意键返回...");
  strcpy(mima,temp1);
  getch();break;
 }
 else
 {
  printf("\t输入两次密码不相同,修改失败!任意键返回...");
  getch();
  break;
 }
 }
 else
 {
 printf("\t密码错误!您不能进行密码修改!任意键返回...");
 getch();
 break;
 }
}
}
/**************管理员模式****************/
int adm()
{
  int x;
 printf("\n\n\n\n");
  printf("\t\t|-------------------------------------------------------------|\n");
  printf("\t\t|                     |\n");
  printf("\t\t|    ======================    |\n");
  printf("\t\t|        管理员模式        |\n");
  printf("\t\t|    ======================    |\n");
  printf("\t\t|                     |\n");
  printf("\t\t|      1.录入图书信息        |\n");
  printf("\t\t|      2.查看图书信息        |\n");
  printf("\t\t|      3.修改图书信息        |\n");
  printf("\t\t|      4.修改管理密码        |\n");
  printf("\t\t|      5.退出系统          |\n");
  printf("\t\t|-------------------------------------------------------------|\n");
  printf("\n\t\t请输入您的选择:");
  scanf("%d",&x);
  return x;
}
/******************客户模式********************/
int peo()
{
  int x;
 printf("\n\n\n\n");
  printf("\t\t|-------------------------------------------------------------|\n");
  printf("\t\t|                     |\n");
  printf("\t\t|    ======================    |\n");
  printf("\t\t|        欢迎光临         |\n");
  printf("\t\t|    ======================    |\n");
  printf("\t\t|                     |\n");
  printf("\t\t|      1.查看图书信息        |\n");
  printf("\t\t|      2.借阅图书          |\n");
  printf("\t\t|      3.退出系统          |\n");
  printf("\t\t|-------------------------------------------------------------|\n");
  printf("\n\t\t请输入您的选择:");
  scanf("%d",&x);
  return x;
}
/*********查看所有图书*******/
void show_all_book()
{
 int i;
 if(bk[0].num==0&&bk[0].t.year==0||N==0)/*当bk[0].num,bk[0].t.year,结构体数组等值同时为零时表示无图书信息*/
 printf("\t数据不存在,请先录入数据!\n\t\t按任意键返回...");
 else
 {
 printf("\t编号  图书名称   出版社    出版时间   状态\n");
 for(i=0;i<N;i++)
 {
  printf("\t%-7d %-8s %-12s  %4d年%2d月%2d日 ",bk[i].num,bk[i].name,bk[i].publish,bk[i].t.year,bk[i].t.month,bk[i].t.day);
  if(bk[i].jie==0)
  printf("未借阅\n");
  else
  printf("已借阅\n");
 }
 }
}
/*********按书名查看********/
void showbook_name()
{
  int i,k=0,n;/*k用来标记是否存在该书*/
  char book_name[20];
  printf("\t\t     =====================    \n");
  printf("\t\t        按书名查看        \n");
  printf("\t\t     =====================    \n");
  printf("\n\t\t请输入您要查看的图书名称:");
  scanf("%s",book_name);
  for(i=0;i<N;i++)
    if(strcmp(book_name,bk[i].name)==0)
 {
  n=i;
  if(k==0)/* "项目"只输出一次*/
    printf("\t编号  图书名称   出版社    出版时间   状态\n");
      printf("\t%-7d %-8s %12s  %4d年%2d月%2d日 ",bk[n].num,bk[n].name,bk[n].publish,bk[n].t.year,bk[n].t.month,bk[n].t.day);
   if(bk[n].jie==1)
        printf("已被借阅\n");
      else
        printf("可以借阅\n");
       printf("按任意键返回...");
  k++; /*k值不为零则表示找到图书*/
 }
 if(k==0) /*k值为零则表示未找到图书*/
  printf("\t不存在该书!按任意键返回...");
}
/*********按书号查看********/
void showbook_num()
{
  int n,book_num,i,k=0;/*k用来标记是否存在该书*/
  printf("\t\t     =====================    \n");
  printf("\t\t        按书号查看        \n");
  printf("\t\t     =====================    \n");
  printf("\n\t\t请输入您要查看的图书编号:");
  scanf("%d",&book_num);
  for(i=0;i<N;i++)
    if(book_num==bk[i].num)
 {
  n=i;
  if(k==0)/*项目只输出一次*/
    printf("\t编号  图书名称   出版社    出版时间   状态\n");
      printf("\t%-7d %-8s %12s  %4d年%2d月%2d日 ",bk[n].num,bk[n].name,bk[n].publish,bk[n].t.year,bk[n].t.month,bk[n].t.day);
   if(bk[n].jie==1)
        printf("已被借阅\n");
      else
        printf("可以借阅\n");
  k++;
  printf("\t按任意键返回...");
 }
 if(k==0) /*k为零则表示未找到图书*/
 printf("\t不存在该书!按任意键返回...");
}

/********显示全部已借阅的图书**********/
void yijieyue()
{
  int i,k=0;
 if(bk[0].num==0&&bk[0].t.year==0||N==0)
  printf("\t数据不存在,请先录入数据!\n\t\t按任意键返回...");
 else
 {
   for(i=0;i<N;i++)
  if(bk[i].jie==1)
  {
  if(k==0)
    printf("\t编号  图书名称   出版社    出版时间   \n");
  printf("\t%-7d %-8s %12s  %4d年%2d月%2d日 \n",bk[i].num,bk[i].name,bk[i].publish,bk[i].t.year,bk[i].t.month,bk[i].t.day);
        k++;
  }
      if(k==0)
  printf("\n\t\t目前没有任何书借出。按任意键继续...");
 }
}
/********显示全部未借阅的图书********/
void weijieyue()
{
  int i,k=0;
 if(bk[0].num==0&&bk[0].t.year==0||N==0)
  printf("\t数据不存在,请先录入数据!\n\t\t按任意键返回...");
 else
 {
   for(i=0;i<N;i++)
  if(bk[i].jie==0)
  {
  if(k==0)
    printf("\t编号  图书名称   出版社    出版时间   \n");
  printf("\t%-7d %-8s %12s  %4d年%2d月%2d日 \n",bk[i].num,bk[i].name,bk[i].publish,bk[i].t.year,bk[i].t.month,bk[i].t.day);
    k++;
  }
  if(k==0)
        printf("\n\t很遗憾!目前所有的书都被借出了。按任意键继续...");
 }
}
/*****查看图书菜单******/
void show()
{
  int x;
 do
 {
  system("cls");
  printf("\n\n\n\n");
   printf("\t\t|-------------------------------------------------------------|\n");
   printf("\t\t|                     |\n");
   printf("\t\t|     =====================    |\n");
   printf("\t\t|       查看图书信息        |\n");
   printf("\t\t|     =====================    |\n");
   printf("\t\t|                     |\n");
   printf("\t\t|      1.按书名查找         |\n");
   printf("\t\t|      2.按书号查找         |\n");
   printf("\t\t|      3.查看所有未借阅图书     |\n");
   printf("\t\t|      4.查看所有已借阅图书     |\n");
   printf("\t\t|      5.查看所有图书        |\n");
   printf("\t\t|      6.返回主菜单         |\n");
   printf("\t\t|-------------------------------------------------------------|\n");
   printf("\n\t\t请输入您的选择:");
   scanf("%d",&x);
   switch(x)
   {
      case 1:system("cls");showbook_name();getch();break;/*按书名查看*/
     case 2:system("cls");showbook_num();getch();break;/*按书号查看*/
       case 3:system("cls");weijieyue();getch();break;/*查看未借阅图书*/
       case 4:system("cls");yijieyue();getch();break;/*查看已借阅图书*/
   case 5:system("cls");show_all_book();getch();break;/*查看所有图书*/
   }
 }while(x!=6);
}
/*********按书名借阅*******/
void jie_name()
{
 char jy[2],name[20];/*jy用来表示是否确定借阅*/
 int i,book_xb,k=0;/*k用来标记是否存在该书*/
 printf("\t\t     ======================    \n");
  printf("\t\t        按书名借阅        \n");
  printf("\t\t     ======================    \n");
 while(1)
 {
  printf("\n\t\t请输入书名:");
  scanf("%s",name);
  for(i=0;i<N;i++)
    if(strcmp(bk[i].name,name)==0&&bk[i].jie!=1)/*找到图书并确认图书没有被借出,记录图书下标*/
 {
   book_xb=i;
  k++;
 }
 if(k==0)
 {
 printf("\t不存在该书,或该书已经借出!请正确输入图书名称!\n\t\t按任意键返回...");
 getch();
    break;
 }
 if(k==1)
   printf("\t编号  图书名称   出版社    出版时间   状态\n");
  printf("\t%-7d %-8s %12s  %4d年%2d月%2d日 ",bk[book_xb].num,bk[book_xb].name,bk[book_xb].publish,bk[book_xb].t.year,bk[book_xb].t.month,bk[book_xb].t.day);
  if(bk[book_xb].jie==1)
    printf("已被借阅\n");
  else
    {
      printf("可以借阅\n\t是否借阅?(是:'y',否:'n'):");
      scanf("%s",jy);
      if(strcmp(jy,"n")==0)
      {
        printf("\t借阅取消,按任意键返回....");
        getch();
        break;
      }
      else if(strcmp(jy,"y")==0)
      {
        printf("\t借阅成功!按任意键返回...");
  bk[book_xb].jie=1;
        getch();
        break;
      }
      else
      {
        printf("\t输入有错!按任意键重新输入...");
  getch();
        break;
      }
 }
 }
}
/*********按书号借阅*******/
void jie_num()
{
 long i,k=0,book_xb,book_num;/*k用来标记是否存在该书*/
 char jy[2];/*jy用来表示是否确定借阅*/
 printf("\t\t     ======================    \n");
  printf("\t\t        按书号借阅        \n");
  printf("\t\t     ======================    \n");
  while(1)
 {
  printf("\n\t\t请输入书号:");
  scanf("%d",&book_num);
  for(i=0;i<N;i++)
    if(bk[i].num==book_num&&bk[i].jie!=1)
 {
  book_xb=i;
  k++;
 }
    if(k==0)
 {
  printf("\t不存在该书,或该书已经借出!请正确输入图书名称!\n\t\t按任意键返回...");
  getch();
      break;
 }
 printf("\t编号  图书名称   出版社    出版时间   状态\n");
  printf("\t%-7d %-8s %12s  %4d年%2d月%2d日 ",bk[book_xb].num,bk[book_xb].name,bk[book_xb].publish,bk[book_xb].t.year,bk[book_xb].t.month,bk[book_xb].t.day);
  if(bk[book_xb].jie==1)
    printf("已被借阅\n");
  else
  {
    printf("可以借阅\n\t是否借阅?(是:'y',否:'n'):");
    scanf("%s",jy);
    if(strcmp(jy,"n")==0)
    {
       printf("\t借阅取消,按任意键返回....");
       getch();
       break;
    }
    else if(strcmp(jy,"y")==0)
    {
       printf("\t借阅成功!按任意键返回...");
       bk[book_xb].jie=1;
       getch();
       break;
    }
    else
    {
       printf("\t输入有错!按任意键重新输入...");
  getch();
       break;
    }
  }
 }
}
/*********借阅图书********/
void jieyue()
{
  int x;
  do
  {
  system("cls");
 printf("\n\n\n\n");
  printf("\t\t|-------------------------------------------------------------|\n");
  printf("\t\t|     =====================    |\n");
  printf("\t\t|        借阅图书         |\n");
  printf("\t\t|     =====================    |\n");
  printf("\t\t|                     |\n");
  printf("\t\t|      1.按书名借阅         |\n");
  printf("\t\t|      2.按书号借阅         |\n");
  printf("\t\t|      3.查看所有图书        |\n");
  printf("\t\t|      4.返回主菜单         |\n");
  printf("\t\t|-------------------------------------------------------------|\n");
  printf("\t\t请输入您的选择:");
  scanf("%d",&x);
  switch(x)
  {
    case 1:system("CLS");jie_name();getch();break;/*按书名借阅*/
    case 2:system("CLS");jie_num();getch();break;/*按书号借阅*/
 case 3:system("cls");show_all_book();getch();break;/*查看所有图书*/
  }
  }while(x!=4);
}
/***************按书名进行查找并修改信息*************/
void xiugai_name()
{
 int i,book_xb,k=0;/*book_xb用来记录下标,k用来判断是否找到该书*/
 char temp[20];/*temp[20]用来存放用户输入的查找的书名*/
 while(1)
 {
 system("cls");
 printf("\n");
   printf("\t\t|     =====================    |\n");
   printf("\t\t|       按书名进行修改       |\n");
   printf("\t\t|     =====================    |\n");
 printf("\t\t请输入您准备修改的图书的名称,输入'exit'退出:");
   scanf("%s",temp);
 if(strcmp(temp,"exit")==0)
 break;
 else
 {
  for(i=0;i<N;i++)
   if(strcmp(temp,bk[i].name)==0)
  {
  book_xb=i;
    printf("\t该书的信息为:\n");
    printf("\t编号  图书名称   出版社    出版时间   状态\n");
        printf("\t%-7d %-8s %12s  %4d年%2d月%2d日 ",bk[book_xb].num,bk[book_xb].name,bk[book_xb].publish,bk[book_xb].t.year,bk[book_xb].t.month,bk[book_xb].t.day);
  if(bk[book_xb].jie==1)
          printf("已被借阅\n");
        else
          printf("可以借阅\n");
  k++;
  printf("\t\t现在请输入新信息:\n");
  printf("\t\t请输入本书的编号:");
        scanf("%d",&bk[book_xb].num);
        printf("\t\t请输入本书的名称:");
        scanf("%s",bk[book_xb].name);
        printf("\t\t请输入本书的出版社:");
        scanf("%s",bk[book_xb].publish);
        printf("\t\t请输入本书的出版时间(用逗号隔开):");
        scanf("%d,%d,%d",&bk[book_xb].t.year,&bk[book_xb].t.month,&bk[book_xb].t.day);
        printf("\t\t该书是否已经被借阅,已被借阅输入'1',未被借阅输入'0':");
        scanf("%d",&bk[book_xb].jie);
      }
  if(k==0)
  {
  printf("\t您输入的书名不存在!按任意键继续...");
  getch();
  continue;
  }
  printf("\t恭喜!信息修改成功!任意键返回...");getch();break;
 }
 }
}
/***************按书号进行查找并修改信息*************/
void xiugai_num()
{
 int i,book_xb,k=0;/*book_xb用来记录下标,k用来判断是否找到该书*/
 long temp;/*temp用来存放用户输入的查找的书号*/
 do
 {
 system("cls");
 printf("\n");
  printf("\t\t|     =====================    |\n");
  printf("\t\t|       按书号进行修改       |\n");
  printf("\t\t|     =====================    |\n");
 printf("\t\t请输入您准备修改的图书的图书号,输入'0'退出:");
  scanf("%ld",&temp);
 if(temp==0) break;
 else
 {
 for(i=0;i<N;i++)
   if(temp==bk[i].num)
  {
  book_xb=i;
    printf("\t该书的信息为:\n");
    printf("\t编号  图书名称   出版社    出版时间   状态\n");
        printf("\t%-7d %-8s %12s  %4d年%2d月%2d日 ",bk[book_xb].num,bk[book_xb].name,bk[book_xb].publish,bk[book_xb].t.year,bk[book_xb].t.month,bk[book_xb].t.day);
  k++;
  if(bk[book_xb].jie==1)
          printf("已被借阅\n");
        else
          printf("可以借阅\n");
  printf("现在请输入新信息:\n");
  printf("\t\t请输入本书的编号:");
        scanf("%d",&bk[book_xb].num);
        printf("\t\t请输入本书的名称:");
        scanf("%s",bk[book_xb].name);
        printf("\t\t请输入本书的出版社:");
        scanf("%s",bk[book_xb].publish);
        printf("\t\t请输入本书的出版时间(用逗号隔开):");
        scanf("%d,%d,%d",&bk[book_xb].t.year,&bk[book_xb].t.month,&bk[book_xb].t.day);
        printf("\t\t该书是否已经被借阅,已被借阅输入'1',未被借阅输入'0':");
        scanf("%d",&bk[book_xb].jie);
      }
  if(k==0)
  {
  printf("\t您输入的书名不存在!按任意键继续...");
  getch();continue;
  }
  printf("\t恭喜!信息修改成功!任意键返回...");getch();break;
 }
 }while(temp!=0);
}
/**************删除所有图书***********/
void dele_all()
{
 char queren[4];
 printf("\t继续操作会删除所有信息,是否继续?'y'继续,'n'撤销...");
 scanf("%s",queren);
 if(strcmp(queren,"y")==0)
 {
 N=0;
 printf("\t删除成功!\n");
 }
 else
 {
 printf("\t操作被用户取消!任意键返回...");
 getch();
 }
}
/******************按书名删除************/
void dele_name()
{
 int i,book_xb,k=0;/*book_xb用来存放图书下标,k用标记是否找到书*/
 char queren[4],temp_name[20];/*queren[2]用来存放'是否'确认删除,temp_name[20]用来存放查找时输入的图书名称*/
 printf("\t输入你要删除的书的名称,输入'0'退出:");
 scanf("%s",temp_name);
 if(strcmp(temp_name,"0")!=0)
 {
 for(i=0;i<N;i++)
  if(strcmp(temp_name,bk[i].name)==0)
  {
  book_xb=i;
  printf("\t该书的信息为:\n");
  printf("\t编号  图书名称   出版社    出版时间   状态\n");
      printf("\t%-7d %-8s %12s  %4d年%2d月%2d日 ",bk[book_xb].num,bk[book_xb].name,bk[book_xb].publish,bk[book_xb].t.year,bk[book_xb].t.month,bk[book_xb].t.day);
   if(bk[i].jie==0)
  printf("未借阅\n");
  else
  printf("已借阅\n");
  k++;
  printf("\t是否要删除该书?是'y',否'n'");
  scanf("%s",queren);
  if(strcmp(queren,"y")==0)
  {
  if(book_xb==N-1)
   N--;
  else
  {
   for(i=0;i<N;i++)
      bk[book_xb+i]=bk[book_xb+i+1];
   N--;
  }
     printf("\t删除成功!\n");
     }
     else
     printf("\t操作被用户取消!任意键返回...");
   }
   if(k==0)
     printf("\t未找到该书,请核实以后再操作!,按任意键返回....");getch();
  }
}
/***************按书号查找并删除***********/
void dele_num()
{
 int i,book_xb,k=0,temp_num;/*book_xb用来存放图书下标,k用标记是否找到书,temp_num用来存放查找时输入的图书名称*/
 char queren[4];/*queren[2]用来存放'是否'确认删除*/
 while(1)
 {
 printf("\t输入你要删除的书的书号,输入'0'退出:");
 scanf("%d",&temp_num);
 if(temp_num==0)
 break;
 else
 {
 for(i=0;i<N;i++)
  if(temp_num==bk[i].num)
  {
  book_xb=i;
  printf("该书的信息为:\n");
  printf("\t编号  图书名称   出版社    出版时间   状态\n");
      printf("\t%-7d %-8s %12s  %4d年%2d月%2d日 ",bk[book_xb].num,bk[book_xb].name,bk[book_xb].publish,bk[book_xb].t.year,bk[book_xb].t.month,bk[book_xb].t.day);
   if(bk[i].jie==0)
  printf("未借阅\n");
  else
  printf("已借阅\n");
  k++;
  printf("\t是否要删除该书?是'y',否'n'");
  scanf("%s",queren);
  if(strcmp(queren,"y")==0)
  {
  if(book_xb==N-1)
   N--;
  else
  {
   for(i=0;i<N;i++)
      bk[book_xb+i]=bk[book_xb+i+1];
   N--;
  }
     printf("\t删除成功!\n");
     }
     else
     printf("\t操作被用户取消!任意键返回...");
      }
     if(k==0)
     printf("\t未找到该书,请核实以后再操作!,按任意键返回....");getch();break;
    }
 }
}
void dele()
{
 int x;
 do
 {
 system("cls");
 printf("\t\t|-------------------------------------------------------------|\n");
   printf("\t\t|     =====================    |\n");
   printf("\t\t|       删除图书信息        |\n");
   printf("\t\t|     =====================    |\n");
   printf("\t\t|                     |\n");
   printf("\t\t|      1.按书名删除         |\n");
   printf("\t\t|      2.按书号删除         |\n");
   printf("\t\t|      3.删除所有图书        |\n");
   printf("\t\t|      4.返回主菜单         |\n");
   printf("\t\t|-------------------------------------------------------------|\n");
 printf("\t\t请输入您的选项:");
 scanf("%d",&x);
 switch(x)
 {
  case 1:system("cls");dele_name();break;
  case 2:system("cls");dele_num();break;
  case 3:system("cls");dele_all();getch();break;
 }
 }while(x!=4);
}

/***************修改图书**************/
void xiugai()
{
  int x;
  do
  {
 system("cls");
 printf("\n\n\n\n");
   printf("\t\t|-------------------------------------------------------------|\n");
   printf("\t\t|     =====================    |\n");
   printf("\t\t|        修改图书信息       |\n");
   printf("\t\t|     =====================    |\n");
   printf("\t\t|                     |\n");
   printf("\t\t|      1.按书名查找         |\n");
   printf("\t\t|      2.按书号查找         |\n");
   printf("\t\t|      3.删除图书          |\n");
   printf("\t\t|      4.返回主菜单         |\n");
   printf("\t\t|-------------------------------------------------------------|\n");
   printf("\t\t请输入您的选择:");
   scanf("%d",&x);
   switch(x)
   {
     case 1:system("CLS");xiugai_name();break;/*按书名查找名修改信息*/
     case 2:system("CLS");xiugai_num();break;/*按书号查找并修改信息*/
  case 3:system("cls");dele();break;
   }
  }while(x!=4);
}

/**************主函数**************/
void main()
{
  int x,x2,s;/*s用来判断密码验证的结果*/
  do
  {
    system("cls"); x=mymainmenu();
    switch(x)
    {
      case 1:/************调用管理员模式函数***********/
    system("cls");
          s=mimayanzheng();/*密码验证*/
    do
    {
   if(s==1)
   {
    system("cls");
    x2=adm();
    switch(x2)
    {
    case 1:system("cls");xinxi();getch();break;/*录入信息*/
    case 2:system("cls");show();break;/*查看信息*/
    case 3:system("cls");xiugai();break;/*修改信息*/
    case 4:system("cls");xiugaimima();break;/*修改密码*/
    }
   }
   else
   {
    printf("\t密码错误!按任意键返回...");
    getch();
    break;
   }
    }while(x2!=5);break;
      case 2:/*调用客户模式函数*/
   do
   {
    system("cls");
    x2=peo();
    switch(x2)
    {
    case 1:system("cls");show();getch();break;/*查看图书信息*/
    case 2:system("cls");jieyue();getch();break;/*借阅图书*/
    }
   }while(x2!=3);
    }
  }while(x!=3);
 system("cls");
 printf("\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t谢谢使用!\n\t\t\t");
 getch();
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C语言图书管理系统简洁版

    DOS界面的图书管理系统,具体内容如下 程序分为两块:管理员操作(收录图书.删除图书等)和会员操作(注册.借书.还书等): 1.管理员操作界面 2.会员操作界面 global.h头文件:(程序中只使用了一个编写的头文件,在这里存放了所有的接口函数以及需要使用到的头文件,还有结构体的定义) #include "iostream" #include "string" #include "fstream" #include "conio.h&

  • c语言解析bmp图片的实例

    心血来潮想了解下常用图片的格式解析,翻看了一些资料后,发现最简单的是bmp格式,所以先拿它开刀. BMP格式 这种格式内的数据分为三到四个部分,依次是: 文件信息头 (14字节)存储着文件类型,文件大小等信息 图片信息头 (40字节)存储着图像的尺寸,颜色索引,位平面数等信息 调色板 (由颜色索引数决定)[可以没有此信息] 位图数据 (由图像尺寸决定)每一个像素的信息在这里存储 一般的bmp图像都是24位,也就是真彩.每8位为一字节,24位也就是使用三字节来存储每一个像素的信息,三个字节对应存放

  • C语言实现图的邻接矩阵存储操作

    利用邻接矩阵容易判定任意两个顶点之间是否有边(或弧)相连,并容易求得各个顶点的度. c语言代码实现如下: #include<stdio.h> #include<stdlib.h> #define MAX_VER_NUM 50 typedef char VertexType; typedef enum { DG,UDG }GraphType; typedef struct { VertexType vexs[MAX_VER_NUM]; //顶点向量 int arcs[MAX_VER_

  • 关于C语言中E-R图的详解

    E-R  英文缩写为(Entity Relationship Diagram)也称实体-联系图. 提供了表示实体类型.属性和联系的方法,用来描述现实世界的概念模型. 下面就讲详解e-r图,如下: 从上面的的图可以看到一个完整的e-r图有四个部分: 1.矩形框,矩形表示实体型,矩形框内写明实体名: 2.椭圆框,椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来: 3.菱形框,菱形表示实体型之间的联系,在菱形框内写明联系名, 4.联系线,实体与属性之间:实体与联系之间:联系与属性之间用直线相连

  • C语言使用回溯法解旅行售货员问题与图的m着色问题

    旅行售货员问题 1.问题描述: 旅行售货员问题又称TSP问题,问题如下:某售货员要到若干个城市推销商品,已知各城市之间的路程(或旅费),他要选定一条从驻地出发,经过每个城市一遍最后回到驻地的路线,使总的路线(或总的旅费)最小.数学模型为给定一个无向图,求遍历每一个顶点一次且仅一次的一条回路,最后回到起点的最小花费. 2.输入要求: 输入的第一行为测试样例的个数T( T < 120 ),接下来有T个测试样例.每个测试样例的第一行是无向图的顶点数n.边数m( n < 12,m < 100 )

  • 利用C语言编辑画图程序的实现方法(推荐)

    不知道大家在进行开发县级电网调度自动化系统的时候,是否都会遇到一个问题就是:要绘制一个电力系统一次接线图.大家都应该知道其实电力系统的一次接线图是较为复杂的,如果想要使用一般的编程方法来进行绘制的话,基本上就是行不通的.那么我们应该怎样才可以更加的高效直接呢?今天小编就会给大家介绍一个方法,那就是:利用C语言编辑画图程序的实现方法.希望这篇教程对于大家有所帮助. 一.实现方法 在教程开始之前,小编先为大家介绍一下在编程程序里面早已定义了几个特殊按钮.为什么小编要为大家介绍这几个特殊按钮呢?那是因

  • C语言数据结构之图的遍历实例详解

    C语言数据结构之图的遍历实例详解 输入一组顶点,建立无向图的邻接矩阵.输入一组顶点,建立有向图的邻接表.分别对无向图和有向图进行DFS(深度优先遍历)和BFS(广度优先遍历).写出深度优先遍历的递归和非递归算法.根据建立的有向图,判断该图是否是有向无环图,若是,则输出其一种拓扑有序序列. 实现代码: #include <stdio.h> #include <stdlib.h> #define MAX 20 typedef struct ArcNode{ int adjvex; st

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

    之前参照网上的资料用链表实现了图书管理系统,包括简单的增删改查功能以及借书还书功能,我是VC6.0下写的一个控制台程序,格式参照的网上的.在动手编码之前,你需要理清自己的思路.首先,需要确定图书馆里系统中主要有那几个对象,这里我写了学生对象和图书对象.不妨在纸上写出或画出它们主要包括哪些属性以及其可能的对应关系,这里根据不同人的要求会有所不同.清楚这些之后,就可以设计学生和图书的数据结构,比如这里我用的结构体存储其信息.然后就需要考虑,我想要哪些功能,除了基本的增删改查之外,我还想要哪些功能?比

  • 利用C语言的Cairo图形库绘制太极图实例教程

    前言 可能许多人对直接用C语言绘图仍然停留在Turbo C的graphics.h年代,或许也有教育老化的原因,毕竟曾经的经典早已成往事,与其想尽各种办法寻找与其兼容的图形库,不如顺势拥抱灿烂的明天.Cario(http://cairographics.org/)是一个非常出色的2D图形库,著名的GTK+3.0完全采用Cario作为绘图引擎,由此可见它的强大和吸引力. Cario支持X Window,Quartz,Win32,image.buffers,PostScript,PDF和SVG文件等多

  • 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语言银行储蓄系统源码,实现银行的各项功能,供大家参考,具体内容如下 #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> void openaccount();//开户 void save();//存款 void withdraw();//取款 void showAccount();//查询 void transferAccounts();

  • C语言商品销售系统源码分享

    本文实例为大家分享了C语言商品销售系统的具体代码,供大家参考,具体内容如下 #include<stdio.h> //头文件 #include<string.h> //头文件 #include<stdlib.h> //头文件 #define M 100 //货物种类 #define N 100 //顾客数目 struct goods //单个货物信息格式 { int number; //产品编号 char name[20]; //产品名称 int price1; //进价

  • C语言职工信息管理系统源码

    本文实例为大家分享了C语言职工信息管理系统的具体代码,供大家参考,具体内容如下 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> struct worker { char ID[20];//工号 char name[20];//姓名 char sex[5];//性别 char born[20];//生日 char edu[20];//学历 char po

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

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

  • python实现图书借阅系统

    本文实例为大家分享了python实现图书借阅系统的具体代码,供大家参考,具体内容如下 部分代码: from flask import Flask,render_template from flask import request from DB import createdb from flask import session app = Flask(__name__) app.config['SECRET_KEY'] = '123456' # 首页-->登录页面 @app.route('/')

  • 基于Java SSM框架开发图书借阅系统源代码

    一.技术框架与开发环境 开发环境: IDE:IDEA 2020 数据库:MySQL 8.0 JDK 1.8 Maven 3.6.1 Tomcat 9 lombok 1.18.1 技术框架: 核心框架:Spring 5.1.9 持久层框架:Mybatis 3.5.2 视图层框架:SpringMVC 5.1.9 前端框架:Bootstrap 4 jquery-3.6.0 二.项目源码 有用就点赞博客 Github 国内:Giee 项目结构 三.功能介绍 1.登录 2.注册 AJAX异步刷新显示判断账

  • PHP+Mysql无刷新问答评论系统(源码)

    自己写的一个评论系统源码分享给大家,包括有表情,还有评论机制.用户名是随机的 针对某一篇文章进行评论 function subcomment() { $data['uid'] = getUserid(); $data['mtype'] = I("post.mtype", 0, 'int'); if ($data['uid'] == '') { echo json_encode(array("code" => -1)); } else { $content =

  • Java Swing实现餐厅点餐系统源码(收藏版)

    本文适合Java初级选手,主要技术是Java和MySQL.主要功能如下: (1)注册功能 (2)管理员可以新增套餐 (3)管理员可以管理套餐 (4)管理员可以处理订单 (5)管理员可以修改密码 (6)顾客可以点餐 (7)顾客可以查看订单信息 (8)顾客可以修改个人信息 下面是项目目录 源码有点多,不太好贴,如果需要源码,可以关注公众号[Java技术迷]回复[2021]编号03即是该系统的源码. 即可获取整套源码,也可以直接扫码关注 下面是系统运行图 如果需要源码,可以关注公众号回复[2021]即

  • nodejs模块系统源码分析

    概述 Node.js的出现使得前端工程师可以跨端工作在服务器上,当然,一个新的运行环境的诞生亦会带来新的模块.功能.抑或是思想上的革新,本文将带领读者领略 Node.js(以下简称 Node) 的模块设计思想以及剖析部分核心源码实现. CommonJS 规范 Node 最初遵循 CommonJS 规范来实现自己的模块系统,同时做了一部分区别于规范的定制.CommonJS 规范是为了解决JavaScript的作用域问题而定义的模块形式,它可以使每个模块在它自身的命名空间中执行. 该规范强调模块必须

随机推荐