图书管理系统c语言1Word文档下载推荐.docx
- 文档编号:3647287
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:24
- 大小:18.56KB
图书管理系统c语言1Word文档下载推荐.docx
《图书管理系统c语言1Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《图书管理系统c语言1Word文档下载推荐.docx(24页珍藏版)》请在冰点文库上搜索。
}book[1000];
structcar/*借书卡的数据类型*/
charstudentname[10];
intstudentclass;
}car[100];
huanbook()/*还书函数*/
FILE*fp,*fp2;
/*定义两个文件指针,fp2用于修改数据时设立临时文件用,防止数据遭破坏*/
inti,n;
printf("
请你输入你的卡号\n"
);
scanf("
%d"
&
carnum);
fp=fopen("
car.txt"
"
r"
/*读取卡号记录*/
for(i=0;
fread(&
car[i],sizeof(structcar),1,fp)!
=0;
i++)/*for循环判断卡号是否存在*/
if(car[i].carnum==carnum)/*卡号存在,进入下一循环*/
{
n=i;
fclose(fp);
printf("
请输入你要还的书的名字\n"
scanf("
%s"
lendbook);
fp=fopen("
record.txt"
for(i=0;
student[i],sizeof(structstudent),1,fp)!
i++)/*判断是否借阅了输入的书*/
if(strcmp(student[i].lendbook,lendbook)==0)/*借阅了该书,进入下一循环,否则出错显示*/
fp2=fopen("
bookl.txt"
w"
i++)
if(strcmp(student[i].lendbook,lendbook)==0)
continue;
/*删除还掉的书的借书记录*/
}
fwrite(&
student[i],sizeof(structstudent),1,fp2);
/*写入原来没还的书的记录*/
fclose(fp2);
student[i],sizeof(structstudent),1,fp2)!
student[i],sizeof(structstudent),1,fp);
/*将借书记录信息写回*/
fopen("
/*清临时文件的记录*/
book.txt"
book[i],sizeof(structbook),1,fp)!
i++)/*将书的记录写入临时文件,防止因为修改信息破坏以前的记录*/
if(i==n)
book[i].turefalse=1;
book[i],sizeof(structbook),1,fp2);
/*将还的书的原来状态设为无人借阅的*/
book[i],sizeof(structbook),1,fp2)!
book[i],sizeof(structbook),1,fp);
/*将临时文件写回*/
/*清临时文件*/
还书完毕,按任意键返回\n"
getch();
return1;
你没有借这样的书,任意键返回\n"
/*出错提示*/
return0;
}
系统没这样的卡,和管理员联系,按任意键返回\n"
fclose(fp);
getch();
}
findbook()
FILE*fp;
intture,i;
请输入你要查找的书名\n"
bookname);
if(strcmp(bookname,book[i].bookname)==0)
if(book[i].turefalse==1)
这本书的详细资料是:
%d%s%s此书现在无人借阅\n按任意键返回\n"
book[i].booknum,book[i].bookname,book[i].bookcreat);
else
returnFALSE;
没有你要查询的书籍\n"
returnFALSE;
findbook1()
请输入你要查找的作者名\n"
bookcreat);
if(strcmp(bookcreat,book[i].bookcreat)==0)
lendcount()
inti,n=0;
卡号:
%d借出的书籍:
%s\n"
student[i].carnum,student[i].lendbook);
n=n+1;
目前共有%d本书借出\n"
n);
按任意键\n"
returnn;
chabook()
charch5;
do
---------------欢迎进入图书查询系统!
--------------\n"
1:
<
按书名查找>
\n"
2:
按作者查找>
0:
返回>
请输入0--2,其他输入非法!
ch5);
switch(ch5)
case'
1'
:
findbook();
break;
2'
findbook1();
0'
default:
无此操作\n"
}while(ch5!
='
lendbook()
if(car[i].carnum==carnum)
请输入你要借阅的书的名字\n"
student[n].lendbook);
if(strcmp(book[i].bookname,student[n].lendbook)==0)
if(book[i].turefalse==0)
a+"
student[n].carnum=carnum;
student[n],sizeof(structstudent),1,fp);
book[i].turefalse=0;
借书完毕,按任意键返回\n"
return;
不存在这样的书,任意键返回\n"
你的卡号不存在,请申请新卡,按任意键返回\n"
carcount()
第%d张卡<
%d姓名:
%s班级:
%d>
i+1,car[i].carnum,car[i].studentname,car[i].studentclass);
目前共有%d本书\n"
delcar()
inti;
charchoice;
fp2=fopen("
请输入你要删除的卡号\n"
如果你输入的卡号存在,系统自动删除该信息!
如果不存在,系统不做任何改动\n"
if(car[i].carnum!
=carnum)
car[i],sizeof(structcar),1,fp2);
fclose(fp2);
是否真的要删除该卡?
删除后该书籍的所有信息将无法恢复《Y/N》\n"
choice);
if(choice=='
y'
||choice=='
Y'
)
car[i],sizeof(structcar),1,fp2)!
car[i],sizeof(structcar),1,fp);
按任意键返回\n"
else
addcar()
inti=0;
请你输入卡号\n"
car[i].carnum);
请你输入学生姓名\n"
car[i].studentname);
请你输入班级\n"
car[i].studentclass);
fwrite(&
输入完毕,任意键返回\n"
///我的程序
/*密码
intmain(intargc,char*argv[])
charpass[100];
inti=0;
charch;
memset(pass,0,sizeof(pass));
while
(1)
ch=getch();
if(ch=='
\r'
break;
pass[i++]=ch;
putchar('
*'
pass);
*/
structbookinfo
{
intbooknumber;
charbookname[booknamesize];
charbookauthor[bookauthorsize];
charbookconcern[bookconcernsize];
};
/*保存图书信息的记录*/
voidSaveBookRecord(structbookinfobookinfomation[]){
FILE*fp;
inti;
if((fp=fopen("
BOKREC.txt"
ab+"
))==NULL)
{
Cannotopenthefile\n"
}
i<
bookrecord;
i++)
if(fwrite(&
bookinfomation[i],sizeof(structbookinfo),1,fp)!
=1)
filewriteerror\n"
voidmain()
structbookinfobookinfomation[bookrecord];
请输入书序号、书名、书作者、出版社,以空格分开!
%d%s%s%s"
bookinfomation[i].booknumber,&
bookinfomation[i].bookname,&
bookinfomation[i].bookauthor,&
bookinfomation[i].bookconcern);
SaveBookRecord(bookinfomation);
登录功能:
case'
/*进入登录系统*/
\t\t您选择的事件是:
用户登录\n"
\t\t用户名:
"
name);
\t\t密码:
/*密码隐藏*/
memset(UserPassword,0,sizeof(UserPassword));
UserPassword[i++]=ch;
/*puts(UserPassword);
输出密码*/
\t\t"
enterfuction:
voidEnterFunctions()
charDeleBoNum[20];
intAddBookReNum;
intj;
structUserInfoStudentRegister[RegisterNumber];
structbookinfobookinfomation[bookrecord];
charname[20];
charUserPassword[20];
charSuperUsername[20]="
Administrator"
;
charSuperUserPassword[20]="
1234"
inti=0;
charch;
charAdministratorhalder;
charUserhalder;
charUserenterEvent;
/*用户进入系统的事件*/
charUserRegEvent;
/*用户注册成功后的事件*/
charAdministratorEvent;
/*图书管理员进入后处理的事件*/
charEnterErroEvent;
/*登录失败后的事件*/
\t\t---------------欢迎进入图书查询系统!
\t\t请选择相应的事件!
\t\t<
'
>
代表用户登录\n"
代表注册\n"
3'
代表退出系统\n"
UserenterEvent);
switch(UserenterEvent)
memset(UserPassword,0,sizeof(UserPas
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 语言