问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c++ 图书馆藏书管理系统

发布网友 发布时间:2022-06-01 02:02

我来回答

1个回答

热心网友 时间:2023-11-10 16:52

// 1221.cpp : 定义控制台应用程序的入口点。
//

# include "stdafx.h"
# include <windows.h>
# include <stdio.h>
# include <stdlib.h>
# include <malloc.h>
# include <string.h>
# include <conio.h>
//***********定义一个书的结构体***********
struct book
{
long login_num;//登录号
char book_name[50];//书名
char book_author[20];//作者名
long book_sort;//分类号
char publisher[50];//出版单位
char pub_time[11];//出版时间
float price;//价格
book * next;
};

//**********定义头指针和末指针**************

book * Head,* End;

//**************创建链表********************

void creat()
{
Head=(book *)malloc(sizeof(book));
End=(book *)malloc(sizeof(book));
Head->next=End;
FILE * fp;
if((fp=fopen("Book","rb"))==NULL)
{
printf("这是一个新的系统,欢迎使用!\n");
printf("按任意键继续。。。。\n");
getch ();
return ;
}
else
{
while(!feof(fp))
{
fread(End,sizeof(book),1,fp);
if(End->login_num <0)
{
break;
}
End=End->next =(book *)malloc(sizeof(book));
}
}
fclose (fp);
}

//**************增加节点********************
void add()
{
printf("请输入登录号:");
scanf("%ld",&End->login_num );

printf("请输入书名:");
scanf("%s",End->book_name );

printf("请输入作者名:");
scanf("%s",End->book_author );

printf("请输入分类号:");
scanf("%ld",&End->book_sort );

printf("请输入出版单位:");
scanf("%s",End->publisher );

printf("请输入出版时间:");
scanf("%s",End->pub_time );

printf("请输入价格:");
scanf("%f",&End->price );

End=End->next =(book *)malloc(sizeof(book));
}

//**************查找节点********************
book * find()//返回上一个节点指针
{
book * p=Head;
char book_name[50];
printf("请输入书的名字:");
scanf("%s",book_name);
getch ();
while(p->next!=End)
{
if((strcmp(book_name,p->next ->book_name ))==0)
{
return p;
}
else
{
p=p->next ;
}
}
printf("sorry !找不到! ");
return NULL;
}
void find2()
{
book * p=find ();
p=p->next ;
if(p!=NULL)
{
printf("找到\n");
printf("登录号:%5ld 书名:%20s \n作者名:%15s 分类号:%5ld \n出版单位:%20s 出版时间:%11s 价格:%f",p->login_num ,p->book_name ,p->book_author ,p->book_sort ,p->publisher ,p->pub_time ,p->price );
}
}

//**************删除节点********************
void del()
{
book * p=find();
if(p==NULL)
{
printf("删除失败!");
getch ();
return ;
}
book * temp=p->next ;
p->next=p->next ->next ;
free (temp);
printf("删除成功!");
getch ();
return ;
}

//**************修改节点********************

void chance ()
{
book * p=find();
if(p==NULL)
{
printf("sorry! 找不到该书!");
getch ();
return ;
}
printf("请输入你要修改后的数据\n");
p=p->next ;
printf("请输入登录号:");
scanf("%ld",&p->login_num );
getch ();
printf("请输入书名:");
scanf("%s",p->book_name );
getch ();
printf("请输入作者名:");
scanf("%s",p->book_author );
getch ();
printf("请输入分类号:");
scanf("%ld",&p->book_sort );
getch ();
printf("请输入出版单位:");
scanf("%s",p->publisher );
getch ();
printf("请输入出版时间:");
scanf("%s",p->pub_time );
getch ();
printf("请输入价格:");
scanf("%f",&p->price );
getch ();
printf("修改成功!\n");
getch ();
return ;
}

//**************释放节点*******************
void del_node()
{
book * p=NULL;
while(Head!=End)
{
p=Head ;
Head=Head->next ;
free (p);
}
free (End);
}

//**************保存节点到文件**************

void save ()
{
book * p=Head->next ;
FILE * fp;
if((fp=fopen ("Book","wb"))==NULL)
{
printf("打开失败!");
getch ();
return ;
}
while(p!=End)
{
fwrite(p,sizeof(book),1,fp);
p=p->next ;
}
del_node ();
fclose (fp);
return ;
}

