c语言课程设计(图书馆管理系统)

这篇具有很好参考价值的文章主要介绍了c语言课程设计(图书馆管理系统)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大一c语言课程设计:图书馆管理系统。

图书管理系统,功能齐全拿来就能用

1.主界面c语言课程设计(图书馆管理系统)

 c语言课程设计(图书馆管理系统)

代码段

void main()
{	
	int n;
	Sleep(300);
	loop1:
	tongji();	
	printf("\n\n\t\t********************************图书管理系统**************************************");
	printf("\n\n\n\t\t\t*********欢迎使用图书馆管理系统,请选择你需要的操作**********");
	printf("\n\n\n\n当前图书馆藏书一共有%d本。",tushuzongshu);
	printf("\n\n\n\t\t\t\t\t\t1.图书录入系统");
	printf("\n\n\n\t\t\t\t\t\t2.图书查询系统");
	printf("\n\n\n\t\t\t\t\t\t3.图书删除系统");
	printf("\n\n\n\t\t\t\t\t\t4.图书修改系统");
	printf("\n\n\n\t\t\t\t\t\t5.图书借阅次数最值系统");
	printf("\n\n\n\t\t\t\t\t\t6.退出图书管理系统");
	printf("\n\n\n\t\t\t\t\t\t请选择您所需要的操作:    ");
	scanf("%d",&n);
	if(n>=1&&n<=5){
		system("ClS");
	} 
	else if(n==6){
		system("ClS");
		printf("再次按下回车键退出,谢谢使用!");
	}
	else{
		system("CLS");
		goto loop1;
	}
	switch(n)
	{
		case 1:luru();goto loop1;
		case 2:chaxun();goto loop1;
		case 3:shanchu();goto loop1;
		case 4:xiugai();goto loop1;
		case 5:chaxuncishu();goto loop1;
	}
}

 2.图书录入界面

运用文件录入多次使用

c语言课程设计(图书馆管理系统)

c语言课程设计(图书馆管理系统) 

代码段

int luru()
{	
	FILE *fp=NULL;
	book stu;
	char flag = 'y';
	fp=fopen("book1.dat","ab+");
	
	while((flag == 'y'||flag == 'Y')){
		printf("\n\n\n\n\t\t\t\t****************这里是图书录入系统*******************");
		printf("\n请输入图书id: ");
		scanf("%d",&stu.num);
		printf("\n请输入图书书名: ");
		scanf("%s",stu.name);
		printf("\n请输入图书作者: ");
		scanf("%s",stu.author_name);
		printf("\n请输入图书出版社: ");
		scanf("%s",stu.chubanshe);
		stu.jieyucishu=0;
		
		fwrite(&stu,LEN,1,fp);
		fflush(stdin);
		
		printf("\n\n\n是否继续输入?继续请输入y或Y:");
		scanf("%c",&flag); 
	}
	system("CLS");
	fclose(fp);
	return;
	
} 

 3.图书查询界面

c语言课程设计(图书馆管理系统)

根据输入书的数据与文件中数据进行比对 ,查找后输出。

c语言课程设计(图书馆管理系统)

代码段

