c语言图书管理系统上机实验Word文档格式.docx
- 文档编号:18167219
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:47
- 大小:61.40KB
c语言图书管理系统上机实验Word文档格式.docx
《c语言图书管理系统上机实验Word文档格式.docx》由会员分享,可在线阅读,更多相关《c语言图书管理系统上机实验Word文档格式.docx(47页珍藏版)》请在冰豆网上搜索。
(1)
各种基本数据的录入。
如:
图书资料基本信息录入等。
(2)
各种基本数据的修改。
即:
允许对以及录入的数据重新进行编辑、修改。
(3)
各种基本数据的插入。
在图书采购信息中插入一条新信息等。
(4)
各种基本数据的删除。
假设某本书遗失且馆藏数为0,删除该书的相关信息等。
(5)
基于各种数据的查询。
书名中含有“计算机”的所有书籍、全部借出的所有图书等。
(6)
基于各种基本数据的统计计算。
四【上机调试程序流程图】
(注:
可打印)
五【上机调试中出现的错误信息、错误原因及解决办法】
读写错误:
fopen的时候改成用二进制读写.目前不知道为什么不用二进制不能读写.
六【上机调试后的源程序及还存在的问题】
#include<
stido.h>
dos.h>
conio.h>
stdlib.h>
stdio.h>
string.h>
#defineKey_UP72
#defineKey_DOWN80
#defineKey_ENTER28
#defineKey_N49
#defineKey_Y21
#defineLENsizeof(structlinklist)
typedefstructbook1/*图书基本信息结构体*/
{
charname[20]。
charwriter[30]。
chartype[20]。
charnum[20]。
chartime[20]。
charpress[20]。
charedition[20]。
charISBN[40]。
floatprice。
intcount。
intlendnum。
}bbasic。
/*
图书资料基本信息:
中图法分类号、图书编号、书名、作者(要考虑多个作者情况)、出版社、出版日期、ISBN、版次、定价、馆藏数、借阅数等。
*/
typedefstructbook2/*图书采购信息结构体*/
charwriter[20]。
chartime[15]。
intnum。
floatmoney。
charbill[30]。
}bpurchase。
图书采购信息:
书名、作者、采购日期、采购数量、采购单价、采购金额、发票号码、图书编号等。
typedefstructbook3/*图书借阅信息结构体*/
/***************需要输入的信息*********/
charperson[20]。
charcompany[20]。
/*借书证号*/
charbtime[15]。
/**************运算可得信息************/
charrtime[15]。
charfine[20]。
}blend。
图书借阅信息:
借阅人、借阅人所在单位、借书证号、所借书名、借阅日期、归还日期、逾期罚款等。
借阅期限为一个月,逾期1天,罚款1角。
structlinklist
bbasicbinfo。
structlinklist*next。
}。
intkey()。
voidmenu()。
void_window()。
voidwords()。
voidbox(int,int,int,int)。
int_choose(intbot,inttop)。
voidplay(int)。
intreadsum()。
voidadd()。
voidaddbook()。
voidaddbuy()。
voidaddborrow()。
voidmanage()。
structlinklist*create()。
voidmodify()。
voiddelete()。
voidinsert()。
voidsearch()。
voidsearchname()。
voidsearchwriter()。
voidorderw(bbasicbinfo[100])。
inthalfn(intsum,bbasicbinfo[100],char*find)。
inthalfw(intsum,bbasicbinfo[100],char*find)。
voidsta()。
voidblist()。
voidbmoney()。
intmain(void)
menu()。
}
voidmenu()
inty。
_window()。
/*显示窗口*/
words()。
/*显示菜单文字*/
y=choose(7,19)。
/*光标*/
play(y)。
/*根据键盘值操作*/
void_window()/*窗口初始化*/
textbackground(BLUE)。
textcolor(WHITE)。
clrscr()。
box(1,1,24,80)。
voidwords()/*显示菜单文字*/
gotoxy(30,7)。
textbackground(RED)。
cprintf("
AddBookinfo"
)。
gotoxy(30,10)。
ManageBook"
gotoxy(30,13)。
SearchBook"
gotoxy(30,16)。
BookStatistic"
gotoxy(30,19)。
Exit"
gotoxy(35,22)。
textcolor(LIGHTGRAY)。
MainMenu"
gotoxy(25,2)。
textcolor(RED)。
highvideo()。
TheLibraryManagemntProgram"
normvideo()。
voidbox(intx,inty,inthigh,intwidth)/*画方框*/
inti。
gotoxy(x,y)。
putchar(0xda)。
for(i=1。
i<
width-1。
i++)
{
putchar(0xc4)。
}
putchar(0xbf)。
gotoxy(x,y+high-3)。
putchar(0xc0)。
gotoxy(width,y+high-3)。
putchar(0xd9)。
for(i=1。
high-1。
gotoxy(x,y+i)。
putchar(0xb3)。
gotoxy(x+width-1,y+i)。
gotoxy(x,y+high-1)。
gotoxy(x+1,y+high-3)。
gotoxy(x+width-1,y+high-1)。
intkey()/*读键盘*/
unionREGSrg。
rg.h.ah=0。
int86(0x16,&
rg,&
rg)。
returnrg.h.ah。
intchoose(intbot,inttop)/*根据Y的值选择操作*/
intky,y=7。
gotoxy(30,bot)。
do
ky=key()。
switch(ky)
{
caseKey_UP:
{
if(y>
bot)
{
upbar(y)。
y=y-3。
}
}。
break。
caseKey_DOWN:
if(y<
top)
downbar(y)。
y=y+3。
}
while(ky!
=Key_ENTER)。
returny。
upbar(inty)/*光标上移*/
typedefstructtexel_struct
unsignedcharch。
unsignedcharattr。
}texel。
texelt。
for(i=30。
i<
=48。
i++)
gettext(i,y,i,y,&
t)。
t.attr=0x1f。
puttext(i,y,i,y,&
gettext(i,y-3,i,y-3,&
t.attr=0x4f。
puttext(i,y-3,i,y-3,&
}。
gotoxy(30,y-3)。
return。
downbar(inty)/*光标下移*/
gettext(i,y+3,i,y+3,&
puttext(i,y+3,i,y+3,&
gotoxy(30,y+3)。
voidplay(inty)/*根据y的值选择操作*/
switch(y)
case7:
add()。
break。
case10:
manage()。
case13:
search()。
case16:
sta()。
case19:
exit
(1)。
default:
printf("
Error"
exit(0)。
voidadd()/*显示"
选择增加那种类型的信息"
的窗口*/
AddBasicinfo"
AddPurchaseinfo"
AddBorrowinfo"
Back"
AddBook"
y=choose(7,16)。
switch(y)/*选择增加信息类型的函数*/
case7:
addbook()。
/*增加图书基本信息*/
addbuy()。
/*增加图书购买信息*/
addborrow()。
/*增加图书借阅信息*/
menu()。
voidaddbook()/*增加图书基本信息*/
intky,sum=0。
FILE*fp。
if((fp=fopen("
e:
\\sum.dat"
"
rb"
))!
=NULL)/*读取图书基本信息数量sum*/
fread(&
sum,2,1,fp)。
fclose(fp)。
if((fp=fopen("
\\addbook.dat"
ab"
))==NULL)
printf("
cannotwritetheaddbook.dat"
clrscr()。
gotoxy(2,2)。
cprintf("
Pleaseinputtheclassficationofchineselibraryclassification:
"
scanf("
%s"
&
binfo.type)。
getchar()。
gotoxy(2,4)。
Pleaseinputthebook'
snumber:
binfo.num)。
gotoxy(2,6)。
sname:
binfo.name)。
gotoxy(2,8)。
swriter:
binfo.writer)。
gotoxy(2,10)。
Pleaseinputthethebook'
spress:
binfo.press)。
gotoxy(2,12)。
sedition:
binfo.edition)。
gotoxy(2,14)。
spublishtime:
binfo.time)。
gotoxy(2,16)。
Pleaseinputtheprice:
%f"
binfo.price)。
gotoxy(2,18)。
PleaseinputtheISBNofthebook:
binfo.ISBN)。
gotoxy(2,20)。
Pleaseinputthecountofbooks:
%d"
binfo.count)。
gotoxy(2,22)。
Pleaseinputthelendnumberofthebook:
binfo.lendnum)。
gotoxy(10,25)。
PressN(n)tofinishaddbookorPressanykeytoaddmorebook."
sum++。
if(fwrite(&
binfo,sizeof(bbasic),1,fp)!
=1)
clrscr()。
printf("
cannotsavethedata."
}while(ky!
=Key_N)。
wb"
cannotsavethesumofthebook."
getch()。
exit(0)。
if(fwrite(&
sum,2,1,fp)!
failtowritethesum.dat."
/*中图法分类号、(要考虑多个作者情况)、出版社、出版日期、ISBN、版次、定价、馆藏数、借阅数等。
*/
voidaddbuy()/*增加图书购买信息*/
intky。
bpurchasepinfo。
\\addbuy.dat"
cannotopentheaddbuydata."
pinfo.name)。
pinfo.writer)。
sbuytime:
Pleaseinputthenumberofthebookbuy:
pinfo.num)。
pinfo.price)。
Pleaseinputtherealmoneyofbuythebook:
&
pinfo.money)。
Pleaseinputthebillnumber:
pinfo.bill)。
gotoxy(10,20)。
pinfo,sizeof(pinfo),1,fp)!
voidaddborrow()/*增加图书借阅信息*/
blendlinfo。
\\addborrow.dat"
cannotopentheaddborrowdata."
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 图书 管理 系统 上机 实验
![提示](https://static.bdocx.com/images/bang_tan.gif)