用C语言编一个简单的图书管理系统(包括借阅查询还书三部分)(学生作业用) 用C语言写个图书馆系统

\u7528c\u8bed\u8a00\u7f16\u5199\u4e00\u4e2a\u56fe\u4e66\u7ba1\u7406\u7cfb\u7edf\u80fd\u5b9e\u73b0\uff081\uff09\u65b0\u8fdb\u56fe\u4e66\u57fa\u672c\u4fe1\u606f\u7684\u8f93\u5165\u3002 \uff082\uff09\u56fe\u4e66\u57fa\u672c\u4fe1\u606f\u7684\u67e5\u8be2\u3002 \uff083

\u53ef\u4ee5\u4f7f\u7528\u94fe\u8868\u6765\u505a
\u8fd9\u91cc\u9700\u8981\u4e24\u4e2a\u94fe\u8868
\u5176\u4e2d\u4e00\u4e2a\u7528\u6765\u4fdd\u5b58\u56fe\u7247\u4fe1\u606f
\u53e6\u4e00\u4e2a\u7528\u6765\u4fdd\u5b58\u6ce8\u518c\u7528\u6237\u4fe1\u606f
\u4e0d\u77e5\u9053\u662f\u4e0d\u662f\u501f\u4e66\u65f6\u8fd8\u9700\u8981\u8fdb\u884c\u7528\u6237\u9a8c\u8bc1\uff08\u662f\u5426\u4e3a\u6ce8\u518c\u7528\u6237\u4ee5\u53ca\u662f\u5426\u9700\u8981\u5bc6\u7801\u9a8c\u8bc1\u7b49\uff09
\u6240\u4ee5\u4e5f\u9700\u8981\u4e24\u4e2a\u6587\u4ef6\u4e00\u4e2a\u5b58\u50a8\u56fe\u4e66\u4fe1\u606f\u94fe\u8868\uff0c\u4e00\u4e2a\u5b58\u50a8\u7528\u6237\u4fe1\u606f\u94fe\u8868

\u94fe\u8868\u64cd\u4f5c\u4e2d\u6d89\u53ca\u5230\u8282\u70b9\u7684\u5220\u9664\u6240\u4ee5\u4e2a\u4eba\u8ba4\u4e3a\u4f7f\u7528\u53cc\u5411\u94fe\u8868\u4f1a\u65b9\u4fbf\u4e00\u70b9

\u5982\u679c\u81ea\u5df1\u4e0d\u60f3\u5199\u8fd9\u4e2a\u4ee3\u7801\u7684\u8bdd
\u6211\u53ef\u4ee5\u6709\u507f\u5e2e\u5fd9\u4ee3\u52b3

\u4e0b\u9762\u53ef\u4ee5\u53c2\u8003\u53c2\u8003\uff01

\u5b8c\u6574\u7684C\u8bed\u8a00\u56fe\u4e66\u7ba1\u7406\u7cfb\u7edf

#include
#include
#include
#include "graphics.h"
#include "math.h"
#define m 1
struct data
{ int year;
int month;
int day;
};

struct ReaderNode
{
char num[20];
struct data bro;
struct data back;
};

struct BookNode
{
char title[15];
char writer[15];
int currentnum;
int totalnum;
char brief[30];
struct ReaderNode reader[20];
};


struct TreeNode
{
int n;
struct TreeNode *prt;
int key[2*m];
struct BookNode *rec[2*m];
struct TreeNode *link[2*m+1];

};

struct BookNode *InputNode();
struct TreeNode *mbsearch(struct TreeNode *bth,int x,int *k,int *flag);
struct TreeNode *mbinsert(struct TreeNode *bth);
struct TreeNode *mbdel(struct TreeNode *bth);
void OutputNode(struct TreeNode *bth);
void borrow(struct TreeNode *bth);
void payback(struct TreeNode *bth);
char menu(void);
struct TreeNode *mbsearch(struct TreeNode *bth,int x,int *k,int *flag)
{
struct TreeNode *p,*q;
p=bth; *flag=0; q=p;
while( (p!=NULL) && (*flag==0) )
{
*k=1;q=p;
while( (*k n) && ( q->key[*k-1] < x) ) *k=*k+1;
if( q->key[*k-1]==x) *flag=1;
else if( ( *k==q->n ) && ( q->key[*k-1] link[*k];p->prt=q;}
else { p=q->link[*k-1]; p->prt=q;*k=*k-1;}
}
return(q);
}

struct TreeNode *mbinsert(struct TreeNode *bth)
{
int flag,j,k,t;
int y,x,z;
struct TreeNode *p,*q,*u,*s;
struct BookNode *r,*l;
clrscr();
printf("\n\tPlease input the book you want to insert: ");
scanf("%d",&x);
q=mbsearch(bth,x,&k,&flag);
if(flag==1)
{

printf("\n\tHas %d this kind of book,do you want to add another?(y/n)\n",(q->rec[k-1])->totalnum);
z=getch();
if(z=='y'||z=='Y')
{
(q->rec[k-1])->totalnum++; (q->rec[k-1])->currentnum++;
printf("\n\tNow total has %d this kind of book,",(q->rec[k-1])->totalnum);
printf("\n\tand current has %d in the library.",(q->rec[k-1])->currentnum);
}
return(bth);
}
r=InputNode(bth);
if(bth==NULL)
{
bth=p=(struct TreeNode *)malloc(sizeof(struct TreeNode));
p->n=1; p->key[0]=x; p->rec[0]=r;p->prt=NULL;
for(j=1;jlink[j-1]=NULL;
return(p);
}

p=NULL; t=0;
while(t==0)
{
if(k==q->n) {y=x;l=r;u=p;}
else
{
y=q->key[q->n-1]; l=q->rec[q->n-1];u=q->link[q->n];
for(j=(q->n)-1; j>=k+1; j--)
{
q->key[j]=q->key[j-1];q->rec[j]=q->rec[j-1];q->link[j+1]=q->link[j];
}
q->key[k]=x;q->rec[k]=r;q->link[k+1]=p;
if(p!=NULL) p->prt=q;
}

if(q->n<2*m)
{
q->n=(q->n)+1;
t=1;
q->key[(q->n)-1]=y; q->rec[(q->n)-1]=l; q->link[q->n]=u;
if(u!=NULL) u->prt=q;
}
else
{
p=(struct TreeNode *)malloc(sizeof(struct TreeNode));
p->n=m; q->n=m; p->prt=q->prt;
x=q->key[m];r=q->rec[m];
for(j=1;j<=m-1;j++)
{
p->key[j-1]=q->key[m+j];p->rec[j-1]=q->rec[m+j];p->link[j-1]=q->link[m+j];
if(q->link[m+j]!=NULL) (q->link[m+j])->prt=p;

}

p->link[m-1]=q->link[2*m];
p->link[m]=u;
p->key[m-1]=y;
p->rec[m-1]=l;

if(u!=NULL) u->prt=p;
for(j=m+2;j<=2*m+1;j++)
{
q->link[j-1]=NULL;p->link[j-1]=NULL;
}

if(q->prt==NULL)
{
s=(struct TreeNode *)malloc(sizeof(struct TreeNode));
s->key[0]=x; s->rec[0]=r;
s->link[0]=q; s->link[1]=p;
s->n=1; s->prt=NULL; q->prt=s; p->prt=s;
for(j=3;jlink[j-1]=NULL;
bth=s; t=1;
}
else
{
q=q->prt; k=1;
while((kn)&&(q->key[k-1]<x)) k=k+1;
k=k-1;
}
}
}
return(bth);
}
struct TreeNode *mbdel(struct TreeNode *bth)
{
int flag,j,k,t;
int x,y;
struct TreeNode *u,*s,*p,*q;
struct BookNode *r,*l;
clrscr();
printf("\n\tPlease input the book you want to delete: ");
scanf("%d",&x);
q=mbsearch(bth,x,&k,&flag);
if(flag==0) { printf("\n\tThe book is not exist!\n"); return(bth);}
p=q->link[k];
if(p!=NULL)
{
while(p->link[0]!=NULL) p=p->link[0];
q->key[k-1]=p->key[0];
q->rec[k-1]=p->rec[0];
k=1;q=p;
}

for(j=k;jn-1;j++)
{
q->key[j-1]=q->key[j];
q->rec[j-1]=q->rec[j];
}
q->n=q->n-1;

while ((q!=bth)&&(q->n<m))
{
p=q->prt;j=1;
while(p->link[j-1]!=q) j=j+1;
if((jn)&&((p->link[j])->n>m))
{
s=p->link[j];
y=s->key[0];
l=s->rec[0];
u=s->link[0];
for(k=1;kn-1;k++)
{
s->key[k-1]=s->key[k];
s->rec[k-1]=s->rec[k];
s->link[k-1]=s->link[k];
}
s->link[s->n-1]=s->link[s->n];
s->link[s->n]=NULL;
s->n=s->n-1; q->n=q->n+1;
q->key[q->n-1]=p->key[j-1];
q->rec[q->n-1]=p->rec[j-1];
q->link[q->n]=u;
p->key[j-1]=y;
p->rec[j-1]=l;
if(u!=NULL) u->prt=q;
}
else if((j>1)&&((p->link[j-2])->n>m))
{
s=p->link[j-2];
q->n=q->n+1;
q->link[q->n]=q->link[q->n-1];

for(k=q->n-1;k>=1;k--)
{
q->key[k]=q->key[k-1];
q->rec[k]=q->rec[k-1];
q->link[k]=q->link[k-1];
}
q->key[0]=p->key[j-2];
q->rec[0]=p->rec[j-2];
u=s->link[s->n];
q->link[0]=u;
if(u!=NULL) u->prt=q;
p->key[j-2]=s->key[s->n-1];
p->rec[j-2]=s->rec[s->n-1];
s->link[s->n]=NULL;
s->n=s->n-1;
}

else
{
if(j==p->n+1)
{ q=p->link[j-2]; s=p->link[j-1]; j=j-1;}
else s=p->link[j];
q->key[q->n]=p->key[j-1];
q->rec[q->n]=p->rec[j-1];
t=q->n+1;
for(k=1;kn;k++)
{ q->key[t+k-1]=s->key[k-1];
q->rec[t+k-1]=s->rec[k-1];
u=s->link[k-1];
q->link[t+k-1]=u;
if(u!=NULL) u->prt=q;
}
u=s->link[s->n]; q->link[t+s->n]=u;
if(u!=NULL) u->prt=q;
q->n=2*m;
free(s);
for(k=j;kn-1;k++)
{
p->key[k-1]=p->key[k];
p->rec[k-1]=p->rec[k];
p->link[k]=p->link[k+1];
}
p->n=p->n-1; s=q; q=p;
}
}
if((q==bth)&&(q->n==0))
{ free(bth); bth=s; bth->prt=NULL;
if(s->n==0) {bth=NULL; free(s); }
}
printf("\n\tThe book has been delete !");
return(bth);
}
struct BookNode *InputNode()
{
struct BookNode *p;
int i;
p=(struct BookNode *)malloc(sizeof(struct BookNode));
clrscr();
fflush(stdin);
printf("\n\tInput the title: ");
gets(p->title);
printf("\n\tInput the writer: ");
gets(p->writer);
printf("\n\tInput the book current amount: ");
scanf("%d",&p->currentnum);
printf("\n\tInput the book total amount: ");
scanf("%d",&p->totalnum);
fflush(stdin);
printf("\n\tInput the book brief instruction: ");
gets(p->brief);
for(i=0;i<20;i++)
(p->reader[i]).num[0]='\0';
return(p);
}
void OutputNode(struct TreeNode *bth)
{
struct TreeNode *q;
struct BookNode *p;
int k;
int x;
int flag;
clrscr();
printf("\n\tPlease input the book you want to search: ");
scanf("%d",&x);
q=mbsearch(bth,x,&k,&flag);
if(flag==1)
{
p=q->rec[k-1];
printf("\n\tTitle: %s",p->title);
printf("\n\tWriter: %s",p->writer);
printf("\n\tCurrentAmount: %d",p->currentnum);
printf("\n\tTotalAmount: %d",p->totalnum);
printf("\n\tBriefIntroduction: %s\n",p->brief);
}
else printf("\n\tThis book is not exist!");
}
void borrow(struct TreeNode *bth)
{
struct TreeNode *q;
struct BookNode *p;
struct ReaderNode *r;
int i,k, x, flag,t;
clrscr();
printf("\n\tPlease input the book you want to borrow: ");
scanf("%d",&x);
q=mbsearch(bth,x,&k,&flag);
if(flag==1)
{
p=q->rec[k-1];
printf("\n\tDo you want this book ?(y/n)");
printf("\n\tTitle: %s",p->title);
printf("\n\tWriter: %s",p->writer);
printf("\n\tCurrentAmount: %d",p->currentnum);
printf("\n\tTotalAmount: %d",p->totalnum);
printf("\n\tBriefIntroduction: %s",p->brief);
t=getch();
if(t=='y'||t=='Y')
{
if( (p->currentnum)==0) printf("\n\tSorry,this book has all borrow out...");
else
{
clrscr();
for(i=0;ireader[i]).num[0]=='\0') break;
printf("\n\tPlease input your certificate number: ");
scanf("%s",(p->reader[i]).num);
printf("\n\tPlease input the borrow data: ");
printf("\n\tYear: ");
scanf("%d",&((p->reader[i]).bro.year));
printf("\tMonth: ");
scanf("%d",&((p->reader[i]).bro.month));
printf("\tDay: ");
scanf("%d",&((p->reader[i]).bro.day));

printf("\n\tPlease input the payback data: ");
printf("\n\tYear: ");
scanf("%d",&((p->reader[i]).back.year));
printf("\tMonth: ");
scanf("%d",&((p->reader[i]).back.month));
printf("\tDay: ");
scanf("%d",&((p->reader[i]).back.day));

p->currentnum--;
printf("\n\tYou have borrow the book.");}
}

}
else printf("\n\tThis book is not exist!");
}
void payback(struct TreeNode *bth)
{
struct TreeNode *q;
struct BookNode *p;
int i,k, x, flag,t,j;
int year,month,day,d;
float pay;
char temp[20];
clrscr();
printf("\n\tPlease input the book you want to payback: ");
scanf("%d",&x);
q=mbsearch(bth,x,&k,&flag);
if(flag==1)
{
p=q->rec[k-1];
printf("\n\tDo you want to payback this book ?(y/n)");
printf("\n\tTitle: %s",p->title);
printf("\n\tWriter: %s",p->writer);
printf("\n\tCurrentAmount: %d",p->currentnum);
printf("\n\tTotalAmount: %d",p->totalnum);
printf("\n\tBriefIntroduction: %s",p->brief);
t=getch();
if(t=='y'||t=='Y')
{
if( (p->currentnum) >=(p->totalnum) )
printf("\n\tYou want to offer a more book ??\n");
else
{
clrscr();
printf("\n\tPlease input your certificate number: ");
scanf("%s",temp);
j=0;
for(i=0;i<20;i++)
{
if(! (strcmp(temp,(p->reader[i]).num))) {j=1;break;}
}
if(j==0) {printf("\n\tYou haven't borrow this book.");return;}
printf("\n\tToday is:");
printf("\n\tYear: ");
scanf("%d",&year);
printf("\tMonth: ");
scanf("%d",&month);
printf("\tDay: ");
scanf("%d",&day);


d=0;
if(yearreader[i]).back.year) d=1;
if(yearreader[i]).back.year && monthreader[i]).back.month) d=1;
if(yearreader[i]).back.year && monthreader[i]).back.month && dayreader[i]).back.day) d=1;
if(d==0)
{
clrscr();
pay=(year-(p->reader[i]).back.year)*365+(month-(p->reader[i]).back.month)*30+(day-(p->reader[i]).back.day);
printf("\n\tYou borrow this book is in %d-%d-%d",(p->reader[i]).bro.year,(p->reader[i]).bro.month,(p->reader[i]).bro.day);
printf("\n\tYou should pay it back in %d-%d-%d",(p->reader[i]).back.year,(p->reader[i]).back.month,(p->reader[i]).back.day);
printf("\n\tToday is %d-%d-%d",year,month,day);
printf("\n\n\tSo you have go out the payback day");
printf("\n\tYou have to pay %2.1f Yuan.",0.1*pay);
}
(p->reader[i]).num[0]='\0';
p->currentnum++;
printf("\n\tYou have payback the book.");
}
}

}
else printf("\n\tYou want to payback an inexistence book ???");

}
donghua()
{int graphdriver=VGA;
int graphmode=VGAHI;
int i,j;
registerbgidriver(EGAVGA_driver);
initgraph(&graphdriver,&graphmode,"");
clrscr();

for(i=0;i<=150;i+=5)
{setcolor(i);
textbackground(RED);
settextstyle(0,0,2);
outtextxy(100,i+140,"Liberary management System");
delay(10000000);
clrscr();
}
setcolor(RED);
outtextxy(50,200,"Loading");
delay(100000000000);
outtextxy(50,200,"Loading.");
delay(100000000000);
outtextxy(50,200,"Loading..");
delay(100000000000);
outtextxy(50,200,"Loading...");
delay(100000000000);
outtextxy(50,200,"Loading....");
delay(100000000000);
outtextxy(50,200,"Loading.....");
delay(100000000000);
outtextxy(50,200,"Loading......");
delay(100000000000);
outtextxy(50,200,"Loading.......");
delay(100000000000);
outtextxy(50,200,"Loading........");
delay(100000000000);
outtextxy(50,200,"Loading.........");
delay(100000000000);
outtextxy(50,200,"Loading..........");
delay(100000000000);
outtextxy(50,200,"Loading...........");
outtextxy(50,200,"Loading............");
delay(100000000000);
for(i=0;i<=10;i++)
delay(100000000000);
clrscr();

}
char menu(void)
{
clrscr();
window(1,1,80,25);
textmode(MONO);
textbackground(BLACK);
textcolor(5);
printf("\n\t ****************************************************");
printf("\n\t ***** Welcome to Liberary management System *****");
printf("\n\t ****************************************************");
printf("\n\t ****************************************************");
printf("\n\t *1.Add a book *");
printf("\n\t ****************************************************");
printf("\n\t *2.Delete a book *");
printf("\n\t ****************************************************");
printf("\n\t *3.Search a book *");
printf("\n\t ****************************************************");
printf("\n\t *4.Borrow a book *");
printf("\n\t ****************************************************");
printf("\n\t *5.Payback a book *");
printf("\n\t ****************************************************");
printf("\n\t *0.exit *");
printf("\n\t ****************************************************");
printf("\n\t please select: ");
return getch();
}
bofangdonghua()
{int graphdriver=VGA;
int graphmode=VGAHI;
int i,j;
char c;
registerbgidriver(EGAVGA_driver);
initgraph(&graphdriver,&graphmode,"");
/*************shi fou bo fang dong hua?**************/
printf:{setcolor(RED);
settextstyle(3,0,5);
outtextxy(100,30,"bo fang dong hua?");
outtextxy(150,80,"Yes");
outtextxy(300,80,"No");
c=getch();
if(c=='Y'||c=='y')
{donghua();
menu();
}
else
if(c=='N'||c=='n')
menu();
else
{setcolor(GREEN);
settextstyle(3,0,8);
outtextxy(200,240,"Error!");
delay(10000000000);
clrscr();
goto printf;
}
}
/**************************************/

}

void main()
{
char c,t;
int x;
int k,flag,p=1;
struct TreeNode *bth=NULL;

bofangdonghua();


while(1)
{
c=menu();
putch(c);
getch();
switch(c)
{
case '1': bth=mbinsert(bth);

break;

case '2': bth=mbdel(bth);

break;

case '3': OutputNode(bth);
break;

case '4': borrow(bth);
break;

case '5': payback(bth);
break;

case '0': clrscr();
printf("\n\tDo you want to return ?(y/n)");
t=getch();
if(t=='y'||t=='Y') exit(0);
break;
defult :break;
}
printf("\n\tPress any key to the main menu....");
getch();
}
}

#include<stdio.h>
#include<string.h>
struct sale/*商品名的定义*/
{int number;<br>char name[20];<br>float price;<br>long count;<br>long time;<br>long date;};

/*各个函数*/
void input(struct sale s[7]);/*输入函数*/
void output(struct sale s[7]);/*输出函数*/
void seek(struct sale s[7]);/*查找函数*/
void row(struct sale s[7]);/*排序函数*/
void change(struct sale s[7]);/*删除、修改、或插入*/

void main()/*主函数执行区域*/
{struct sale s[7]={{2,"pen",0.5,200,20050604,20090102},{1,"milk",3.5,100,20050403,20090202},
{5,"coke",3.5,500,20060203,20070503},{6,"chewing",0.3,200,20060305,20080205},
{4,"eraser",0.4,20,20060304,20500607},{3,"pencil",0.9,100,20040607,20060709}};/*定义初始值*/;
/*input(s);【已付初始值暂不运行!!】*/
output(s);
seek(s);
row(s);
change(s);
}

/*void input(struct sale s[7])【注释:已付初始值,暂不运行!!】
{int i;<br>printf("请分别输入产品编号、名称、单价、库存数量、入库时间、有效日期:\n");<br> for(i=0;i<7;i++)<br> scanf("%d%s%f%ld%ld%ld",&s.number,&s.name,&s.price,&s.count,&s.time,&s.date);}*/

void output(struct sale s[7])/*定义输出*/
{int i;<br>printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n");<br> for(i=0;i<7;i++)<br> printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s.number,s.name,s.price,s.count,s.time,s.date);}

void seek(struct sale s[7])/*定义查找*/
{int i;<br> int m;<br> int k;<br> k=1;<br> printf("请输入要查找的编号\n");<br> printf("m== ");<br> scanf("%d",&m);<br> for(i=0;i<7;i++)<br> {<br> if(m==s.number)<br> {printf("你想查找的物品是:\n");<br> printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n");<br> printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s.number,s.name,s.price,s.count,s.time,s.date);<br> k=m;}
}
if(k==1)
printf("没有此类商品!!!\n");
}

void row(struct sale s[7])/*排序*/
{
struct sale t;
int i,j;
int m,a;
printf("\n");
printf("输出已排好序的商品\n");
for(j=0;j<6;j++)
for(i=0;i<6-j;i++)

if(s.number>s.number)
{
t=s;
s=s;
s=t;
}
printf("重新排序后是; \n");
printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n");
for(a=0;a<7;a++)
printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s[a].number,s[a].name,s[a].price,s[a].count,s[a].time,s[a].date);

}

void change(struct sale s[7])/*删除、修改、或插入*/
{
struct sale c;
int i,m,q,n,k;
k=0;
printf("请输入您要删除、修改或要插入的物品编号\n");/*前奏*/
scanf("%d",&m);
for(i=0;i<7;i++)
if(m==s.number)
{{printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n");<br> printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s.number,s.name,s.price,s.count,s.time,s.date);}
printf("你确实要删除它么???还是要修改??\n");
printf("如果想删除请输入1,如果要修改请输入2。\n");
printf("您要输入的是: ");
scanf("%d",&q);
if(q==1)/*执行删除命令*/
{printf("您删除后的结果是:\n");<br> for(i=0;i<7;i++)<br> if(m!=s.number)<br> {printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n");<br> printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s.number,s.name,s.price,s.count,s.time,s.date);}}
if(q==2)/*执行修改命令*/
{printf("输入你想修改的库存数量: ");<br> scanf("%d",&n);<br> s[m].count=n;<br> printf("修改后的商品信息为:\n");<br> printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n");<br> for(i=0;i<7;i++)<br> printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s.number,s.name,s.price,s.count,s.time,s.date);}
k=i;
}

if(k==0)/*执行插入命令*/
{printf("\n\n");<br> printf("由于插入语句没有要求,所以插入语句尚未完成,有些功能尚未完善,所以会有错误,请老师见谅。\n\n\n");<br> printf("此类商品不存在,请插入\n");<br> printf("请分别输入要插入产品的编号、名称、单价、库存数量、入库时间、有效日期:\n");<br> i=m-1; <br> scanf("%d%s%f%ld%ld%ld",&s.number,&s.name,&s.price,&s.count,&s.time,&s.date);<br> printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n");<br> printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s.number,s.name,s.price,s.count,s.time,s.date);<br> for(i=0;i<7;i++)<br> printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s.number,s.name,s.price,s.count,s.time,s.date);<br> <br> <br> row(s);<br> <br> <br> }}
这是我大一时候做的大作业,虽然不是图书管理系统,你只要改改就行了,原理都一样,呵呵

  • 鐢–璇█缂栧啓绠鍗曠殑鍥句功棣嗙郴缁
    绛旓細鍥句功鐨勫熀鏈俊鎭寘鎷功鍚,涔﹀彿,浣滆,鍗曚环,鏁伴噺,绠浠嬨1璁捐绠鍗曠殑鑿滃崟,鑳藉杩涜绯荤粺鐨勫姛鑳介夋嫨2瀹炵幇淇℃伅鐨勫綍鍏ュ姛鑳3鍦ㄥ凡鏈夌殑淇℃伅鐨勫熀纭涓婃坊鍔犳柊鐨勮褰4鍒犻櫎鍜屼慨鏀规寚瀹氫功鍙风殑璁板綍... 鍥句功鐨勫熀鏈俊鎭寘鎷功鍚,涔﹀彿,浣滆,鍗曚环,鏁伴噺,绠浠嬨1璁捐绠鍗曠殑鑿滃崟,鑳藉杩涜绯荤粺鐨勫姛鑳介夋嫨 2瀹炵幇淇℃伅鐨勫綍鍏ュ姛鑳 3鍦ㄥ凡鏈夌殑淇℃伅鐨...
  • C璇█鍥句功淇℃伅绠$悊绯荤粺,鍏蜂綋鎿嶄綔鍖呮嫭鍥句功淇℃伅鐨勫綍鍏ャ佹坊鍔犮佹樉绀恒佹煡鎵...
    绛旓細cout<<"鍥句功棣嗕腑鏌ユ棤姝や功!"<<endl;else result->second=B;} void Library::file_people(vector<string>::iterator ifp){ ofstream file_p;file_p.open("/Users/apple/Documents/Library_p.txt",ios::out);if(!file_p.is_open()){ cerr<<"open file_people fail"<<endl;exit(-1);} ...
  • 缂栫▼,鐢╟璇█缂栬緫
    绛旓細鍥句功绠$悊绯荤粺鍔熻兘瑕佹眰:閫夋嫨1:鍒涘缓鍥句功淇℃伅銆備緥濡傚悜鍥句功妗f涓坊鍔犲浘涔﹀熀鏈俊鎭:ISBN鍙枫佷功鍚嶃佸嚭鐗堢ぞ銆佸嚭鐗堟棩鏈熴佷綔鑰呫佸浘涔︾储寮曞彿(鎸変笓涓氭潵鍒嗙被)銆佸熼槄娆℃暟銆佸熼槄浜哄憳銆佹槸鍚﹀湪搴撱傞夋嫨2:缂栬緫鍥句功淇℃伅銆備緥濡:鍚戞。妗堜腑娣诲姞鏂颁笂鏋跺浘涔﹀熀鏈俊鎭佸垹闄や笅鏋剁殑淇℃伅銆佷慨鏀瑰凡鏈夊浘涔︾殑鍩烘湰淇℃伅銆傞夋嫨3:缁熻鍥句功鍩烘湰鎯呭喌銆傚湪姝ら」涓...
  • C璇█缂栫▼鍥句功绠$悊绯荤粺?
    绛旓細鍥句功绠$悊绯荤粺鍦ㄧ鐩樹笂鍒涘缓3涓猼xt鏂囦欢,鍛藉悕book.txt,borrow.txt鍜宺eader.txt,鍒嗗埆瀛樺偍鍥句功銆佸熼槄鍜岃鑰呯殑淇℃伅,姣忔湰鍥句功鐨勫熀鏈俊鎭湁缂栧彿銆佷功鍚嶃... 鍥句功绠$悊绯荤粺鍦ㄧ鐩樹笂鍒涘缓3涓猼xt鏂囦欢,鍛藉悕book.txt,borrow.txt鍜宺eader.txt,鍒嗗埆瀛樺偍鍥句功銆佸熼槄鍜岃鑰呯殑淇℃伅,姣忔湰鍥句功鐨勫熀鏈俊鎭湁缂栧彿銆佷功鍚嶃佷綔鑰呫佸嚭鐗堟棩鏈熴侀噾棰...
  • 姹傚ぇ绁炲府蹇欏仛涓涓猚璇█,涓涓浘涔︾鐞绯荤粺鐨勭▼搴,鎬!!!
    绛旓細include<stdio.h>#include<ctype.h>#include<string.h>#include<stdlib.h>//defining the properties of the fields used in the program#define IN 1#define OUT 0void Addbook();void Searchbook();void Displaybook();void Author();void Titlelist();void Stock();void Issue();void book...
  • C璇█绋嬪簭璁捐 鍥句功棣嗕俊鎭绠$悊绯荤粺璁捐
    绛旓細2011-01-04 C璇█绋嬪簭璁捐鐨勫浘涔︾鐞绯荤粺 17 2011-12-05 c璇█绋嬪簭璁捐璇剧▼璁捐 鍥句功绠$悊绯荤粺 姹傚師浠g爜 17 2016-06-29 姹傚ぇ绁炴寚瀵!C璇█缂栫▼棰:璇疯璁′竴涓浘涔﹂绠$悊绯荤粺,瑕佹眰:(... 2015-08-27 c璇█缂栫▼闂:鍏充簬鍥句功棣嗕俊鎭鐞嗙殑 2015-09-20 c璇█绋嬪簭璁捐鍥句功棣嗙鐞嗙郴缁 10 2013-05-20 c璇█...
  • 缂栧埗绋嬪簭,瀹炵幇涓涓浘涔淇℃伅绠$悊绯荤粺,鍔熻兘鍖呮嫭褰曞叆銆佹煡璇㈢瓑銆(c璇█)
    绛旓細甯屾湜鑳藉甯姪浣 include "stdio.h"include<graphics.h> include "conio.h"include<stdlib.h> include<string.h> void main(){void adm1(),adm2(),build(),huan(),borrow(),dele();adm1();} void adm1(){ FILE *fp,*p ;char adp[20],password[20];int i,n=0;textbackground(2);...
  • C璇█鍥句功绠$悊绯荤粺绋嬪簭
    绛旓細printf("\t\t\t| * - * - * -鍥句功绠$悊绯荤粺 * - * - * |\n"); printf("\t\t\t* [1] 鏌ヨ鍥句功 *\n"); printf("\t\t\t| [2] 鍊熼槄鍥句功 |\n"); printf("\t\t\t* [3] 鍊熻繕鍥句功 *\n"); printf("\t\t\t* [4] 娴忚鍥句功淇℃伅 *\n"); printf("\t\t\t| [5] 閫鍑哄浘涔...
  • c璇█鍥句功绠$悊绯荤粺
    绛旓細璋佽兘鏁欐垜鍋氫釜C璇█鐨勫浘涔︾鐞绯荤粺?瑕佸浘涔︿俊鎭綍鍏,鍊熼槄浜轰俊鎭,鍥句功妫绱,鍊熼槄鏈熼檺銆傝涓姝ヤ竴姝ユ暀,璇存槑姣忎竴涓鍙ラ兘鏄共浠涔堢敤鐨?銆嬪嚱鏁拌鐢虫槑鏄粈涔堝嚱鏁,鐢ㄩ旀槸浠涔?... 璋佽兘鏁欐垜鍋氫釜C璇█鐨勫浘涔︾鐞嗙郴缁?瑕佸浘涔︿俊鎭綍鍏,鍊熼槄浜轰俊鎭,鍥句功妫绱,鍊熼槄鏈熼檺銆傝涓姝ヤ竴姝ユ暀,璇存槑姣忎竴涓鍙ラ兘鏄共浠涔堢敤鐨?銆嬪嚱鏁...
  • 鍥句功棣鍥句功绠$悊绯荤粺(c璇█)
    绛旓細C璇█绋嬪簭璁捐缁煎悎鎶ュ憡瑕佹眰1.鐢ㄥ伐绋绠$悊涓や釜浠ヤ笂鐨勬簮鏂囦欢,鍑芥暟鐨勫師鍨嬬敤.H鏂囦欢绠$悊;2.瀹屾垚鏂囨湰鏂囦欢鐨勫垱寤恒佽鍐欑瓑鐩稿叧鎿嶄綔;3.瀹屾垚鍥惧舰鎿嶄綔鐨勫熀鏈姛鑳;4.绋嬪簭琛屾暟涓嶅皯浜200琛屻傜储鍙... C璇█绋嬪簭璁捐缁煎悎鎶ュ憡瑕佹眰1. 鐢ㄥ伐绋嬬鐞嗕袱涓互涓婄殑婧愭枃浠,鍑芥暟鐨勫師鍨嬬敤.H鏂囦欢绠$悊;2. 瀹屾垚鏂囨湰鏂囦欢鐨勫垱寤恒佽鍐欑瓑鐩稿叧鎿嶄綔...
  • 扩展阅读:图书管理员必备知识 ... 小学生图书管理守则 ... 图书管理系统c语言版 ... c#简单图书管理系统 ... 图书馆学女生就业前景 ... 图书管理员太累了 ... 女生最好就业5个专业 ... 图书管理员事业编要求 ... 用c语言实现图书管理系统 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网