Bootstrap

★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;
	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/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文库

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

;