c语言课程设计图书管理系统Word文档格式.docx
- 文档编号:7104718
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:30
- 大小:392.30KB
c语言课程设计图书管理系统Word文档格式.docx
《c语言课程设计图书管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《c语言课程设计图书管理系统Word文档格式.docx(30页珍藏版)》请在冰点文库上搜索。
structtsxt_list
{
charbookname[20];
charchubanshe[20];
charcbtime[15];
charloginnum[10];
floatprice;
charfenleihao[10];
structtsxt_list*next;
};
/*图书信息结构体*/管理员结构体
structusers
{
CharName[20];
charps[8];
}user,up,mg;
{
……
null
四、程序调用图
账户密码不匹配
匹配
选择错误
四、各个函数所实现的功能
cijimian---------------------次界面菜单
creat_Books_doc-------------增加图书节点
DeleteDoc------------------删除图书
Info_changw------------------改变图书信息
insertDoc----------------------录入图书
loginmanager----------------管理员登陆
print_book_Doc-------------打印图书
save-------------------------保存图书
search-------------------------查询界面
search_author_name--------按作者查
search_book_name---------按书名查
4、详细设计:
头函数名:
#include<
stdio.h>
stdlib.h>
string.h>
math.h>
conio.h>
/*********图书信息结构体*********/
/***包括登录号,书名,作者名,分类号,出版单位,出版时间,价格等***/
structusers//管理员结构体
charName[20];
//管理员账户
//用户密码
//user[N]为文件保存的管理员信息,up为键盘输入管理员信息,mg为管理员结构体变量。
一管理员登入:
/********管理员登录函数**********/
voidloginmanager()
FILE*fp=NULL;
//定义文件指针
charDataFile[20]="
manager.txt"
;
//存储管理员信息的文件名
inti=0,j=1;
charrelogin;
//是否重新登录
intsuccess=0;
//登录成功的标志
printf("
\n---管理员登录---\n"
);
fp=fopen(DataFile,"
r"
if(fp==NULL)//如果当前文件不存在,初始化根账户为gary,密码为313
{
printf("
首次使用该系统!
\n"
管理员账户为:
gary密码为:
313\n"
fp=fopen(DataFile,"
a"
//以追加方式打开文件
strcpy(user.Name,"
gary"
strcpy(user.ps,"
313"
fwrite(&
user,sizeof(user),1,fp);
fclose(fp);
}
else
fclose(fp);
again:
请输入管理员账户:
"
scanf("
%s"
up.Name);
//输入用户名
up.Name[19]='
\0'
请输入管理员密码:
fflush(stdin);
for(i=0;
i<
7;
i++)//输入密码,以*在屏幕显示
{
up.ps[i]=getch();
up.ps[i+1]='
//字符要以'
结尾
if(up.ps[i]=='
\b'
)
{
i--;
up.ps[i]='
//清除前一个字符
i--;
//接收前一个字符
\b"
\b"
continue;
}
\r'
break;
}
*"
rt"
if(fp==NULL)//打开文件失败时提示
printf("
\n打开%s失败!
按任意键结束程序\n"
DataFile);
perror("
Openfilefail"
getchar();
return;
if((fp=fopen("
"
))==NULL)//打开文件,并判断是否出错
\n出错,请检查文件是否存在,按任意键返回主菜单\n"
fread(&
mg,sizeof(structusers),1,fp);
//从文件中读取信息
if(strcmp(mg.Name,up.Name)==0&
&
strcmp(mg.ps,up.ps)==0)
success=1;
if(success==1)
\n登录成功,按任意键进入图书管理系统菜单系统!
getchar();
zujiemian();
else
fflush(stdin);
//清除输入缓冲区中的字符
\n用户名或密码错误!
重新输入请按y,退出请按n:
relogin=getchar();
if(relogin=='
y'
||relogin=='
Y'
gotoagain;
{cijiemian();
exit(0);
}
登入流程图
二、来到功能菜单页面
voidsearch_author_name(structtsxt_list*head);
voidsearch_book_name(structtsxt_list*head);
structtsxt_list*Create_Books_Doc()/*新增图书*/
structtsxt_list*head;
head=(structtsxt_list*)malloc(sizeof(structtsxt_list));
head->
next=NULL;
returnhead;
voidsave(structtsxt_list*head)/*保存图书*/
structtsxt_list*p;
FILE*fp;
p=head;
fp=fopen("
data.txt"
w+"
fprintf(fp,"
┏━━━┳━━━┳━━━━┳━━━┳━━━━┳━━━━┳━━━┓\n"
fprintf(fp,"
┃登录号┃书名┃作者┃出版单位┃出版时间┃分类号┃价格┃\n"
┣━━━╋━━━╋━━━╋━━━━╋━━━━╋━━━━╋━━━┫\n"
while(p->
next!
=NULL)
p=p->
next;
┃%-6.6┃%-10.10s┃%-10.10s┃%-10.10s┃%-12.12s┃%-6.6s┃%.2f┃\n"
p->
loginnum,p->
bookname,p->
author,p->
chubanshe,p->
cbtime,p->
fenleihao,p->
price);
┗━━━┻━━━━┻━━━━━┻━━━━━┻━━━━━━┻━━━━━┻━━━━━━┛\n"
已将图书数据保存\n"
voidInsertDoc(structtsxt_list*head)/*添加图书*/
structtsxt_list*s,*p;
charflag='
while(p->
=NULL)
while(flag=='
||flag=='
{system("
cls"
/******************进行清屏*/
s=(structtsxt_list*)malloc(sizeof(structtsxt_list));
--<
-<
------------------图书录入---------------------<
\t\t\t\t\t\t\t\t\t\t"
\n请输入图书登陆号(5位):
s->
loginnum);
\n请输入图书书名(5位):
fflush(stdin);
bookname);
\n请输入图书作者名(4位):
author);
\n请输入图书出版社(4位):
chubanshe);
\n请输入图书出版时间(9位):
cbtime);
\n请输入图书分类号(5位):
fenleihao);
\n请输入图书价格(4位):
%f"
&
s->
p->
next=s;
p=s;
s->
━━━━添加成功!
━━━━"
system("
/*********************进行清屏*/
\n继续添加?
(Y/N):
%c"
flag);
if(flag=='
N'
n'
{break;
elseif(flag=='
{continue;
save(head);
voidsearch(structtsxt_list*head)/*********定义查询函数*/
inta;
/**************进行清屏*/
\t\t******************************\n"
开始查询\n"
\t\t\t1▄︻┳═一按书名查询\n"
\t\t\t2▄︻┳═一按作者查询\n"
\t\t\t0▄︻┻═┳一退出\n"
);
\t\t请选择你想要的枪毙的方式(*^__^*)嘻嘻:
%d"
a);
switch(a)
case1:
search_book_name(head);
case2:
search_author_name(head);
case0:
/******************进行清屏*/
return;
}
voidsearch_book_name(structtsxt_list*head)/*按照书名查询*/
chartemp[20];
if(head==NULL||head->
next==NULL)
━━━━图书库为空!
━━━━\n"
请输入您要查找的书名:
"
temp);
if(strcmp(p->
bookname,temp)==0)
\n图书已找到!
━━━━━━━━━━━登录号:
%s\t\n"
━━━━━━━━━━━书名:
━━━━━━━━━━━作者名:
━━━━━━━━━━━出版单位:
━━━━━━━━━━━出版时间:
━━━━━━━━━━━分类号:
━━━━━━━━━━━价格:
%.2f\t\n"
if(p->
\n查询完毕!
!
voidsearch_author_name(structtsxt_list*head)/*按照作者查询*/
chart[20];
if(head==NULL||head->
━━━━图书库为空!
━━━━\n"
请输入您要查找的作者名:
scanf("
t);
=NULL)
author,t)==0)
\n*******图书已找到!
*************\n"
******************登入号:
%s\t\n"
******************书名:
******************作者名:
******************出版单位:
******************出版时间:
******************分类号:
******************价格:
%.2f\t\n"
查询完毕!
!
voidPrint_Book_Doc(structtsxt_list*head)/*打印图书信息*/
next==NULL)
\n━━━━没有图书记录!
━━━━\n\n"
┏━━━┳━━━━┳━━━┳━━━━┳━━━━┳━━━┳━━┓\n"
┃登录号┃书名┃作者┃出版单位|出版时间┃分类号┃价格┃\n"
┣━━━╋━━━━╋━━━╋━━━━╋━━━━╋━━━╋━━┫\n"
┃%-6.6s┃%-10.10s┃%-8.8s┃%-9.8s┃%-12.12s┃%-6.5s┃%.2f┃\n"
┗━━━┻━━━┻━━┻━━━┻━━━━┻━━━┻━━━━┛\n"
voidinfo_change(structtsxt_list*head)/*修改图书信息*/
structtsxt_list*p;
intpanduan=0;
/*进行清屏*/
请输入要修改的书名:
\n请输入图书登陆卡号:
\n请输入图书书名:
\n请输入图书作者名:
\n请输入图书出版社:
\n请输入图书出版时间:
\n请输入图书分类号:
\n请输入图书价格:
p->
panduan=1;
if(panduan==0)
/*进行清屏*/
voidDeleteDoc(structtsxt_list*head)/*删除图书*/
structtsxt_list*s,*p;
intpanduan;
panduan=0;
p=s=head;
[请输入您要删除的书名]:
while(p!
panduan++;
if(panduan==1)
for(;
s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 图书 管理 系统