《算法分析与设计综合实验》实验报告图书信息管理系统Word文件下载.docx

上传人:b****5 文档编号:21339249 上传时间:2023-01-29 格式:DOCX 页数:47 大小:835.42KB
下载 相关 举报
《算法分析与设计综合实验》实验报告图书信息管理系统Word文件下载.docx_第1页
第1页 / 共47页
《算法分析与设计综合实验》实验报告图书信息管理系统Word文件下载.docx_第2页
第2页 / 共47页
《算法分析与设计综合实验》实验报告图书信息管理系统Word文件下载.docx_第3页
第3页 / 共47页
《算法分析与设计综合实验》实验报告图书信息管理系统Word文件下载.docx_第4页
第4页 / 共47页
《算法分析与设计综合实验》实验报告图书信息管理系统Word文件下载.docx_第5页
第5页 / 共47页
点击查看更多>>
下载资源
资源描述

《算法分析与设计综合实验》实验报告图书信息管理系统Word文件下载.docx

《《算法分析与设计综合实验》实验报告图书信息管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《《算法分析与设计综合实验》实验报告图书信息管理系统Word文件下载.docx(47页珍藏版)》请在冰豆网上搜索。

《算法分析与设计综合实验》实验报告图书信息管理系统Word文件下载.docx

intz,k=0,a=1;

printf("

输入管理员账户名:

"

);

//登录验证

scanf("

%s"

&

data);

strcat(account,data);

strcat(account,"

.txt"

//提取数据

FILE*fpx=NULL;

if(fpx=fopen(account,"

r"

))

{

fscanf(fpx,"

%s\n"

admin.name);

admin.ID);

admin.password);

fclose(fpx);

}