void chaxun()
{
	FILE *fp=NULL;
	book stu;
	int n,i,j,t=-1;
	int nums;
	char name[N],authors_name[40],chubanshe1[40];
	loop3:
	fp = fopen("book1.dat","rb+");		
	printf("\n\n\n\n\t\t\t\t****************这里是图书查询系统*******************");
	printf("\n\t\t\t\t\t请选择你所查询的方式:");
	printf("\n\n\t\t\t\t\t1.编号查询;");
	printf("\n\n\t\t\t\t\t2.书名查询;"); 
	printf("\n\n\t\t\t\t\t3.作者查询;"); 
	printf("\n\n\t\t\t\t\t4.出版社查询;");
	printf("\n\n\t\t\t\t\t5.返回主菜单;");
	printf("请输入您的选择:");
	scanf("%d",&n);
	system("CLS");
	if(n==1){
		printf("\n\t\t\t\t\t\t请您输入图书编号:");
		scanf("%d",&nums);
		fseek(fp,0,SEEK_SET);
		while(fread(&stu,LEN,1,fp)){
			if(nums==stu.num)
			{
				t=1;
				printf("\n\t\t\t\t\t此书为%s,借阅数为%d,是否选择借阅?1.是   2.否",stu.name,stu.jieyucishu);
				printf("\n请输入你的选择:");
				scanf("%d",&j);
				if(j==1){
					stu.jieyucishu++;
					fseek(fp,-4,SEEK_CUR);
					fwrite(&stu.jieyucishu,sizeof(int),1,fp);
					printf("\n借阅成功!请从管理员处领取书籍。3秒钟后返回主菜单");
					t=-1;
					fclose(fp);
					Sleep(3000); 
					system("CLS");
					goto loop3;
				}
				else{
					printf("\n3秒钟后返回主菜单");
					t=-1;
					fclose(fp);
					Sleep(3000);
					system("CLS");
					goto loop3;
				} 
			}
		}
		fclose(fp);
		if(t==-1){
			printf("未找到您所需要的书籍,3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop3;
		}
	}

	else if(n==2){
		printf("\n\t\t\t\t\t请输入书名:");
		scanf("%s",&name);
		fseek(fp,0,SEEK_SET);
		while(fread(&stu,LEN,1,fp)){
			if(strcmp(name,stu.name) == 0)
			{
				t=1;
				printf("\n\t\t\t\t\t此书为%s,借阅数为%d,是否选择借阅?1.是   2.否",stu.name,stu.jieyucishu);
				printf("\n请输入你的选择:");
				scanf("%d",&j);
				if(j==1){
					stu.jieyucishu++;
					fseek(fp,-4,SEEK_CUR);
					fwrite(&stu.jieyucishu,sizeof(int),1,fp);
					printf("\n借阅成功!请从管理员处领取书籍。3秒钟后返回主菜单");
					t=-1;
					fclose(fp);
					Sleep(3000);
					system("CLS"); 
					goto loop3;
				}
				else{
					printf("\n3秒钟后返回主菜单");
					t=-1;
					fclose(fp);
					Sleep(3000);
					system("CLS");
					goto loop3;
				}				
			}
		}
		fclose(fp);
		if(t==-1){
			printf("未找到您所需要的书籍,3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop3;
		}
	
	}

	else if(n==3){
		printf("\n\t\t\t\t\t请输入书作者:");
		scanf("%s",&authors_name);
		fseek(fp,0,SEEK_SET);
		while(fread(&stu,LEN,1,fp)){
			if(strcmp(authors_name,stu.author_name) == 0){
				printf("\n\t\t\t\t\t作者的图书有%s\n",stu.name);
			}
			t=1;
		}
		fclose(fp);
		if(t==-1){
			printf("\n\t\t\t\t\t未找到您所需要的书籍,3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop3;
		}
		else if(t!=-1){
			printf("\n\t\t\t\t\t是否返回主菜单?1.是  2.否");
			t=-1;
			scanf("%d",&j);
			if(j==1){
				printf("\n\t\t\t\t\t3秒钟后返回主菜单");
				Sleep(3000);
				system("CLS"); 
			}
			else{
				printf("\n\t\t\t\t\t3秒钟后返回主菜单");
				Sleep(3000);
				system("CLS");
			} 
		}
	}
	else if(n==4){
		printf("\n\t\t\t\t\t请输入书出版社:");
		scanf("%s",&chubanshe1);
		fseek(fp,0,SEEK_SET);
		while(fread(&stu,LEN,1,fp)){
			if(strcmp(chubanshe1,stu.chubanshe) == 0){
				printf("\n\t\t\t\t\t出版社的图书有%s\n",stu.name);
			}
			t=1;
		}		
		fclose(fp);
		if(t==-1){
			printf("\t\t\t\t\t未找到您所需要的书籍,3秒后返回上一界面。");
			Sleep(3000);
			goto loop3;
		}
		else if(t!=-1){
			printf("\n\t\t\t\t\t是否返回主菜单?1.是  2.否");
			scanf("%d",&j);
			if(j==1){
				printf("\n\t\t\t\t\t3秒钟后返回主菜单");
				Sleep(3000);
				system("CLS"); 
			}
			else{
				printf("\n\t\t\t\t\t3秒钟后返回主菜单");
				Sleep(3000);
				system("CLS");
			} 
		}
	}
	else if(n==5){
		printf("\n\t\t\t\t\t3秒钟后返回主菜单");
		Sleep(3000);
		system("CLS");
	} 
}

4.图书修改

c语言课程设计(图书馆管理系统)

输入修改图书数据并在文件中查找后对文件中的修改图书数据进行全修改。

代码段

void xiugai(){
	book stu;
	FILE *fp;
	int n,m,t=-1;
	int nums;
	char name[N],authors_name[40],chubanshe1[40];
	loop4:
	fp = fopen("book1.dat","rb+");
	printf("\n\n\n\n\t\t\t\t****************这里是图书修改系统*******************");
	printf("\n\t\t\t\t\t请选择你所需要修改图书的信息:");
	printf("\n\n\t\t\t\t\t1.编号;");
	printf("\n\n\t\t\t\t\t2.书名;"); 
	printf("\n\n\t\t\t\t\t3.作者;"); 
	printf("\n\n\t\t\t\t\t4.出版社;");
	printf("\n\n\t\t\t\t\t5.返回主菜单;");
	printf("\n\n\t\t\t\t\t请输入您的选择:");	
	scanf("%d",&n);
	system("CLS");
	if(n==1){
		printf("\n\n\t\t\t\t\t请输入修改图书的编号:");
		scanf("%d",&nums); 
		fseek(fp, 0, SEEK_SET);
		while (fread(&stu, LEN, 1, fp))
		{

			if (nums==stu.num)
			{
				printf("\n\n\t\t\t\t\t请重新输入图书编号:   ");
				scanf("%d", &stu.num);
	
				printf("\n\n\t\t\t\t\t请重新输入书名:    ");
				scanf("%s", &stu.name);

				printf("\n\n\t\t\t\t\t请重新输入书籍作者: ");
				scanf("%s", &stu.author_name);

				printf("\n\n\t\t\t\t\t请重新输入图书出版社: ");
				scanf("%s", &stu.chubanshe);

				fflush(stdin);
				fseek(fp, 0-LEN, SEEK_CUR);
				fwrite(&stu, LEN, 1, fp);
				fclose(fp);
			}
		}
		printf("\n\t\t\t\t图书修改完成,3秒钟后返回主菜单");
		Sleep(3000);
		system("CLS");
	}
	if(n==2){
		printf("\n\n\t\t\t\t\t请输入修改图书的书名:");
		scanf("%s",&name); 
		fseek(fp, 0, SEEK_SET);
		
		while (fread(&stu, LEN, 1, fp))
		{

			if (strcmp(name,stu.name) == 0)
			{
				printf("请重新输入图书id:   ");
				scanf("%d", &stu.num);

				printf("请重新输入书名:    ");
				scanf("%s", &stu.name);

				printf("请重新输入书籍作者  : ");
				scanf("%s", &stu.author_name);
	
				printf("请重新输入图书出版社  : ");
				scanf("%s", &stu.chubanshe);

				fflush(stdin);
				fseek(fp,0-LEN, SEEK_CUR);
				fwrite(&stu, LEN, 1, fp);
				fclose(fp);
			}
		}
		printf("\n\t\t\t\t图书修改完成,3秒钟后返回主菜单");
		Sleep(3000);
		system("CLS");		
	}
	if(n==3){
		printf("\n\t\t\t\t请输入作者名称:");
		scanf("%s",&authors_name);
		fseek(fp, 0, SEEK_SET);
		while(fread(&stu,LEN,1,fp)){
			if(strcmp(authors_name,stu.author_name) == 0){
				printf("\n\t\t\t\t\t此出版社的图书为%s\n",stu.name);
			}
			t=1;
		}
		fclose(fp);
		if(t==-1){
			printf("未找到您所需要的书籍,3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop4;
		} 
		else if(t!=-1){
			printf("\n3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop4;
			}							
		}
	
	if(n==4){
		printf("\n\t\t\t\t请输入出版社名称:");
		scanf("%s",&chubanshe1);
		fseek(fp, 0, SEEK_SET);
		while(fread(&stu,LEN,1,fp)){
			if(strcmp(chubanshe1,stu.chubanshe) == 0){
				printf("\n\t\t\t\t\t此出版社的图书为%s\n",stu.name);
			}
			t=1;
		}
		fclose(fp);
		if(t==-1){
			printf("未找到您所需要的书籍,3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop4;
		} 
		else if(t!=-1){ 
			printf("\n3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop4;
			}
		}
	if(n==5){
		printf("\n3秒后返回主菜单。");
		Sleep(3000);
		system("CLS");
	}
}

5.图书修改

c语言课程设计(图书馆管理系统)

 创建新文件,将除删除书的其他书数据录入新文件夹(rwrite函数),再删除原文件(remove函数),之后重命名新文件夹为之前删除的文件夹名称。

代码段

int shanchu()
{
	int n,i,j,t=-1;
	int nums;
	book stu;
	FILE *fp;
	
	char name[20],authors_name[40],chubanshe1[40];
	loop2:
	fp = fopen ("book1.dat","rb+");
	printf("\n\n\n\n\t\t\t\t****************这里是图书删除系统*******************");
	printf("\n\t\t\t\t请输入您想要删除的书的数据:");
	printf("\n\t\t\t\t1.书籍编号。");
	printf("\n\t\t\t\t2.书籍书名。");
	printf("\n\t\t\t\t3.书籍作者。");
	printf("\n\t\t\t\t4.书籍出版社。");
	printf("\n\t\t\t\t5.返回主菜单。"); 
	printf("\n\t\t\t\t请输入您的选择:");
	scanf("%d",&n);
	system("CLS");
	if(n==1){
		printf("\n\t\t\t\t请输入书籍编号:");
		scanf("%d",&nums);
		fseek(fp, 0, SEEK_SET);
		while(fread(&stu,LEN,1,fp)){
			if(nums==stu.num){
				t=1;
				printf("\n\t\t\t\t\t此书为%s\n",stu.name);
				printf("\n\t\t\t\t是否确定删除图书%s。1.是   2.否",stu.name);
				scanf("%d",&j);
				if(j==1){
					printf("\n\t\t\t\t图书删除成功");
					printf("\n\t\t\t\t3秒后返回之前界面。");
					fseek(fp,0,SEEK_SET);
					FILE *fp1;
					fp1 = fopen("linshi.dat","ab+");
				
					while(fread(&stu,LEN,1,fp)){
						if(nums!=stu.num){
							fwrite(&stu,LEN,1,fp1);
						}
					} 
					fclose(fp);
					fclose(fp1);
					while(remove("book1.dat")!=0);
					rename("linshi.dat","book1.dat");				    
					fflush(stdin);
					Sleep(3000);
					system("CLS");
					return;									
				}
				else{
					printf("\n\t\t\t\t3秒后返回之前界面。");
				}
				Sleep(3000);
				system("CLS");
				
				goto loop2; 				
			}
		}
		if(t==-1){
			printf("\n\t\t\t\t未找到您所需要的书籍,3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop2;
		} 
	}
	else if(n==2){
		printf("\n\t\t\t\t请输入书籍名称:");
		scanf("%s",&name);
		fseek(fp, 0, SEEK_SET);
		while(fread(&stu,LEN,1,fp)){
			if(strcmp(name,stu.name) == 0){
				t=1;
				printf("\n\t\t\t\t\t此书为%s\n",stu.name);
				printf("\n\t\t\t\t是否确定删除图书%s。1.是   2.否",stu.name);
				scanf("%d",&j);
				if(j==1){
					printf("\n\t\t\t\t图书删除成功");
					printf("\n\t\t\t\t3秒后返回主界面。");
					fseek(fp,0,SEEK_SET);
					FILE *fp1;
					fp1 = fopen("linshi.dat","ab+");
				
					while(fread(&stu,LEN,1,fp)){
						if(strcmp(name,stu.name) != 0){
							fwrite(&stu,LEN,1,fp1);
						}
					} 
					fclose(fp);
					fclose(fp1);
					while(remove("book1.dat")!=0);
					rename("linshi.dat","book1.dat");
				
					fflush(stdin);
					Sleep(3000);
					system("CLS");
					return; 
				}
				else{
					printf("\n\t\t\t\t3秒后返回上一界面。");
					Sleep(3000);
					system("CLS");
					goto loop2;
				}		
			}

		}
		if(t==-1){
			printf("\n\t\t\t\t未找到您所需要的书籍,3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop2;
		} 
	}
	else if(n==3){
		printf("\n\t\t\t\t请输入书籍作者:");
		scanf("%s",&authors_name);
		fseek(fp, 0, SEEK_SET);
		while(fread(&stu,LEN,1,fp)){
			if(strcmp(authors_name,stu.author_name) == 0){
				printf("\n\t\t\t\t\t此书为%s\n",stu.name);
			}
			t=1;
		}
		fclose(fp);		
		if(t==-1){
			printf("\n\t\t\t\t未找到您所需要的书籍,3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop2;
		}
		else if(t!=-1){
			printf("\n\t\t\t\t请确认好需要删除图书的书名,返回上次界面从新选择删除方式。\n\t\t\t\t3秒后返回之前界面。");	
			Sleep(3000);
			system("CLS");
			goto loop2;
		}
	}
	else if(n==4){
		printf("\n\t\t\t\t请输入书籍出版社:");
		scanf("%s",&chubanshe1);
		fseek(fp, 0, SEEK_SET);
		while(fread(&stu,LEN,1,fp)){
			if(strcmp(chubanshe1,stu.chubanshe) == 0){
				printf("\n\t\t\t\t\t此书为%s\n",stu.name);
			}
			t=1;
		}
		fclose(fp);	
		if(t==-1){
			printf("\n\t\t\t\t未找到您所需要的书籍,3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop2;
		}
		else if(t!=-1){
			printf("\n\t\t\t\t请确认好需要删除图书的书名,返回上次界面从新选择删除方式。\n\t\t\t\t3秒后返回之前界面。");	
			Sleep(3000);
			system("CLS");
			goto loop2;
		}
	}
	else if(n==5){
		printf("\n\t\t\t\t3秒钟后返回主菜单");
		Sleep(3000);
		system("CLS");	
	}
}

6.图书借阅次数最值

c语言课程设计(图书馆管理系统)

 代码段

void chaxuncishu()
{
	FILE *fp;
	book stu;
	int min=10000,max=0,m;
	loop7: 
	fp = fopen("book1.dat","rb+");
	fseek(fp, 0, SEEK_SET);
	while (fread(&stu,LEN,1,fp)){
		if(stu.jieyucishu>=max){
			max=stu.jieyucishu;
			strcpy(temp.name,stu.name);	
		}
		if(stu.jieyucishu<=min&&stu.jieyucishu>=0){
			min=stu.jieyucishu;
			strcpy(temp2.name,stu.name);
		}
	}
	fclose(fp);
	printf("\n\n\t\t******************这里是图书借阅次数最值界面*********************"); 
	printf("\n\n\t\t******************图书借阅次数最多的图书为:%s,借阅次数为:%d********************",temp.name,max);
	printf("\n\n\t\t******************图书借阅次数最少的图书为:%s,借阅次数为:%d********************",temp2.name,min);
	printf("\n\n\t\t******************是否返回主菜单?1.是 2.否********************");
	scanf("%d",&m);
	if(m==1){
		printf("\n\n\t\t******************3秒后返回主菜单。***********************");
		Sleep(3000);
		system("CLS");
	}
	else if(m==2){
		system("CLS");
		goto loop7;
	}			
}

7.图书总数统计

图书总数会在主菜单界面左上角显示

c语言课程设计(图书馆管理系统)

 代码段

void tongji(){
	FILE *fp;
	book stu;
	tushuzongshu=0;
	fp = fopen("book1.dat","rb+");
	fseek(fp, 0, SEEK_SET);
	while(fread(&stu,LEN,1,fp)){
		tushuzongshu++;
	}
	fclose(fp);	
}

8.源码文章来源地址https://www.toymoban.com/news/detail-508582.html

#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<conio.h>
#include<string.h>
#define N 1000
#define LEN sizeof(book)

typedef struct book
{
	int num;							//编号 
	char name[31];						//书名 
	char author_name[27];				//作者名 
	char chubanshe[20];					//出版社 
	int jieyucishu;						//借阅次数 
}book; 

struct book temp;
struct book temp2;
int  tushuzongshu;

int luru();
void chaxun();
int shanchu();
void xiugai();
void chaxuncishu();
void tongji();

void main()
{	
	int n;
	Sleep(300);
	loop1:
	tongji();	
	printf("\n\n\t\t********************************图书管理系统**************************************");
	printf("\n\n\n\t\t\t*********欢迎使用图书馆管理系统,请选择你需要的操作**********");
	printf("\n\n\n\n当前图书馆藏书一共有%d本。",tushuzongshu);
	printf("\n\n\n\t\t\t\t\t\t1.图书录入系统");
	printf("\n\n\n\t\t\t\t\t\t2.图书查询系统");
	printf("\n\n\n\t\t\t\t\t\t3.图书删除系统");
	printf("\n\n\n\t\t\t\t\t\t4.图书修改系统");
	printf("\n\n\n\t\t\t\t\t\t5.图书借阅次数最值系统");
	printf("\n\n\n\t\t\t\t\t\t6.退出图书管理系统");
	printf("\n\n\n\t\t\t\t\t\t请选择您所需要的操作:    ");
	scanf("%d",&n);
	if(n>=1&&n<=5){
		system("ClS");
	} 
	else if(n==6){
		system("ClS");
		printf("再次按下回车键退出,谢谢使用!");
	}
	else{
		system("CLS");
		goto loop1;
	}
	switch(n)
	{
		case 1:luru();goto loop1;
		case 2:chaxun();goto loop1;
		case 3:shanchu();goto loop1;
		case 4:xiugai();goto loop1;
		case 5:chaxuncishu();goto loop1;
	}
}

int luru()
{	
	FILE *fp=NULL;
	book stu;
	char flag = 'y';
	fp=fopen("book1.dat","ab+");
	
	while((flag == 'y'||flag == 'Y')){
		printf("\n\n\n\n\t\t\t\t****************这里是图书录入系统*******************");
		printf("\n请输入图书id: ");
		scanf("%d",&stu.num);
		printf("\n请输入图书书名: ");
		scanf("%s",stu.name);
		printf("\n请输入图书作者: ");
		scanf("%s",stu.author_name);
		printf("\n请输入图书出版社: ");
		scanf("%s",stu.chubanshe);
		stu.jieyucishu=0;
		
		fwrite(&stu,LEN,1,fp);
		fflush(stdin);
		
		printf("\n\n\n是否继续输入?继续请输入y或Y:");
		scanf("%c",&flag); 
	}
	system("CLS");
	fclose(fp);
	return;
	
} 

void chaxun()
{
	FILE *fp=NULL;
	book stu;
	int n,i,j,t=-1;
	int nums;
	char name[N],authors_name[40],chubanshe1[40];
	loop3:
	fp = fopen("book1.dat","rb+");		
	printf("\n\n\n\n\t\t\t\t****************这里是图书查询系统*******************");
	printf("\n\t\t\t\t\t请选择你所查询的方式:");
	printf("\n\n\t\t\t\t\t1.编号查询;");
	printf("\n\n\t\t\t\t\t2.书名查询;"); 
	printf("\n\n\t\t\t\t\t3.作者查询;"); 
	printf("\n\n\t\t\t\t\t4.出版社查询;");
	printf("\n\n\t\t\t\t\t5.返回主菜单;");
	printf("请输入您的选择:");
	scanf("%d",&n);
	system("CLS");
	if(n==1){
		printf("\n\t\t\t\t\t\t请您输入图书编号:");
		scanf("%d",&nums);
		fseek(fp,0,SEEK_SET);
		while(fread(&stu,LEN,1,fp)){
			if(nums==stu.num)
			{
				t=1;
				printf("\n\t\t\t\t\t此书为%s,借阅数为%d,是否选择借阅?1.是   2.否",stu.name,stu.jieyucishu);
				printf("\n请输入你的选择:");
				scanf("%d",&j);
				if(j==1){
					stu.jieyucishu++;
					fseek(fp,-4,SEEK_CUR);
					fwrite(&stu.jieyucishu,sizeof(int),1,fp);
					printf("\n借阅成功!请从管理员处领取书籍。3秒钟后返回主菜单");
					t=-1;
					fclose(fp);
					Sleep(3000); 
					system("CLS");
					goto loop3;
				}
				else{
					printf("\n3秒钟后返回主菜单");
					t=-1;
					fclose(fp);
					Sleep(3000);
					system("CLS");
					goto loop3;
				} 
			}
		}
		fclose(fp);
		if(t==-1){
			printf("未找到您所需要的书籍,3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop3;
		}
	}

	else if(n==2){
		printf("\n\t\t\t\t\t请输入书名:");
		scanf("%s",&name);
		fseek(fp,0,SEEK_SET);
		while(fread(&stu,LEN,1,fp)){
			if(strcmp(name,stu.name) == 0)
			{
				t=1;
				printf("\n\t\t\t\t\t此书为%s,借阅数为%d,是否选择借阅?1.是   2.否",stu.name,stu.jieyucishu);
				printf("\n请输入你的选择:");
				scanf("%d",&j);
				if(j==1){
					stu.jieyucishu++;
					fseek(fp,-4,SEEK_CUR);
					fwrite(&stu.jieyucishu,sizeof(int),1,fp);
					printf("\n借阅成功!请从管理员处领取书籍。3秒钟后返回主菜单");
					t=-1;
					fclose(fp);
					Sleep(3000);
					system("CLS"); 
					goto loop3;
				}
				else{
					printf("\n3秒钟后返回主菜单");
					t=-1;
					fclose(fp);
					Sleep(3000);
					system("CLS");
					goto loop3;
				}				
			}
		}
		fclose(fp);
		if(t==-1){
			printf("未找到您所需要的书籍,3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop3;
		}
	
	}

	else if(n==3){
		printf("\n\t\t\t\t\t请输入书作者:");
		scanf("%s",&authors_name);
		fseek(fp,0,SEEK_SET);
		while(fread(&stu,LEN,1,fp)){
			if(strcmp(authors_name,stu.author_name) == 0){
				printf("\n\t\t\t\t\t作者的图书有%s\n",stu.name);
			}
			t=1;
		}
		fclose(fp);
		if(t==-1){
			printf("\n\t\t\t\t\t未找到您所需要的书籍,3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop3;
		}
		else if(t!=-1){
			printf("\n\t\t\t\t\t是否返回主菜单?1.是  2.否");
			t=-1;
			scanf("%d",&j);
			if(j==1){
				printf("\n\t\t\t\t\t3秒钟后返回主菜单");
				Sleep(3000);
				system("CLS"); 
			}
			else{
				printf("\n\t\t\t\t\t3秒钟后返回主菜单");
				Sleep(3000);
				system("CLS");
			} 
		}
	}
	else if(n==4){
		printf("\n\t\t\t\t\t请输入书出版社:");
		scanf("%s",&chubanshe1);
		fseek(fp,0,SEEK_SET);
		while(fread(&stu,LEN,1,fp)){
			if(strcmp(chubanshe1,stu.chubanshe) == 0){
				printf("\n\t\t\t\t\t出版社的图书有%s\n",stu.name);
			}
			t=1;
		}		
		fclose(fp);
		if(t==-1){
			printf("\t\t\t\t\t未找到您所需要的书籍,3秒后返回上一界面。");
			Sleep(3000);
			goto loop3;
		}
		else if(t!=-1){
			printf("\n\t\t\t\t\t是否返回主菜单?1.是  2.否");
			scanf("%d",&j);
			if(j==1){
				printf("\n\t\t\t\t\t3秒钟后返回主菜单");
				Sleep(3000);
				system("CLS"); 
			}
			else{
				printf("\n\t\t\t\t\t3秒钟后返回主菜单");
				Sleep(3000);
				system("CLS");
			} 
		}
	}
	else if(n==5){
		printf("\n\t\t\t\t\t3秒钟后返回主菜单");
		Sleep(3000);
		system("CLS");
	} 
}

int shanchu()
{
	int n,i,j,t=-1;
	int nums;
	book stu;
	FILE *fp;
	
	char name[20],authors_name[40],chubanshe1[40];
	loop2:
	fp = fopen ("book1.dat","rb+");
	printf("\n\n\n\n\t\t\t\t****************这里是图书删除系统*******************");
	printf("\n\t\t\t\t请输入您想要删除的书的数据:");
	printf("\n\t\t\t\t1.书籍编号。");
	printf("\n\t\t\t\t2.书籍书名。");
	printf("\n\t\t\t\t3.书籍作者。");
	printf("\n\t\t\t\t4.书籍出版社。");
	printf("\n\t\t\t\t5.返回主菜单。"); 
	printf("\n\t\t\t\t请输入您的选择:");
	scanf("%d",&n);
	system("CLS");
	if(n==1){
		printf("\n\t\t\t\t请输入书籍编号:");
		scanf("%d",&nums);
		fseek(fp, 0, SEEK_SET);
		while(fread(&stu,LEN,1,fp)){
			if(nums==stu.num){
				t=1;
				printf("\n\t\t\t\t\t此书为%s\n",stu.name);
				printf("\n\t\t\t\t是否确定删除图书%s。1.是   2.否",stu.name);
				scanf("%d",&j);
				if(j==1){
					printf("\n\t\t\t\t图书删除成功");
					printf("\n\t\t\t\t3秒后返回之前界面。");
					fseek(fp,0,SEEK_SET);
					FILE *fp1;
					fp1 = fopen("linshi.dat","ab+");
				
					while(fread(&stu,LEN,1,fp)){
						if(nums!=stu.num){
							fwrite(&stu,LEN,1,fp1);
						}
					} 
					fclose(fp);
					fclose(fp1);
					while(remove("book1.dat")!=0);
					rename("linshi.dat","book1.dat");				    
					fflush(stdin);
					Sleep(3000);
					system("CLS");
					return;									
				}
				else{
					printf("\n\t\t\t\t3秒后返回之前界面。");
				}
				Sleep(3000);
				system("CLS");
				
				goto loop2; 				
			}
		}
		if(t==-1){
			printf("\n\t\t\t\t未找到您所需要的书籍,3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop2;
		} 
	}
	else if(n==2){
		printf("\n\t\t\t\t请输入书籍名称:");
		scanf("%s",&name);
		fseek(fp, 0, SEEK_SET);
		while(fread(&stu,LEN,1,fp)){
			if(strcmp(name,stu.name) == 0){
				t=1;
				printf("\n\t\t\t\t\t此书为%s\n",stu.name);
				printf("\n\t\t\t\t是否确定删除图书%s。1.是   2.否",stu.name);
				scanf("%d",&j);
				if(j==1){
					printf("\n\t\t\t\t图书删除成功");
					printf("\n\t\t\t\t3秒后返回主界面。");
					fseek(fp,0,SEEK_SET);
					FILE *fp1;
					fp1 = fopen("linshi.dat","ab+");
				
					while(fread(&stu,LEN,1,fp)){
						if(strcmp(name,stu.name) != 0){
							fwrite(&stu,LEN,1,fp1);
						}
					} 
					fclose(fp);
					fclose(fp1);
					while(remove("book1.dat")!=0);
					rename("linshi.dat","book1.dat");
				
					fflush(stdin);
					Sleep(3000);
					system("CLS");
					return; 
				}
				else{
					printf("\n\t\t\t\t3秒后返回上一界面。");
					Sleep(3000);
					system("CLS");
					goto loop2;
				}		
			}

		}
		if(t==-1){
			printf("\n\t\t\t\t未找到您所需要的书籍,3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop2;
		} 
	}
	else if(n==3){
		printf("\n\t\t\t\t请输入书籍作者:");
		scanf("%s",&authors_name);
		fseek(fp, 0, SEEK_SET);
		while(fread(&stu,LEN,1,fp)){
			if(strcmp(authors_name,stu.author_name) == 0){
				printf("\n\t\t\t\t\t此书为%s\n",stu.name);
			}
			t=1;
		}
		fclose(fp);		
		if(t==-1){
			printf("\n\t\t\t\t未找到您所需要的书籍,3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop2;
		}
		else if(t!=-1){
			printf("\n\t\t\t\t请确认好需要删除图书的书名,返回上次界面从新选择删除方式。\n\t\t\t\t3秒后返回之前界面。");	
			Sleep(3000);
			system("CLS");
			goto loop2;
		}
	}
	else if(n==4){
		printf("\n\t\t\t\t请输入书籍出版社:");
		scanf("%s",&chubanshe1);
		fseek(fp, 0, SEEK_SET);
		while(fread(&stu,LEN,1,fp)){
			if(strcmp(chubanshe1,stu.chubanshe) == 0){
				printf("\n\t\t\t\t\t此书为%s\n",stu.name);
			}
			t=1;
		}
		fclose(fp);	
		if(t==-1){
			printf("\n\t\t\t\t未找到您所需要的书籍,3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop2;
		}
		else if(t!=-1){
			printf("\n\t\t\t\t请确认好需要删除图书的书名,返回上次界面从新选择删除方式。\n\t\t\t\t3秒后返回之前界面。");	
			Sleep(3000);
			system("CLS");
			goto loop2;
		}
	}
	else if(n==5){
		printf("\n\t\t\t\t3秒钟后返回主菜单");
		Sleep(3000);
		system("CLS");	
	}
}
 
void xiugai(){
	book stu;
	FILE *fp;
	int n,m,t=-1;
	int nums;
	char name[N],authors_name[40],chubanshe1[40];
	loop4:
	fp = fopen("book1.dat","rb+");
	printf("\n\n\n\n\t\t\t\t****************这里是图书修改系统*******************");
	printf("\n\t\t\t\t\t请选择你所需要修改图书的信息:");
	printf("\n\n\t\t\t\t\t1.编号;");
	printf("\n\n\t\t\t\t\t2.书名;"); 
	printf("\n\n\t\t\t\t\t3.作者;"); 
	printf("\n\n\t\t\t\t\t4.出版社;");
	printf("\n\n\t\t\t\t\t5.返回主菜单;");
	printf("\n\n\t\t\t\t\t请输入您的选择:");	
	scanf("%d",&n);
	system("CLS");
	if(n==1){
		printf("\n\n\t\t\t\t\t请输入修改图书的编号:");
		scanf("%d",&nums); 
		fseek(fp, 0, SEEK_SET);
		while (fread(&stu, LEN, 1, fp))
		{

			if (nums==stu.num)
			{
				printf("\n\n\t\t\t\t\t请重新输入图书编号:   ");
				scanf("%d", &stu.num);
	
				printf("\n\n\t\t\t\t\t请重新输入书名:    ");
				scanf("%s", &stu.name);

				printf("\n\n\t\t\t\t\t请重新输入书籍作者: ");
				scanf("%s", &stu.author_name);

				printf("\n\n\t\t\t\t\t请重新输入图书出版社: ");
				scanf("%s", &stu.chubanshe);

				fflush(stdin);
				fseek(fp, 0-LEN, SEEK_CUR);
				fwrite(&stu, LEN, 1, fp);
				fclose(fp);
			}
		}
		printf("\n\t\t\t\t图书修改完成,3秒钟后返回主菜单");
		Sleep(3000);
		system("CLS");
	}
	if(n==2){
		printf("\n\n\t\t\t\t\t请输入修改图书的书名:");
		scanf("%s",&name); 
		fseek(fp, 0, SEEK_SET);
		
		while (fread(&stu, LEN, 1, fp))
		{

			if (strcmp(name,stu.name) == 0)
			{
				printf("请重新输入图书id:   ");
				scanf("%d", &stu.num);

				printf("请重新输入书名:    ");
				scanf("%s", &stu.name);

				printf("请重新输入书籍作者  : ");
				scanf("%s", &stu.author_name);
	
				printf("请重新输入图书出版社  : ");
				scanf("%s", &stu.chubanshe);

				fflush(stdin);
				fseek(fp,0-LEN, SEEK_CUR);
				fwrite(&stu, LEN, 1, fp);
				fclose(fp);
			}
		}
		printf("\n\t\t\t\t图书修改完成,3秒钟后返回主菜单");
		Sleep(3000);
		system("CLS");		
	}
	if(n==3){
		printf("\n\t\t\t\t请输入作者名称:");
		scanf("%s",&authors_name);
		fseek(fp, 0, SEEK_SET);
		while(fread(&stu,LEN,1,fp)){
			if(strcmp(authors_name,stu.author_name) == 0){
				printf("\n\t\t\t\t\t此出版社的图书为%s\n",stu.name);
			}
			t=1;
		}
		fclose(fp);
		if(t==-1){
			printf("未找到您所需要的书籍,3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop4;
		} 
		else if(t!=-1){
			printf("\n3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop4;
			}							
		}
	
	if(n==4){
		printf("\n\t\t\t\t请输入出版社名称:");
		scanf("%s",&chubanshe1);
		fseek(fp, 0, SEEK_SET);
		while(fread(&stu,LEN,1,fp)){
			if(strcmp(chubanshe1,stu.chubanshe) == 0){
				printf("\n\t\t\t\t\t此出版社的图书为%s\n",stu.name);
			}
			t=1;
		}
		fclose(fp);
		if(t==-1){
			printf("未找到您所需要的书籍,3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop4;
		} 
		else if(t!=-1){ 
			printf("\n3秒后返回上一界面。");
			Sleep(3000);
			system("CLS");
			goto loop4;
			}
		}
	if(n==5){
		printf("\n3秒后返回主菜单。");
		Sleep(3000);
		system("CLS");
	}
}

void chaxuncishu()
{
	FILE *fp;
	book stu;
	int min=10000,max=0,m;
	loop7: 
	fp = fopen("book1.dat","rb+");
	fseek(fp, 0, SEEK_SET);
	while (fread(&stu,LEN,1,fp)){
		if(stu.jieyucishu>=max){
			max=stu.jieyucishu;
			strcpy(temp.name,stu.name);	
		}
		if(stu.jieyucishu<=min&&stu.jieyucishu>=0){
			min=stu.jieyucishu;
			strcpy(temp2.name,stu.name);
		}
	}
	fclose(fp);
	printf("\n\n\t\t******************这里是图书借阅次数最值界面*********************"); 
	printf("\n\n\t\t******************图书借阅次数最多的图书为:%s,借阅次数为:%d********************",temp.name,max);
	printf("\n\n\t\t******************图书借阅次数最少的图书为:%s,借阅次数为:%d********************",temp2.name,min);
	printf("\n\n\t\t******************是否返回主菜单?1.是 2.否********************");
	scanf("%d",&m);
	if(m==1){
		printf("\n\n\t\t******************3秒后返回主菜单。***********************");
		Sleep(3000);
		system("CLS");
	}
	else if(m==2){
		system("CLS");
		goto loop7;
	}			
}

void tongji(){
	FILE *fp;
	book stu;
	tushuzongshu=0;
	fp = fopen("book1.dat","rb+");
	fseek(fp, 0, SEEK_SET);
	while(fread(&stu,LEN,1,fp)){
		tushuzongshu++;
	}
	fclose(fp);	
}

到了这里,关于c语言课程设计(图书馆管理系统)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 学校图书馆管理系统的架构设计与实现

    随着大学生越来越多,学校图书馆的管理变得愈发复杂。为了更好地管理和服务于学生和教职工,学校需要建立一个高效的图书馆管理系统。本文将介绍学校图书馆管理系统的架构设计与实现。 1. 架构设计 学校图书馆管理系统的架构设计主要分为三个部分: 展示层:展示层

    2024年02月22日
    浏览(52)
  • java毕业设计——基于java+Java Swing+sqlserver的图书馆书库管理系统设计与实现(毕业论文+程序源码)——图书馆书库管理系统

    大家好,今天给大家介绍基于java+Java Swing+sqlserver的图书馆书库管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦 文章目录: 毕业

    2024年02月03日
    浏览(47)
  • 【计算机毕业设计】图书馆借阅管理系统

    一、系统截图(需要演示视频可以私聊)         摘  要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、

    2024年02月09日
    浏览(74)
  • 【计算机毕业设计】图书馆管理系统设计与实现

            以往的图书馆管理事务处理主要使用的是传统的人工管理方式,这种管理方式存在着管理效率低、操作流程繁琐、保密性差等缺点,长期的人工管理模式会产生大量的文本借书与文本数据,这对事务的查询、更新以及维护带来不少困难。随着互联网时代的到来,现如

    2024年02月04日
    浏览(50)
  • php图书馆管理系统的设计与实现毕业设计-附源码

    摘 要 大数据时代下,数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求,利用互联网服务于其他行业,促进生产,已经是成为一种势不可挡的趋势。在图书馆的要求下,开发一款整体式结构的图书馆管理系统,将复杂的系统进行拆分,能够实现对需求的

    2024年02月08日
    浏览(46)
  • 33基于Java简单实现图书馆借书管理系统设计与实现

    本章节给大家介绍一个基于Java简单实现图书馆借书管理系统的设计与实现 项目总体分为俩种角色,分别是管理员和阅读者,管理员可以登录系统中,进行图书管理,上架下架图书,对用户进行管理、对读者进行管理、查看借阅记录管理等,读者角色可以登录系统查询图书信息

    2024年02月03日
    浏览(62)
  • 基于微信小程序的图书馆管理系统设计与实现

                                                                         摘要 在当今社会,互联网已经开始成为时代的主流,随着信息技术的发展,人们开始越来越依赖网络。互联网也逐渐成为我们生活中必不可少的一部分,它的出现也重新定义了人们获取信息资源的

    2024年02月12日
    浏览(47)
  • 【数据库课设】图书馆资源管理系统 源码+流程图+结构设计(借还图书 逾期罚款 图书管理 读者管理 信息查询)python实现

    一个管理员编号对应一个密码,且需要有管理员注册密匙。 可以在图书信息表中录入、修改、删除图书。 可以在图书信息表中查询书籍。 可以编辑图书借阅、归还信息。 可以编辑欠款信息。 可以编辑读者信息表。 图书馆注册,获得读者编号。 可以在图书信息表中查阅书籍

    2024年02月10日
    浏览(50)
  • 基于Java的图书馆借阅管理系统的设计与实现--毕业开题报告

    基于Java的图书馆借阅管理系统的设计与实现–开题报告 这个先写一版开题报告,后续有时间给大家提供论文 。 题目:基于Java的图书馆借阅管理系统的设计与实现 图书馆是一个信息系统,它收集、处理、组织、存储、选择、控制、转换重要的信息和知识载体,并将其传递给

    2024年02月03日
    浏览(113)
  • 计算机毕业设计 | SpringBoot+vue的图书馆管理系统(附源码)

    随着现在科学技术的进步,人类社会正逐渐走向信息化,图书馆拥有丰富的文献信息资源,是社会系统的重要组成部分,在信息社会中作用越来越重要,在我国图书馆计算机等 信息技术的应用起步于 20 世纪 70 年代末期,随着改革开放的步伐的迅速发展,特别是 90 年代以后,

    2024年01月19日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包