C语言大作业 图书管理Word格式文档下载.docx
- 文档编号:17449355
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:15
- 大小:17.01KB
C语言大作业 图书管理Word格式文档下载.docx
《C语言大作业 图书管理Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言大作业 图书管理Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
/*单价*/
charauther[20];
/*作者*/
BOOLisExit;
/*存在状态*/
charlendername[20];
/*借书人姓名*/
charlendersex[2];
/*借书人性别*/
charlendernum[15];
/*借书人学号*/
}BOOKINFO;
voidmenu()
printf("
\n\n\n\n\n\n\n"
);
\t\t\t图书管理系统\n"
\t\t\t1:
新进图书基本信息的输入\n"
\t\t\t2:
显示全部记录\n"
\t\t\t3:
根据图书名称查询图书基本信息\n"
\t\t\t4:
根据图书名称对撤销的图书信息进行删除\n"
\t\t\t5:
按照图书名称从小大到排序\n"
\t\t\t6:
统计某价格以上的图书数量\n"
\t\t\t7:
列出所有未借出去的图书信息\n"
\t\t\t8:
退出\n"
}
voidchoice_1_input_new()/*输入新进的图书信息*/
charchoice;
FILE*p;
BOOKINFOnewbook;
system("
cls"
while
(1)
输入图书编号:
"
gets(newbook.number);
输入图书名称:
gets(newbook.name);
输入图书单价:
scanf("
%f"
&
newbook.price);
while(getchar()!
='
\n'
输入图书的作者:
gets(newbook.auther);
输入借书人姓名:
gets(newbook.lendername);
输入借书人性别:
gets(newbook.lendersex);
输入借书人学号:
gets(newbook.lendernum);
是否保存该条书目?
(Y/N)\n"
choice=getch();
while(choice!
Y'
&
choice!
y'
N'
n'
)
if(choice=='
||choice=='
newbook.isExit=1;
/*将图书状态设置成1,表示没有借出*/
p=fopen("
c:
\\bookinfo.data"
"
ab"
fwrite(&
newbook,sizeof(BOOKINFO),1,p);
fclose(p);
\n该条书目已添加到c:
\\bookinfo.data文件中!
\n"
else
\n本条书目未保存!
\n是否继续添加书目?
continue;
break;
voidchoice_2_display_all()/*显示全部图书信息*/
intn;
BOOKINFObookinfo[100];
intbooknumber=0;
rb"
while(!
feof(p))
fread(&
bookinfo[booknumber],sizeof(BOOKINFO),1,p);
booknumber++;
/*booknumber--;
使用feof()函数会多读一行,因此需要booknumber自减一次,使书目的数量正确*/
booknumber--;
if(booknumber==0)
没有任何图书信息!
\n\n"
n=0;
图书信息如下\n"
图书信息|借书人信息\n"
编号名称单价作者图书状态|姓名
性别学号\n"
while(n<
booknumber)
%-6s%-12s%-8.1f%-8s%-9d|%-12s%-8s%-8s\n"
bookinfo[n].number,bookinfo[n].name,bookinfo[n].price,
bookinfo[n].auther,bookinfo[n].isExit,bookinfo[n].lendername,
bookinfo[n].lendersex,bookinfo[n].lendernum);
n++;
\n\n按任意键回到主菜单!
getch();
voidchoice_3_search_according_name()/*根据图书名称显示图书的信息*/{
charsearch[20]="
;
/*search用来存放要查询的书名*/
/*使用feof()函数会多读一行,因此需要booknumber自减一次,使书目的数量正确*/
输入要查询的书本名称:
gets(search);
书库中没有任何信息!
按任意键回到主菜单!
}/*if结束*/
for(n=0;
n<
booknumber;
n++)
if(strcmp(bookinfo[n].name,search)==0)
该书的详细信息如下:
图书信息|
借书人信息\n"
bookinfo[n].number,bookinfo[n].name,bookinfo[n].price,
if(n>
=booknumber)
没有查找该书的任何信息!
\n\n是否继续查询?
}/*else结束*/
}/*while
(1)结束*/
voidchoice_4_delete_according_name()/*根据图书名称对图书信息进行删除*/{
/*search用来存放要删除的书名*/
intn,i;
intbooknumber;
输入要删除的书本名称:
booknumber=0;
是否确认需要删除该条书目?
(Y/N)"
for(i=n;
i<
booknumber-1;
i++)
bookinfo[i]=bookinfo[i+1];
wb"
bookinfo[n],sizeof(BOOKINFO),1,p);
删除成功!
\n\n该条书目没有被删除!
\n\n是否继续进行删除操作?
voidchoice_5_sort_according_name()/*根据图书名称排序*/
intm,n;
BOOKINFOtemp;
for(m=0;
m<
m++)
for(n=m+1;
if(strcmp(bookinfo[m].name,bookinfo[n].name)>
0)
temp=bookinfo[m];
bookinfo[m]=bookinfo[n];
bookinfo[n]=temp;
bookinfo[m],sizeof(BOOKINFO),1,p);
\n\n完成排序!
voidchoice_6_display_high_price()/*根据价格列出图书信息*/{
intcount=0;
请输入价格:
price);
if(bookinfo[n].price>
=price)
count++;
if(count==0)
书库中没有比%.1f$价格高的图书!
price);
价格高于%.1f$的图书信息如下\n"
voidchoice_7_display_according_exitflag()/*根据存在状态列出图书信息*/{
书库中没有任何书目存在!
if(bookinfo[n].isExit==1)
书库中的书籍全部借出!
书库中未被借出的图书信息如下:
\n按任意键返回主菜单!
voidmain()
clock_ttm;
if((p=fopen("
))==NULL)
menu();
switch(choice)
case'
1'
:
choice_1_input_new();
/*输入新进的图书信息*/
2'
choice_2_display_all();
/*显示全部图书信息*/
3'
choice_3_search_according_name();
/*根据图书名称显示图书的信息*/
4'
choice_4_delete_according_name();
/*根据图书名称对图书信息进行删除*/
5'
choice_5_sort_according_name();
/*根据图书名称排序*/
6'
choice_6_display_high_price();
/*根据价格列出图书信息*/
7'
choice_7_display_according_exitflag();
/*根据存在状态列出图书信息*/
8'
\n\n\t\t\t谢谢使用,再见!
\n\t\t\t按任意键退
出!
return;
default:
\n\n\t\t\t请输入菜单中的数字!
(1~8)"
tm=clock();
while(clock()<
tm+1800);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言大作业 图书管理 语言 作业 图书 管理