源代码Word文件下载.docx
- 文档编号:22295485
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:34
- 大小:19.90KB
源代码Word文件下载.docx
《源代码Word文件下载.docx》由会员分享,可在线阅读,更多相关《源代码Word文件下载.docx(34页珍藏版)》请在冰豆网上搜索。
voidnum_paixu(structbook*head);
//按登陆号排序
voidtime_paixu(structbook*head);
//按图书出版时间排序
voidprice_paixu(structbook*head);
//按图书价格排序
voidbname_paixu(structbook*head);
//按图书名排序
voidwname_paixu(structbook*head);
//按作者名排序
intmain()
{
intchoice,n,x,y=1,c,c1=1234;
chara,d,b[10],b1[10]="
czt"
;
structbook*head=NULL;
while(y){
system("
cls"
);
printf("
\n\n\n\n\n\n\n"
**********欢迎光临**********\n\n"
**********************图书信息管理系统************************\n\n\n"
printf("
\n\n"
============1-用户登录===========\n"
============0-退出系统===========\n"
请输入您的选择:
"
scanf("
%d"
&
n);
\n"
getchar();
switch(n){
case0:
y=0;
break;
case1:
请输入您的用户名:
gets(b);
请输入您的密码:
scanf("
c);
if(strcmp(b,b1)!
=0||c!
=c1){
验证失败,请重新输入!
%c"
d);
getchar();
system("
}
else{
验证通过!
请按Enter键进入!
x=1;
while(x){
------------------\n"
*图书信息管理系统*\n"
------------------\n\n"
**********************************************\n\n"
||1-添加图书2-删除图书||\n\n"
||3-图书列表4-图书排序||\n\n"
||5-查询图书6-修改图书||\n\n"
||7-录入数据0-退出系统||\n\n"
请输入所选择的序号:
choice);
switch(choice)
{
case0:
x=0;
break;
head=load();
if(head==NULL){
printf("
文件为空,请先录入数据!
getchar();
break;
}
else{
head=addbook(head);
添加成功!
是否将新信息保存到文件?
(y/n)\n"
a);
switch(a){
case'
n'
:
break;
y'
fprint(head);
printf("
保存成功!
getchar();
}
case2:
if(head==NULL){
deletebook(head);
}
case3:
head=load();
print_book(head);
case4:
paixu(head);
case5:
else{
chaxun(head);
case6:
xiugai(head);
break;
case7:
printf("
注意:
输入图书编码为0时结束!
head=creatbook();
是否将输入的信息保存到文件以覆盖文件中已存在的信息?
scanf("
switch(a){
case'
default:
您的输入有误,请重新输入!
getchar();
}
break;
您的输入有误!
请重新输入!
}
}
//录入数据并形成链表
structbook*creatbook()
structbook*head,*tail,*p;
intnum,time,n;
charbname[50],wname[20],press[50],sort[50];
intsize=sizeof(structbook);
head=tail=NULL;
请输入登录号号:
num);
请输入图书名:
%s"
bname);
请输入作者名:
wname);
请输入出版社:
press);
请输入类别:
sort);
请输入出版时间:
time);
请输入价格:
%f"
price);
while
(1){
p=(structbook*)malloc(size);
p->
num=num;
strcpy(p->
bname,bname);
wname,wname);
press,press);
sort,sort);
time=time;
price=price;
next=NULL;
if(head==NULL)
head=p;
else
tail->
next=p;
tail=p;
do{
请输入登陆号:
n=yanzheng(head,num);
if(n==0)
您输入的编号已存在,请重新输入!
}while
(1);
if(num==0)
{
scanf("
returnhead;
}
//插入结点,并且插入后仍按一定顺序
structbook*addbook(structbook*head)
structbook*ptr,*p1,*p2,*p;
intnum,time,n=1;
do{
p=(structbook*)malloc(size);
p->
strcpy(p->
p2=head;
ptr=p;
while((ptr->
num>
p2->
num)&
&
(p2->
next!
=NULL)){
p1=p2;
p2=p2->
next;
if(ptr->
num<
=p2->
num){
if(head==p2)
head=ptr;
p1->
next=ptr;
next=p2;
else{
p2->
//验证添加的登陆号是否已存在
intyanzheng(structbook*head,intm)
structbook*p;
p=head;
while(p!
=NULL){
if(p->
num==m)
p=p->
if(p==NULL)
return0;
else
return1;
//将新链表写入文件中
voidfprint(structbook*head)
FILE*fp;
charch='
1'
structbook*p1;
if((fp=fopen("
f1.txt"
"
w"
))==NULL){
Fileopenerror!
exit(0);
fputc(ch,fp);
for(p1=head;
p1;
p1=p1->
next){
fprintf(fp,"
%d%s%s%s%s%d%f\n"
p1->
num,p1->
bname,p1->
wname,p1->
press,p1->
sort,p1->
time,p1->
fclose(fp);
//从文件中读取图书信息
structbook*load()
charch;
structbook*head,*tail,*p1;
r"
ch=fgetc(fp);
if(ch=='
){
while(!
feof(fp)){
p1=(structbook*)malloc(sizeof(structbook));
fscanf(fp,"
%d%s%s%s%s%d%f\n"
p1->
sort,&
time,&
head=p1;
next=p1;
tail=p1;
tail->
returnNULL;
//将整个链表的信息输出
voidprint_book(structbook*head)
structbook*ptr;
\n没有信息!
return;
图书信息列表如下\n"
==========================================================\n"
编号图书名作者名出版社类别出版时间价格\n"
for(ptr=head;
ptr;
ptr=ptr->
next)
%d%s%s%s%s%d%.2f\n"
ptr->
num,ptr->
bname,ptr->
wname,ptr->
press,ptr->
sort,ptr->
time,ptr->
//删除图书信息
voiddeletebook(structbook*head)
inta;
charb,ch='
structbook*p1,*p2;
请输入要删除的登陆号:
p1=head;
if(p1->
num==a&
next==NULL){//对于文件中只有一组数据
是否清空文件!
b);
switch(b){
case'
文件已清空!
while(p1->
num!
=a&
p2=p1;
p1=p1->
next==NULL){
num==a){
是否确定从文件中彻底删除该图书?
switch(b){
case'
fprint(head);
删除成功!
没有找到要删除的数据!
elseif(p1==head){
head=p1->
next=p1->
//图书查询
voidchaxun(structbook*head)
**1-按图书名查询**\n"
**2-按作者名查询**\n"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 源代码