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();}

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

临行之前,面对太多的疑问和不解:为何是一个人?

C语言图书借阅系统源码

相关文章:

你感兴趣的文章:

标签云: