分给我,钱就不用了。
#include <string.h>
#define FORMAT "\n%-8d%-8d%-7d%-8d%-7d%-8d%-10s%-9s%-9s\n"
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
#define NULL 0
#define N 100
#define LEN sizeof(struct book)
int M
struct book
{int Enum
int Cnum
char name[10]
char author[10]
char publishor[30]
struct date
{int year
int month
int day}time
int price
struct book*next
}go[N]
void print()
{printf("---------------------------------------------------------------------------\n")
printf("EnumCnumyear month daypricename authorpublishor\n")
printf("---------------------------------------------------------------------------\n")
}
void load()
{FILE *fp
int i
if((fp=fopen("book_list","rb"))==NULL)
{printf("cannot open file\n")
return
}
i=0
while((fread(&go[i],sizeof(struct book),1,fp))!=NULL)
{i++}
M=i
fclose(fp)
}
void save(int h)
{FILE *fp
int i
if ((fp=fopen("BOOK_LIS","wb"))==NULL)
{printf("cannot open file\n")
return
}
for (i=0i<hi++)
if(fwrite(&go[i],sizeof(struct book),1,fp)!=1)
printf("file write error\n")
fclose(fp)
}
void f1()
{FILE *fp
int i=0
fp=fopen("book_list","rb")
print()
while((fread(&go[i],sizeof(struct book),1,fp))!=NULL)
{printf(FORMAT,go[i].Enum,go[i].Cnum,go[i].time.year,go[i].time.month,go[i].time.day,go[i].price,go[i].name,go[i].author,go[i].publishor)
i++
}
fclose(fp)
getch()
}
void f2(int h)
{int i
printf("please input %d book's information\n",h)
printf("Enum Cnum yearmonth dayprice nameauthor publishor\n")
for(i=0i<hi++)
{printf("Enum:\n")
scanf("%d",&go[i].Enum)
printf("Cnum:\n")
scanf("%d",&go[i].Cnum)
printf("please input year month day\n")
scanf("%d%d%d",&go[i].time.year,&go[i].time.month,&go[i].time.day)
printf("price:\n")
scanf("%d",&go[i].price)
printf("name:\n")
scanf("%s",go[i].name)
printf("author:\n")
scanf("%s",go[i].author)
printf("publishor:\n")
scanf("%s",go[i].publishor)
}
save(h)
return
}
void f3()
{int i
struct book
char a[20],b[20],c[20]
load()
printf("please input 'name' or 'author':\n")
scanf("%s",a)
if(strcmp(a,"name")==0)
{printf("please input the book's name:\n")
scanf("%s",b)
for(i=0i<Mi++)
if(strcmp(b,go[i].name)==0)
{print()
printf(FORMAT,go[i].Enum,go[i].Cnum,go[i].time.year,go[i].time.month,go[i].time.day,go[i].price,go[i].name,go[i].author,go[i].publishor)
}
}
else
{printf("please input the book's author:\n")
scanf("%s",c)
for(i=0i<Mi++)
if(strcmp(c,go[i].author)==0)
{print()
printf(FORMAT,go[i].Enum,go[i].Cnum,go[i].time.year,go[i].time.month,go[i].time.day,go[i].price,go[i].name,go[i].author,go[i].publishor)
}
}
return
}
void f4()
{int i,j,k
struct book t
load()
for(i=0i<Mi++)
{k=i
for(j=i+1j<Mj++)
if(go[k].price>go[j].price)k=j
t=go[i]go[i]=go[k]go[k]=t
}
print()
for(i=0i<Mi++)
printf(FORMAT,go[i].Enum,go[i].Cnum,go[i].time.year,go[i].time.month,go[i].time.day,go[i].price,go[i].name,go[i].author,go[i].publishor)
}
void f5()
{FILE *fp
int i,j,M,flag
char name[10]
if((fp=fopen("book_list","rb"))==NULL)
{printf("cannot open file\n")
return
}
printf("\norriginal data:\n")
print()
for(i=0fread(&go[i],sizeof(struct book),1,fp)!=0i++)
printf(FORMAT,go[i].Enum,go[i].Cnum,go[i].time.year,go[i].time.month,go[i].time.day,go[i].price,go[i].name,go[i].author,go[i].publishor)
M=i
printf("\n input the deleted name:\n")
scanf("%s",name)
for(flag=1,i=0flag&&i<Mi++)
{if(strcmp(name,go[i].name)==0)
{for(j=ij<M-1j++)
{go[j].Enum=go[j+1].Enum
go[j].Enum=go[j+1].Enum
strcpy(go[j].name,go[j+1].name)
strcpy(go[j].author,go[j+1].author)
strcpy(go[j].publishor,go[j+1].publishor)
go[j].time.year=go[j+1].time.year
go[j].time.month=go[j+1].time.month
go[j].time.day=go[j+1].time.day
go[j].price=go[j+1].price
}
flag=0
}
}
if(!flag)
M=M-1
else
printf("not found!\n")
printf("\nNow,the content of file:\n")
fp=fopen("book_list","wb")
for(i=0i<Mi++)
fwrite(&go[i],sizeof(struct book),1,fp)
fclose(fp)
fp=fopen("book_list","wb")
for(i=0fread(&go[i],sizeof(struct book),1,fp)!=0i++)
printf(FORMAT,go[i].Enum,go[i].Cnum,go[i].time.year,go[i].time.month,go[i].time.day,go[i].price,go[i].name,go[i].author,go[i].publishor)
fclose(fp)
}
main()
{int i,h
clrscr()
while(1)
{printf ("\n 1 is a project that can output all information.\n")
printf ("\n 2 is a project that can add any book's information.\n")
printf ("\n 3 is a project that can search information.\n")
printf ("\n 4 is a project that can sort.\n")
printf ("\n 5 is a project that can del.\n")
printf ("\n 6 is a project that can leave.\n")
printf("please input number:1 or 2 or 3 or 4 or 5 or 6\n")
scanf("%d",&i)
switch (i)
{case 1:f1()break
case 2:
{printf ("if you want to add book's information,please input a data:h=")
scanf("%d",&h)
f2(h)}break
case 3:
{f3()getch()}break
case 4:{f4()getch()}break
case 5:{f5()getch()}break
case 6:exit (1)
}
clrscr()}
}
技术可行性:前面我们已经学习过java的编程知识,会用java进行小的程序项目的编写,开发。并且图书信息管理系统通过java的界面编程来实现还是比价简单。通过java可以很容易的编写出来,所以,技术上是可行的。经济可行性:现在计算机各种软件已经充斥了我们的工作生活学习,我们的衣食住行都需要软件来给我们提供方便的管理,减轻人们的负担。因此对于图书馆的信息管理,为了减轻图书管理员的负担,开发图书信息管理系统是有必要的。图书馆对图书信息管理