else{printf("

没有对应资料!

\n"

system("

pause"

return0;

}

if(strcmp(data,admin.name)==-1)//验证密码

{

printf("

账号不存在\n"

return0;

}

else

账号存在(你将有3次输入密码机会)\n"

for(z=2;

z>

=-1;

z--)

{

if(z==-1){return0;

printf("

输入密码:

while

(1)

fflush(stdin);

inputa=getch();

if(inputa!

='

\r'

&

inputa!

\b'

)//密码隐藏

{

printf("

*"

word[k]=inputa;

k++;

}

elseif(inputa=='

)//退格删除

{

printf("

\b"

"

k--;

elsebreak;

//回车结束

}

if(strcmp(word,admin.password)!

=0)

密码错误(%d次机会)\n"

z);

k=0;

}

else{printf("

\n密码正确!

break;

2.printf("

********************************************************************************\n"

printf("

图书数量:

%d读者数量:

%d\n"

bnum,rnum);

图书信息管理系统\n"

请做出您的选择:

(输入对应序号)\n"

1.图书管理2.读者管理——管理员使用\n"

3.图书借还——任何人使用\n"

0.退出\n"

输入:

scanf("

%c"

input);

switch(input)

case'

0'

:

a=0;

1'

BookManage();

2'

ReaderManage();

3'

BookOperate();

system("

cls"

3.

四、实验主要结果(附程序运行界面截图)

实验报告2

显示记录与编辑记录

1.屏幕显示若干记录

列表输出磁盘文件记录,并显示记录序号与记录总数。

2.按字段编辑记录

输入记录序号,显示对应记录;

按字段编辑记录。

intShowRecord(intx)

{

intb=1,c=1;

charaim1[12]={"

图书"

},aim2[12]={"

读者"

},aim[12],buffer[80];

//判断目的

if(x==1)//图书

strcpy(aim,aim1);

strcat(aim,"

\\"

图书记录"

FILE*fp;

if((fp=fopen(aim,"

))==NULL){printf("

打开失败!

return-1;

序号书号书名作者日期出版类别定价是否借出\n"

for(;

b<

=(bnum=getlinenum

(1));

b++)

fgets(buffer,1024,fp);

%d%s"

c,buffer);

c++;

fclose(fp);

system("

elseif(x==2)//读者

strcpy(aim,aim2);

读者记录"

for(;

(rnum=getlinenum

(2));

buffer);

错误\n"

return-1;

}

return0;

intFixRecord(intx)

intb=1,c;

chara,aim1[12]={"

FILE*fp,*ftp;

if((ftp=fopen("

图书\\temp.txt"

"

w"

创建文件失败!

r+"

ShowRecord

(1);

输入要编辑的条目序号:

%d"

c);

b!

=c;

b++)

fscanf(fp,"

%s%s%s%s%s%s%d%d%*[^\n]"

books[0].ID,&

books[0].name,&

books[0].author,&

books[0].date,&

books[0].publish,&

books[0].sort,&

books[0].price,&

books[0].borrowed);

fprintf(ftp,"

%s%s%s%s%s%s%d%d\n"

books[0].ID,books[0].name,books[0].author,books[0].date,books[0].publish,books[0].sort,books[0].price,books[0].borrowed);

开始编辑:

输入书号:

scanf("

%s"

books[0].ID);

书名:

books[0].name);

作者:

books[0].author);

日期:

books[0].date);

出版:

books[0].publish);

类别:

books[0].sort);

定价:

books[0].price);

是否借出:

书号:

%s书名:

%s作者:

%s日期:

%s出版:

%s类别:

%s定价:

%d是否借出:

%d\n确定?

(y/n)\n输入:

fflush(stdin);

a);

if(a=='

y'

fprintf(ftp,"

b++;

fscanf(fp,"

编辑成功!

elseprintf("

已取消创建...\n"

=bnum;

fclose(fp);

fclose(ftp);

remove(aim);

rename("

aim);

实验报告3

增加记录与删除记录

1.屏幕增加记录(添加记录、插入记录)

输入待增加的记录信息,并输入记录序号,将记录插入到指定序号对应记录之后。

2.删除指定的记录

输入待删除的记录序号,并显示对应记录;

显示确认信息,以删除指定记录。

intAddRecord(intx,inth)

intb=1,i;

},aim[12],buffer[80],buffer1[80],buffer2[80];

list*t,*p;

bnum=getlinenum

(1);

输入:

\n书号书名作者日期出版类别定价是否借出\n"

%s%s%s%s%s%s%d%d"

books[1].ID,&

books[1].name,&

books[1].author,&

books[1].date,&

books[1].publish,&

books[1].sort,&

books[1].price,&

books[1].borrowed);

link*m=clist();

p=m->

head;

get_and_add_list(x,m,NULL);

intj=0;

if(h>

bnum+1)h=bnum+1;

if((p=m->

head)==NULL)

t=(list*)malloc(sizeof(list));

if(t==NULL)return-1;

t->

next=p->

next;

data=books[1];

m->

head=t;

length++;

elseif(h==1)

if(t==NULL)return-1;

next=m->

t->

else

while(p!

=NULL&

j<

h-2)

p=p->

j++;

t=(list*)malloc(sizeof(list));

p->

next=t;

fprintf_list(x,m);

buffer);

=h;

fgets(buffer,0,fp);

fgets(buffer1,1024,fp);

fprintf(fp,"

b++;

fgets(buffer2,1024,fp);

fprintf(fp,"

buffer1);

b++;

fgets(buffer1,1024,fp);

buffer2);

ShowRecord(x);

1\n"

intDeleteRecord(intx,chary[])

FILE*fin,*ftp;

charch,aim1[12]={"

if((fin=fopen(aim,"

while(fscanf(fin,"

books[0].borrowed)==8)

if(strcmp(books[0].ID,y)!

}

fclose(fin);

图书\\图书记录.txt"

删除成功!

elseif(x==2)//读者

实验报告4

查询记录

按指定字段查询记录

显示查询子菜单,输入字段序号,按指定字段查询记录,并显示查询结果。

特别地,对“定价”字段,输入区间左右端点值,在指定范围查询记录。

intInquireRecord(intx)

intb=1,c,d;

FILE*fp;

查询的依据是:

\n1.书号\n2.书名\n3.作者\n4.出版日期\n5.类别\n6.定价\n7.是否借出\n0.返回\n输入:

switch(c)

case0:

case1:

scanf("

书号书名作者日期出版类别定价是否借出\n"

while(fscanf(fp,"

books[0].dat

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1