★C++语言期末课程设计★——图书借阅系统(完整项目+源代码+详细注释)

本文主要是介绍★C++语言期末课程设计★——图书借阅系统(完整项目+源代码+详细注释),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图书借阅系统报告

一、描述

        大家好!我是小浝仔,今天给大家分享C++语言期末课程设计——图书借阅系统,这个程序是C++语言程序编写的,运行环境为VisualC++6.0,实现了

1、管理员模式:录入图书信息、查看图书信息、修改图书信息、修改管理密码、退出系统;
2、客户模式:

        ①查看图书信息:按书名查找、按书号查找、查看所有未借阅图书、查看所有已借阅图书、查看所有图书、返回主菜单;
        ②借阅图书:按书名借阅、按书号借阅、查看所有图书、返回主菜单、退出系统;
3、退出系统

功能等等,是学习C++语言程序很好的参考资料,本系统在命令行窗口运行,没有可视化界面,没有用到MFC类库,如果朋友们用来学习或做C++语言期末课程设计作业一定是可以的,我来共享给大家一些哦!!!要是觉得好的话,记得给个三连!!!亲测有效哦!!!

一定要看:管理员初始化登录密码为:123

本项目下载地址:(直接运行)

C++语言课程设计——图书借阅系统(源代码+详细注释).zip_c语言图书借阅管理系统源代码-C++文档类资源-CSDN文库icon-default.png?t=M4ADhttps://download.csdn.net/download/m0_46843484/26802031

 有问题或意见,请及时联系我: 

CSDN:小浝仔_CSDN博客https://blog.csdn.net/m0_46843484?spm=1000.2115.3001.5343

版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

二、需求分析

        为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。使用c语言编写了图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。图书信息包括编号、书名、作者、出版社、出版日期、价格等。图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、修改、删除等基本操作。整个程序实现链表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。

三、设计思想

        在整个系统编写的过程中,涉及了较多C++语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。由此进一步加深、巩固了所学的课程的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,参考了学校图书馆的图书管理系统,实现了程序的模块化、结构化。在主函数中调用各种函数,操作界面简单,易操作,人机互动性较强。

四、实现功能

        1、管理员模式:录入图书信息、查看图书信息、修改图书信息、修改管理密码、退出系统;
        2、客户模式:

                ①查看图书信息:按书名查找、按书号查找、查看所有未借阅图书、查看所有已借阅图书、查看所有图书、返回主菜单;
                ②借阅图书:按书名借阅、按书号借阅、查看所有图书、返回主菜单、退出系统;
        3、退出系统

五、运行和调试

        1、主界面

        2、 管理员登录

        3、管理员模式主界面

        4、录入图书信息

        5、查看图书信息主界面

        6、按书名查找

        7、按书号查找

        8、查看所有图书

        9、修改图书信息

        10、修改管理员密码

        11、客户模式主界面

        12、借阅图书主界面

        13、按书名借阅

        14、按书号借阅 

 六、源代码