//******************打印当前图书信息*************
void dispaly1 ()
{
book * p=Head->next ;
while(p!=End)
{
printf("登录号:%5ld 书名:%20s \n作者名:%15s 分类号:%5ld \n出版单位:%20s 出版时间:%11s 价格:%f",p->login_num ,p->book_name ,p->book_author ,p->book_sort ,p->publisher ,p->pub_time ,p->price );
printf("\n");
p=p->next ;
}
}
//*****************主界面函数****************
void dispaly2 ()
{
printf("**************************欢迎使用本图书管理系统****************************\n");
printf("******************** 1,增加图书信息 ********************\n");
printf("******************** 2,查找图书信息 ********************\n");
printf("******************** 3,删除图书信息 ********************\n");
printf("******************** 4,修改图书信息 ********************\n");
printf("******************** 5,打印图书信息 ********************\n");
printf("******************** 6,安全退出系统 ********************\n");
printf("****************************************************************************\n");
}
//**********************Main *******************
void main ()
{
creat ();
int choiece;
while(1)
{
dispaly2 ();
printf("请选择:");
scanf("%d",&choiece);
switch (choiece)
{
case 1:
add();
break;
case 2:
find2();
break;
case 3:
del ();
break;
case 4:
chance ();
break;
case 5:
dispaly1 ();
break;
case 6:
{
save ();
return ;
}
default :
printf("输入错误!\n");
}
getch ();
system("cls");
}
}
//这是一个c语言的,你把printf改为cout;
等等。。。
//相信你自己修改一下就可以了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 跪求C++图书管理系统。。。 java do while 无法循环,循环题应该没问题 如题帮忙设计一个程序 尽量简单.用链表和C++基础完成 急求拯救C语言图书管理系统答案: 功能:1. 添加删除图书 2. 修改图书数据 3图书排序 4 退出图书管理系统 前女友有新欢怎么挽回 分手后女友有了新欢怎么挽回 丑男的苦恼,请求帮助 东方银谷高利贷公司,真是你骂黑高利贷,让16-17孩子也可以贷款就凭身份证就可以借高利贷。 银谷在线网上投资怎样报案? 任务管理器被管理员停用,请各位行行好,帮个忙 东方银谷被抓人员假释了吗? 科目三如何起步不熄火 电风扇的转页 导风轮想要如图这种款式的怎么称呼? 科目三如何起步不抖动 科目三怎么平稳起步 matlab中的nlinfit函数时,参数需要回归系数的初值,如何确定? $发电机组 详解。 002439与603015相比,哪个潜力大? 龚俊青岛堂食事件升级,此事会对他的演绎事业造成影响吗? 谢娜张杰跳单事件升级,中介账号差点消失,发文讽刺对方势力大,怎么回事? 家用电冰箱,电视机,节能灯,电压力锅中哪个的额定电流最接近4A. 多功能电热锅,电压380&#47;220V。额定功率15KW,额定电流45A,配用多少平方的电 求一个C语言编程 图书管理系统 我昨晚做了一个梦,梦见一个房子里有张床,床上有一大堆经书,在旁边有个书桌,桌上放着一个镜子, 110v电压力锅配250v电源插线烧了是咋肥事? 梦见屋里床上很脏乱七八糟我一拉庄腿倒了什么证兆? 苹果称iPhone12可能干扰心脏起搏器,具体有何说明? iphone会令磁卡消磁么 蛇肉食疗作用? 看主板型号怎么分辨主板的性能好坏 怎么看主板的型号,从型号上看主板的性能? 求一个论文:图书管信息管理系统(完整版) 真的谢谢啦!! 怎样看主板的性能 我是大一的学生 老师让我们做一个c语言课程设计 现在给出三道 希望大家 帮帮忙 编写一个工资管理的程序。 冬天吃蛇肉的好处 如何从主板型号上分辨主板性能? 主板的南桥、北桥芯片型号怎么看主板性能? 怎样看主板性能?(教我怎么判断!!!)主板带显卡吗? 请问,自适应估计器(或者自适应参数辨识)和自适应控制器是一回事吗? 蛇肉注射液有何作用?