⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 createfile.cpp

📁 本源码为C++版的图书馆管理系统
💻 CPP
字号:
# include <iostream.h>
# include <string>
# include <math.h>
# include <stdio.h>
# include <malloc.h>


//追加一条图书主数据库记录
void AppeDBaseRec(BookDbaseFile &df)
{
	int i;
	i=++df.len;
	cout<<"书号      书名          作者          出版社         分类        藏书量"<<endl;
	cin>>df.BookDbase[i].bno>>df.BookDbase[i].bname>>df.BookDbase[i].author>>df.BookDbase[i].press>>df.BookDbase[i].sortno>>df.BookDbase[i].storenum;
    df.BookDbase[i].borrownum=0;
}

//修改书号索引表
void ChangeBnoIdxF(BookDbaseFile &df,BnoIdxFile &bif)
{
	int i,j,k;
	char sh[4];
	i=df.len;
	strcpy(sh,df.BookDbase[i].bno);
	j=bif.len;
	k=1;
	while(j>=1)
	{
		if(strcmp(sh,bif.BnoIdx[j].bno)>0)
		{k=j+1;break;}
		j--;
	}
	if(bif.len>0)
		for(j=bif.len;j>=k;j--)
			bif.BnoIdx[j+1]=bif.BnoIdx[j];
	strcpy(bif.BnoIdx[k].bno,sh);
    bif.BnoIdx[k].RecNo=i;
	bif.len++;
}

//修改书名索引以及书名链头索引表
void ChangeLinkHeadF1(BookDbaseFile &df,LHFile1 &lhf1)
{
	int i,j,k,m;
	char sm[20];
	i=df.len;
	strcpy(sm,df.BookDbase[i].bname);
	j=1; k=0;
	while(j<=lhf1.len1)
	{
		if(strcmp(sm,lhf1.LHFrec1[j].bname)==0)
		{k=j;break;}
		j++;
	}
	if(k!=0)
	{
		df.BookDbase[i].namenext=lhf1.LHFrec1[k].lhead;
		lhf1.LHFrec1[k].lhead=i;
		lhf1.LHFrec1[k].RecNum++;
	}
	else
	{
		m=++lhf1.len1;
		df.BookDbase[i].namenext=0;
		lhf1.LHFrec1[m].lhead=i;
		lhf1.LHFrec1[m].RecNum=1;
		strcpy(lhf1.LHFrec1[m].bname,sm);
	}
}

//修改作者索引以及作者链头索引表
void ChangeLinkHeadF2(BookDbaseFile &df,LHFile2 &lhf2)
{
	int i,j,k,m;
	char zz[8];
	i=df.len;
	strcpy(zz,df.BookDbase[i].author);
	j=1; k=0;
	while(j<=lhf2.len2)
	{
		if(strcmp(zz,lhf2.LHFrec2[j].author)==0)
		{k=j;break;}
		j++;
	}
	if(k!=0)
	{
		df.BookDbase[i].authnext=lhf2.LHFrec2[k].lhead;
		lhf2.LHFrec2[k].lhead=i;
		lhf2.LHFrec2[k].RecNum++;
	}
	else
	{
		m=++lhf2.len2;
		df.BookDbase[i].authnext=0;
		lhf2.LHFrec2[m].lhead=i;
		lhf2.LHFrec2[m].RecNum=1;
		strcpy(lhf2.LHFrec2[m].author,zz);
	}
}

//修改出版社索引以及出版社链头索引表
void ChangeLinkHeadF3(BookDbaseFile &df,LHFile3 &lhf3)
{
	int i,j,k,m;
	char cbs[20];
	i=df.len;
	strcpy(cbs,df.BookDbase[i].press);
	j=1; k=0;
	while(j<=lhf3.len3)
	{
		if(strcmp(cbs,lhf3.LHFrec3[j].press)==0)
		{k=j;break;}
		j++;
	}
	if(k!=0)
	{
		df.BookDbase[i].prenext=lhf3.LHFrec3[k].lhead;
		lhf3.LHFrec3[k].lhead=i;
		lhf3.LHFrec3[k].RecNum++;
	}
	else
	{
		m=++lhf3.len3;
		df.BookDbase[i].prenext=0;
		lhf3.LHFrec3[m].lhead=i;
		lhf3.LHFrec3[m].RecNum=1;
		strcpy(lhf3.LHFrec3[m].press,cbs);
	}
}

//建立图书多重表主索引以及相关索引链头文件
void CreateBook(BookDbaseFile &bf,BnoIdxFile &bif,LHFile1 &f1,LHFile2 &f2,LHFile3 &f3)
{
	char yn='y';
	while(yn=='y' || yn=='Y')
	{
		AppeDBaseRec(bf);
		ChangeBnoIdxF(bf,bif);
		ChangeLinkHeadF1(bf,f1);
		ChangeLinkHeadF2(bf,f2);
		ChangeLinkHeadF3(bf,f3);
		cout<<"继续输入吗?Y/N:"<<endl;
		cin>>yn;
	}
}









⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -