图书登记管理程序设计.docx
《图书登记管理程序设计.docx》由会员分享,可在线阅读,更多相关《图书登记管理程序设计.docx(36页珍藏版)》请在冰豆网上搜索。
图书登记管理程序设计
人员介绍:
09024114王蕊
09024120李翔宇
09024121宋江雪
一.题目内容的描述
设计一个图书登记管理程序。
该程序具有下列功能:
(1)通过键盘输入某本图书的信息,如书名、编号、作者、出版社、价格等
(2)给定图书编号,删除该本图书的信息;
(3)给定图书编号,显示该本图书的所有信息;
(4)给定书名,显示该本图书的所有信息;
(5)提供两种统计信息的功能,分别是按作者与出版社统计。
二.软件描述
功能介绍:
图书登记管理程序可以通过键盘输入图书的信息来查询相应的图书。
查询方式可分为按作者姓名、图书编号、出版社、类别等几大类。
软件可以按类别和作者统计图书。
可输出所有图书的信息。
可应用于图书馆作为图书管理系统软件。
性能描述:
(1)读者可以通过键盘输入想要查询的图书信息,包括图书的编号、书名、作者姓名、出版社、类别、库存量等。
(2)在提示输入的界面,给出明确提示信息,包括输入项目,输入格式和结束方式。
(3)提供多级多线索交叉查询。
(4)查询失败是返回输入界面,重新输入信息。
(5)在使用统计功能时,可以按类别和作者统计。
(6)可重新输入或修改图书信息。
三.程序模块结构图
1.总体设计:
2.详细设计:
1.输入图书信息:
2.删除图书信息:
3.
图书搜索:
4.图书统计:
此模块中输出统计信息中需要传值调用输出共有多少书籍被搜索到。
5.修改图书信息:
四.源程序
#defineMAX300
#include
intall=0;/*全局变量*/
structbookInfo/*结构体类型定义*/
{intnum;/*图书编号*/
charbookname[10];/*书名*/
charwriter[5];/*作者*/
charfrom[10];/*出版社*/
charprice[5];/*价格*/
chartype[2];/*类别*/
intkunum;/*库存量*/
}init={0,"0","0","0","0","0",0};
structbookType
{structbookInfobook[MAX];
intnum;
}bo;
#include"menu.c"
#include"choice.c"
#include"Init.c"
#include"Input.c"
#include"Print.c"
#include"search.c"
#include"semenu.c"
#include"count.c"
#include"Delete.c"
#include"modify.c"
#include"output.c"
main()/*主函数-朱延巍*/
{
intchoice,index;
textcolor(14);
do{
clrscr();
choice=choiceItem();
switch(choice)
case1:
clrscr();Input();break;
case2:
Delete();break;
case3:
Searchmain();break;
case4:
Countmain();break;
case5:
modify();break;
case6:
output();break;
case0:
printf("\n\n\n\t\t谢谢您的使用!
");
printf("\n\n\t\t朱延巍(05020231)AllRightsReserved.");
printf("\n\n\n\t\t按任意键退出...");
break;
}
}while(choice);getch();
voidInit()/*初始化函数*/
{inti,u;
printf("\n\n\t删除所有图书信息?
(yes-1,no-0)\n");
scanf("%d",&u);
if(u!
=0)
{for(i=0;i{bo.book[i].num=0;strcpy(bo.book[i].bookname,init.bookname);strcpy(bo.book[i].writer,init.writer);strcpy(bo.book[i].from,init.from);strcpy(bo.book[i].price,init.price);strcpy(bo.book[i].type,init.type);bo.book[i].kunum=0;};all=0;}elsemain();}intchoiceItem()/*选择功能函数*/{intchoice;do{DisplayMenu();scanf("%d",&choice);}while(choice<0||choice>6);returnchoice;} DisplayMenu()/*显示主菜单*/{inti;textcolor(14);/*yellow14blue9*/gotoxy(30,3);putch(0xc9);for(i=0;i<=19;i++){putch(0xcd);}putch(0xbb);gotoxy(30,4);putch(0xba);printf("图书登记管理程序");putch(0xba);gotoxy(30,5);putch(0xc8);for(i=0;i<=19;i++){putch(0xcd);}putch(0xbc);gotoxy(12,7);putch(0xc9);for(i=0;i<=53;i++){putch(0xcd);}putch(0xbb);gotoxy(12,8);putch(0xba);gotoxy(67,8);putch(0xba);gotoxy(12,9);putch(0xba);printf("输入图书信息.................................1\n\n");gotoxy(67,9);putch(0xba);gotoxy(12,10);putch(0xba);gotoxy(67,10);putch(0xba);gotoxy(12,11);putch(0xba);printf("依书号删除图书信息...........................2\n\n");gotoxy(67,11);putch(0xba);gotoxy(12,12);putch(0xba);gotoxy(67,12);putch(0xba);gotoxy(12,13);putch(0xba);printf("图书检索.....................................3\n\n");gotoxy(67,13);putch(0xba);gotoxy(12,14);putch(0xba);gotoxy(67,14);putch(0xba);gotoxy(12,15);putch(0xba);printf("图书统计.....................................4\n\n");gotoxy(67,15);putch(0xba);gotoxy(12,16);putch(0xba);gotoxy(67,16);putch(0xba);gotoxy(12,17);putch(0xba);printf("修改或追加图书信息...........................5\n");gotoxy(67,17);putch(0xba);gotoxy(12,18);putch(0xba);gotoxy(67,18);putch(0xba);gotoxy(12,19);putch(0xba);printf("输出所有图书信息.............................6\n");gotoxy(67,19);putch(0xba);gotoxy(12,20);putch(0xba);gotoxy(67,20);putch(0xba);gotoxy(12,21);putch(0xba);printf("退出.........................................0\n");gotoxy(67,21);putch(0xba);gotoxy(12,22);putch(0xba);gotoxy(67,22);putch(0xba);gotoxy(12,23);putch(0xc8);for(i=0;i<=53;i++){putch(0xcd);}putch(0xbc);printf("\n\n\t\t请选择:");}voidInput()/*输入功能函数*/{FILE*fp;inti,u=1,n;printf("\n示例:");gotoxy(3,3);putch(0xc9);for(i=0;i<=8;i++){putch(0xcd);}putch(0xcb);for(i=0;i<=8;i++){putch(0xcd);}putch(0xcb);for(i=0;i<=8;i++){putch(0xcd);}putch(0xcb);for(i=0;i<=8;i++){putch(0xcd);}putch(0xcb);for(i=0;i<=8;i++){putch(0xcd);}putch(0xcb);for(i=0;i<=8;i++){putch(0xcd);}putch(0xcb);for(i=0;i<=8;i++){putch(0xcd);}putch(0xbb);gotoxy(3,4);putch(0xba);printf("书号");putch(0xba);printf("书名");putch(0xba);printf("作者");putch(0xba);printf("出版社");putch(0xba);printf("价格");putch(0xba);printf("类别");putch(0xba);printf("库存量");putch(0xba);gotoxy(3,5);putch(0xc7);for(i=0;i<=8;i++){putch(0xc4);}putch(0xd7);for(i=0;i<=8;i++){putch(0xc4);}putch(0xd7);for(i=0;i<=8;i++){putch(0xc4);}putch(0xd7);for(i=0;i<=8;i++){putch(0xc4);}putch(0xd7);for(i=0;i<=8;i++){putch(0xc4);}putch(0xd7);for(i=0;i<=8;i++){putch(0xc4);}putch(0xd7);for(i=0;i<=8;i++){putch(0xc4);}putch(0xb6);gotoxy(3,6);putch(0xba);printf("001");putch(0xba);printf("USA");putch(0xba);printf("LuXun");putch(0xba);printf("XinHua");putch(0xba);printf("16.5");putch(0xba);printf("t");putch(0xba);printf("5");putch(0xba);gotoxy(3,7);putch(0xc8);for(i=0;i<=8;i++){putch(0xcd);}putch(0xca);for(i=0;i<=8;i++){putch(0xcd);}putch(0xca);for(i=0;i<=8;i++){putch(0xcd);}putch(0xca);for(i=0;i<=8;i++){putch(0xcd);}putch(0xca);for(i=0;i<=8;i++){putch(0xcd);}putch(0xca);for(i=0;i<=8;i++){putch(0xcd);}putch(0xca);for(i=0;i<=8;i++){putch(0xcd);}putch(0xbc);for(i=0;u!=0;i++){if(strcpy(bo.book[i].from,init.from)==0);{printf("\n\n\t第%d本:\n",i+1);printf("\n\t请输入该本图书编号:");scanf("%d",&bo.book[i].num);printf("\n\t请输入该本图书书名:");scanf("%s",&bo.book[i].bookname);printf("\n\t请输入该本图书作者:");scanf("%s",&bo.book[i].writer);printf("\n\t请输入该本图书出版社:");scanf("%s",&bo.book[i].from);printf("\n\t请输入该本图书价格:");scanf("%s",&bo.book[i].price);printf("\n\t请输入该本图书类别(/h/t/b中的一类):");scanf("%s",&bo.book[i].type);printf("\n\t请输入该本图书库存量:");scanf("%d",&bo.book[i].kunum);all=all+1;printf("\n\t要继续输入图书信息么?(是请按1,否请按0)");scanf("%d",&u);clrscr();}}if((fp=fopen("book_list","wb"))==NULL){printf("文件打开错误!\n");return;}for(i=0;bo.book[i].num!=0;i++)if(fwrite(&bo.book[i],sizeof(structbookInfo),1,fp)!=1)printf("文件写入错误!\n");fclose(fp);}voidPrint_aInfo(intindex)/*输出单本图书信息*/{FILE*fp;inttemp,n,i;fp=fopen("book_list","rb");for(temp=0;temp<=MAX;temp++)fread(&bo.book[temp],sizeof(structbookInfo),1,fp);clrscr();printf("\n");printf("当前该本图书信息:");gotoxy(3,4);putch(0xc9);for(i=0;i<=8;i++){putch(0xcd);}putch(0xcb);for(i=0;i<=8;i++){putch(0xcd);}putch(0xcb);for(i=0;i<=8;i++){putch(0xcd);}putch(0xcb);for(i=0;i<=8;i++){putch(0xcd);}putch(0xcb);for(i=0;i<=8;i++){putch(0xcd);}putch(0xcb);for(i=0;i<=8;i++){putch(0xcd);}putch(0xcb);for(i=0;i<=8;i++){putch(0xcd);}putch(0xbb);gotoxy(3,5);putch(0xba);printf("书号");putch(0xba);printf("书名");putch(0xba);printf("作者");putch(0xba);printf("出版社");putch(0xba);printf("价格");putch(0xba);printf("类别");putch(0xba);printf("库存量");putch(0xba);gotoxy(3,6);putch(0xc7);for(i=0;i<=8;i++){putch(0xc4);}putch(0xd7);for(i=0;i<=8;i++){putch(0xc4);}putch(0xd7);for(i=0;i<=8;i++){putch(0xc4);}putch(0xd7);for(i=0;i<=8;i++){putch(0xc4);}putch(0xd7);for(i=0;i<=8;i++){putch(0xc4);}putch(0xd7);for(i=0;i<=8;i++){putch(0xc4);}putch(0xd7);for(i=0;i<=8;i++){putch(0xc4);}putch(0xb6);gotoxy(3,7);putch(0xba);printf("%d",bo.book[index].num);gotoxy(13,7);putch(0xba);printf("%s",bo.book[index].bookname);gotoxy(23,7);putch(0xba);printf("%s",bo.book[index].writer);gotoxy(33,7);putch(0xba);printf("%s",bo.book[index].from);gotoxy(43,7);putch(0xba);printf("%s",bo.book[index].price);gotoxy(53,7);putch(0xba);printf("%s",bo.book[index].type);gotoxy(63,7);putch(0xba);printf("%d",bo.book[index].kunum);gotoxy(73,7);putch(0xba);gotoxy(3,8);putch(0xc8);for(i=0;i<=8;i++){putch(0xcd);}putch(0xca);for(i=0;i<=8;i++){putch(0xcd);}putch(0xca);for(i=0;i<=8;i++){putch(0xcd);}putch(0xca);for(i=0;i<=8;i++){putch(0xcd);}putch(0xca);for(i=0;i<=8;i++){putch(0xcd);}putch(0xca);for(i=0;i<=8;i++){putch(0xcd);}putch(0xca);for(i=0;i<=8;i++){putch(0xcd);}putch(0xbc);fclose(fp);printf("\n");}output()/*输出所有图书信息*/{FILE*fp;inti,n=0,d;clrscr();gotoxy(3,4);putch(0xc9);for(i=0;i<=8;i++){putch(0xcd);}putch(0xcb);for(i=0;i<=8;i++){putch(0xcd);}putch(0xcb);for(i=0;i<=8;i++){putch(0xcd);}putch(0xcb);for(i=0;i<=8;i++){putch(0xcd);}putch(0xcb);for(i=0;i<=8;i++){putch(0xcd);}putch(0xcb);for(i=0;i<=8;i++){putch(0xcd);}putch(0xcb);for(i=0;i<=8;i++){putch(0xcd);}putch(0xbb);gotoxy(3,5);putch(0xba);printf("书号");putch(0xba);printf("书名");putch(0xba);printf("作者");putch(0xba);printf("出版社");putch(0xba);printf("价格");putch(0xba);printf("类别");putch(0xba);printf("库存量");putch(0xba);gotoxy(3,6);putch(0xc7);for(i=0;i<=8;i++){putch(0xc4);}putch(0xd7);for(i=0;i<=8;i++){putch(0xc4);}putch(0xd7);for(i=0;i<=8;i++){putch(0xc4);}putch(0xd7);for(i=0;i<=8;i++){putch(0xc4);}putch(0xd7);for(i=0;i<=8;i++){putch(0xc4);}putch(
bo.book[i].num=0;
strcpy(bo.book[i].bookname,init.bookname);
strcpy(bo.book[i].writer,init.writer);
strcpy(bo.book[i].from,init.from);
strcpy(bo.book[i].price,init.price);
strcpy(bo.book[i].type,init.type);
bo.book[i].kunum=0;
};
all=0;
elsemain();
intchoiceItem()/*选择功能函数*/
intchoice;
DisplayMenu();
scanf("%d",&choice);
while(choice<0||choice>6);
returnchoice;
DisplayMenu()/*显示主菜单*/
inti;
textcolor(14);/*yellow14blue9*/
gotoxy(30,3);putch(0xc9);
for(i=0;i<=19;i++)
{putch(0xcd);}
putch(0xbb);
gotoxy(30,4);putch(0xba);
printf("图书登记管理程序");
putch(0xba);
gotoxy(30,5);putch(0xc8);
putch(0xbc);
gotoxy(12,7);putch(0xc9);
for(i=0;i<=53;i++)
gotoxy(12,8);putch(0xba);
gotoxy(67,8);putch(0xba);
gotoxy(12,9);putch(0xba);
printf("输入图书信息.................................1\n\n");
gotoxy(67,9);putch(0xba);
gotoxy(12,10);putch(0xba);
gotoxy(67,10);putch(0xba);
gotoxy(12,11);putch(0xba);
printf("依书号删除图书信息...........................2\n\n");
gotoxy(67,11);putch(0xba);
gotoxy(12,12);putch(0xba);
gotoxy(67,12);putch(0xba);
gotoxy(12,13);putch(0xba);
printf("图书检索.....................................3\n\n");
gotoxy(67,13);putch(0xba);
gotoxy(12,14);putch(0xba);
gotoxy(67,14);putch(0xba);
gotoxy(12,15);putch(0xba);
printf("图书统计.....................................4\n\n");
gotoxy(67,15);putch(0xba);
gotoxy(12,16);putch(0xba);
gotoxy(67,16);putch(0xba);
gotoxy(12,17);putch(0xba);
printf("修改或追加图书信息...........................5\n");
gotoxy(67,17);putch(0xba);
gotoxy(12,18);putch(0xba);
gotoxy(67,18);putch(0xba);
gotoxy(12,19);putch(0xba);
printf("输出所有图书信息.............................6\n");
gotoxy(67,19);putch(0xba);
gotoxy(12,20);putch(0xba);
gotoxy(67,20);putch(0xba);
gotoxy(12,21);putch(0xba);
printf("退出.........................................0\n");
gotoxy(67,21);putch(0xba);
gotoxy(12,22);putch(0xba);
gotoxy(67,22);putch(0xba);
gotoxy(12,23);putch(0xc8);
printf("\n\n\t\t请选择:
voidInput()/*输入功能函数*/
FILE*fp;
inti,u=1,n;
printf("\n示例:
gotoxy(3,3);putch(0xc9);
for(i=0;i<=8;i++)
putch(0xcb);
gotoxy(3,4);putch(0xba);
printf("书号");
printf("书名");
printf("作者");
printf("出版社");
printf("价格");
printf("类别");
printf("库存量");
gotoxy(3,5);putch(0xc7);
{putch(0xc4);}
putch(0xd7);
putch(0xb6);
gotoxy(3,6);putch(0xba);
printf("001");
printf("USA");
printf("LuXun");
printf("XinHua");
printf("16.5");
printf("t");
printf("5");
gotoxy(3,7);putch(0xc8);
putch(0xca);
for(i=0;u!
=0;i++)
{if(strcpy(bo.book[i].from,init.from)==0);
{printf("\n\n\t第%d本:
\n",i+1);
printf("\n\t请输入该本图书编号:
scanf("%d",&bo.book[i].num);
printf("\n\t请输入该本图书书名:
scanf("%s",&bo.book[i].bookname);
printf("\n\t请输入该本图书作者:
scanf("%s",&bo.book[i].writer);
printf("\n\t请输入该本图书出版社:
scanf("%s",&bo.book[i].from);
printf("\n\t请输入该本图书价格:
scanf("%s",&bo.book[i].price);
printf("\n\t请输入该本图书类别(/h/t/b中的一类):
scanf("%s",&bo.book[i].type);
printf("\n\t请输入该本图书库存量:
scanf("%d",&bo.book[i].kunum);
all=all+1;
printf("\n\t要继续输入图书信息么?
(是请按1,否请按0)");
scanf("%d",&u);clrscr();
if((fp=fopen("book_list","wb"))==NULL)
printf("文件打开错误!
\n");
return;
for(i=0;bo.book[i].num!
if(fwrite(&bo.book[i],sizeof(structbookInfo),1,fp)!
=1)
printf("文件写入错误!
fclose(fp);
voidPrint_aInfo(intindex)/*输出单本图书信息*/
inttemp,n,i;
fp=fopen("book_list","rb");
for(temp=0;temp<=MAX;temp++)
fread(&bo.book[temp],sizeof(structbookInfo),1,fp);
printf("\n");
printf("当前该本图书信息:
gotoxy(3,4);putch(0xc9);
gotoxy(3,5);putch(0xba);
gotoxy(3,6);putch(0xc7);
gotoxy(3,7);putch(0xba);
printf("%d",bo.book[index].num);
gotoxy(13,7);
printf("%s",bo.book[index].bookname);
gotoxy(23,7);
printf("%s",bo.book[index].writer);
gotoxy(33,7);
printf("%s",bo.book[index].from);
gotoxy(43,7);
printf("%s",bo.book[index].price);
gotoxy(53,7);
printf("%s",bo.book[index].type);
gotoxy(63,7);
printf("%d",bo.book[index].kunum);
gotoxy(73,7);
gotoxy(3,8);putch(0xc8);
output()/*输出所有图书信息*/
inti,n=0,d;
putch(
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1