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; 等等。。。 //相信你自己修改一下就可以了

ZJI:韩国BGP+CN2线路服务器,国内三网访问速度优秀,8折优惠码每月实付440元起

zji怎么样?zji最近新上韩国BGP+CN2线路服务器,国内三网访问速度优秀,适用8折优惠码zji,优惠后韩国服务器最低每月440元起。zji主机支持安装Linux或者Windows操作系统,会员中心集成电源管理功能,8折优惠码为终身折扣,续费同价,全场适用。ZJI是原Wordpress圈知名主机商:维翔主机,成立于2011年,2018年9月启用新域名ZJI,提供中国香港、台湾、日本、美国独立服...

创梦网络-四川大带宽、镇江电信服务器云服务器低至56元

达州创梦网络怎么样,达州创梦网络公司位于四川省达州市,属于四川本地企业,资质齐全,IDC/ISP均有,从创梦网络这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,一手四川托管服务商,成都优化线路,机柜租用、服务器云服务器租用,适合建站做游戏,不须要在套CDN,全国访问快,直连省骨干,大网封UDP,无视UDP攻击,机房集群高达1.2TB,单机可提供1...

宝塔面板企业版和专业版618年中活动 永久授权仅1888元+

我们一般的站长或者企业服务器配置WEB环境会用到免费版本的宝塔面板。但是如果我们需要较多的付费插件扩展,或者是有需要企业功能应用的,短期来说我们可能选择按件按月付费的比较好,但是如果我们长期使用的话,有些网友认为选择宝塔面板企业版或者专业版是比较划算的。这样在年中大促618的时候,我们也可以看到宝塔面板也有发布促销活动。企业版年付899元,专业版永久授权1888元起步。对于有需要的网友来说,还是值...

c语言图书管理系统为你推荐
ipad怎么分屏ipad如何分屏使用2020混淆矩阵非监督分类可以用混淆矩阵进行精度评价吗显卡挖矿啥意思挖矿是什么意思 和显卡有什么关联stackoverflowerrorjava.lang.StackOverflowError该如何解决0x80070005计划任务时出现错误代码80070005元数据管理请元数据管理包括哪些内容?元宝网元宝网里面的一个币是真的投资赚钱吗fclose为什么fclose之后remove还是不成功mindmanager破解版谁有MindManager破解版的inode智能客户端我的电脑上inode智能客户端连接网络时,提示~服务器没有响应,请确认当前认证网卡已连接到合适的网
域名解析文件 樊云 winhost vpsio godaddy续费优惠码 shopex空间 可外链相册 qq云端 重庆双线服务器托管 中国linux nnt 锐速 优惠服务器 cpu使用率过高怎么办 cloudflare 美国西雅图独立 wordpress安装 kosskeb79 ftp服务器是什么 最好的免费网络电话 更多