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

c语言图书管理系统  时间:2022-02-25  阅读:()

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

// 1221.cpp : 定义控制台应用程序的入口点。 // # include "stdafx.h" # include # include # include # include # include # include //***********定义一个书的结构体*********** 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("这是一个新的系统,欢迎使用! "); printf("按任意键继续。。。。 "); 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("找到 "); printf("登录号:%5ld 书名:%20s 作者名:%15s 分类号:%5ld 出版单位:%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("请输入你要修改后的数据 "); 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("修改成功! "); 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 作者名:%15s 分类号:%5ld 出版单位:%20s 出版时间:%11s 价格:%f",p->login_num ,p->book_name ,p->book_author ,p->book_sort ,p->publisher ,p->pub_time ,p->price ); printf(" "); p=p->next ; } } //*****************主界面函数**************** void dispaly2 () { printf("**************************欢迎使用本图书管理系统**************************** "); printf("******************** 1,增加图书信息 ******************** "); printf("******************** 2,查找图书信息 ******************** "); printf("******************** 3,删除图书信息 ******************** "); printf("******************** 4,修改图书信息 ******************** "); printf("******************** 5,打印图书信息 ******************** "); printf("******************** 6,安全退出系统 ******************** "); printf("**************************************************************************** "); } //**********************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("输入错误! "); } getch (); system("cls"); } } //这是一个c语言的,你把printf改为cout; 等等。。。 //相信你自己修改一下就可以了

OneTechCloud香港/日本/美国CN2 GIA月付9折季付8折,可选原生IP或高防VPS

OneTechCloud(易科云)是一家主打CN2等高端线路的VPS主机商家,成立于2019年,提供的产品包括VPS主机和独立服务器租用等,数据中心可选美国洛杉矶、中国香港、日本等,有CN2 GIA线路、AS9929、高防、原生IP等。目前商家针对全场VPS主机提供月付9折,季付8折优惠码,优惠后香港VPS最低季付64元起(≈21.3元/月),美国洛杉矶CN2 GIA线路+20Gbps防御型VPS...

香港2GB内存DIYVM2核(¥50月)香港沙田CN2云服务器

DiyVM 香港沙田机房,也是采用的CN2优化线路,目前也有入手且在使用中,我个人感觉如果中文业务需要用到的话虽然日本机房也是CN2,但是线路的稳定性不如香港机房,所以我们在这篇文章中亲测看看香港机房,然后对比之前看到的日本机房。香港机房的配置信息。CPU内存 硬盘带宽IP价格购买地址2核2G50G2M1¥50/月选择方案4核4G60G3M1¥100/月选择方案4核8G70G3M4¥200/月选择...

Linode十八周年及未来展望

这两天Linode发布了十八周年的博文和邮件,回顾了过去取得的成绩和对未来的展望。作为一家运营18年的VPS主机商,Linode无疑是有一些可取之处的,商家提供基于KVM架构的VPS主机,支持随时删除(按小时计费),可选包括美国、英国、新加坡、日本、印度、加拿大、德国等全球十多个数据中心,所有机器提供高出入网带宽,最低仅$5/月($0.0075/小时)。This month marks Linod...

c语言图书管理系统为你推荐
settimervc++6.0 settimer函数是怎么用的啊,能给个例子在讲解一下行么weakhashmapWeakHashMap和HashMap的区别空白代码空白名字代码最开放的浏览器用的最多的三个浏览器是?备忘录模式华为荣耀5X怎么在手机上新建一个备忘录jdk6java—JDK6,在SUN公司官网下载的链接,丁奇海贼王里“D”的意思是什么?waves插件MuseScore vst插件怎么安装社工库网站怎么找社工库?数据分析报告范文数据分析报告怎么写
网通vps dns是什么 主机点评 godaddy主机 googleapps 宕机监控 tk域名 镇江联通宽带 京东商城双十一活动 免空 腾讯云分析 服务器维护方案 100m空间 徐正曦 免费美国空间 河南移动m值兑换 idc查询 服务器监测 电信主机 联通网站 更多