/* 【小浝仔】CSDN:https://blog.csdn.net/m0_46843484?spm=1011.2124.3001.5343*/#include "stdafx.h"#include"stdio.h"
#include"conio.h"
#include"string.h"
#include"stdlib.h"
int N;
char mima[20]="123";
/**********定义图书结构体类型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;elsereturn 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");elseprintf("已借阅\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");elseprintf("可以借阅\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");elseprintf("可以借阅\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");elseprintf("可以借阅\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");elseprintf("可以借阅\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");elseprintf("已借阅\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");}elseprintf("\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");elseprintf("已借阅\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");}elseprintf("\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/C++期末课程设计系统(完整项目开源)

(1条消息) ★C/C++语言期末课程设计★——万年历显示系统(详细报告+源代码+详细注释)_小浝仔(๑>؂<๑)的博客-CSDN博客

★C语言期末课程设计★——教师工资管理系统(详细报告+源代码+详细注释)_小浝仔(๑>؂<๑)的博客-CSDN博客_教师工资管理系统c语言课程设计

★C语言期末课程设计★——成绩管理系统(源代码+详细注释)_小浝仔(๑>؂<๑)的博客-CSDN博客_c语言期末课程设计作业

【C语言期末课程设计】——超市管理系统(开源)_小浝仔(๑>؂<๑)的博客-CSDN博客_超市管理系统c语言

★C/C++期末课程设计★—☆产品入库管理操作系统☆【开源+详细注释】_小浝仔(๑>؂<๑)的博客-CSDN博客_c++期末设计

【C&C++期末课程设计】——职工工作量统计系统(源代码+详细注释)_小浝仔(๑>؂<๑)的博客-CSDN博客_c语言职工工作量统计系统

​​​​​​【C&C++期末课程设计】——职工资源管理系统(源代码+详细注释)不要错过哦。_小浝仔(๑>؂<๑)的博客-CSDN博客

C&C++期末课程设计——个人收支管理系统(一)【源代码+详细注释】_小浝仔(๑>؂<๑)的博客-CSDN博客_个人收支管理系统

C&C++期末课程设计——学生成绩管理源代码_小浝仔(๑>؂<๑)的博客-CSDN博客_c++学生成绩管理系统代码

C&C++期末课程设计——图书管理系统源代码_小浝仔(๑>؂<๑)的博客-CSDN博客_图书馆管理系统源代码

C++期末课程设计——宾馆客房管理系统(详细报告+源代码+详细注释)(另附加“25+”C++&&C语言期末课程设计系统下载地址)_小浝仔(๑>؂<๑)的博客-CSDN博客_c语言客房管理系统

C&C++期末课程设计——产品管理系统(源代码+详细注释)_小浝仔(๑>؂<๑)的博客-CSDN博客_产品管理系统

八、附载/下载地址

注意

下面附载了“25+”C++&&C语言期末课程设计下载地址(超详细),每个系统的简介都详细介绍了本系统的实现功能,可以根据功能查找自己所需要的。

C&C++期末课程设计

C&C++——文件成绩(源代码)-C/C++文档类资源-CSDN文库

C&amp;C++课程设计——图书管理系统.zip_图书管理系统c++增添删除-C/C++文档类资源-CSDN文库

C&C++课程设计——学生成绩管理系统.zip-C/C++文档类资源-CSDN文库

C/C++课程设计——职工工作量统计系统(源代码、注释).zip-C/C++文档类资源-CSDN文库

C&C++课程设计——班级学生档案管理系统源代码(源代码+注释).zip-C/C++文档类资源-CSDN文库

C&C++期末课程设计——KTV歌曲管理系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C&amp;C++期末课程设计——产品信息管理系统(源代码+详细注释)-C/C++文档类资源-CSDN文库

 C&C++期末课程设计——个人收支管理系统(源代码+详细注释)-C/C++文档类资源-CSDN文库

 C&C++期末课程设计——职工资源管理系统(源代码+详细注释)-C/C++文档类资源-CSDN文库

C&C++期末课程设计——个人收支管理系统(二)(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言期末课程设计

C语言课程设计——教工工资管理系统(源代码+课程设计+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——成绩管理系统源程序.zip-C/C++文档类资源-CSDN文库

C语言课程设计——超市管理系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——火车票订票管理系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——商品销售系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——通讯录管理系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——图书管理系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——图书借阅系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——万年历系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——文本编辑器系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——学生成绩管理系统.zip-C/C++文档类资源-CSDN文库

 C语言课程设计——学生成绩管理系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——学生信息系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——做的绘图板系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

 -  版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

这篇关于★C++语言期末课程设计★——图书借阅系统(完整项目+源代码+详细注释)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/390455

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

【C++ Primer Plus习题】13.4

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream>#include "port.h"int main() {Port p1;Port p2("Abc", "Bcc", 30);std::cout <<

C++包装器

包装器 在 C++ 中,“包装器”通常指的是一种设计模式或编程技巧,用于封装其他代码或对象,使其更易于使用、管理或扩展。包装器的概念在编程中非常普遍,可以用于函数、类、库等多个方面。下面是几个常见的 “包装器” 类型: 1. 函数包装器 函数包装器用于封装一个或多个函数,使其接口更统一或更便于调用。例如,std::function 是一个通用的函数包装器,它可以存储任意可调用对象(函数、函数

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