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

BuyVM新设立的迈阿密机房速度怎么样?简单的测评速度性能

BuyVM商家算是一家比较老牌的海外主机商,公司设立在加拿大,曾经是低价便宜VPS主机的代表,目前为止有提供纽约、拉斯维加斯、卢森堡机房,以及新增加的美国迈阿密机房。如果我们有需要选择BuyVM商家的机器需要注意的是注册信息的时候一定要规范,否则很容易出现欺诈订单,甚至你开通后都有可能被禁止账户,也是这个原因,曾经被很多人吐槽的。这里我们简单的对于BuyVM商家新增加的迈阿密机房进行简单的测评。如...

NameCheap黑色星期五和网络礼拜一

如果我们较早关注NameCheap商家的朋友应该记得前几年商家黑色星期五和网络星期一的时候大促采用的闪购活动,每一个小时轮番变化一次促销活动而且限量的。那时候会导致拥挤官网打不开迟缓的问题。从去年开始,包括今年,NameCheap商家比较直接的告诉你黑色星期五和网络星期一为期6天的活动。没有给你限量的活动,只有限时六天,这个是到11月29日。如果我们有需要新注册、转入域名的可以参加,优惠力度还是比...

ReliableSite:美国服务器租用,洛杉矶/纽约/迈阿密等机房;E3-1240V6/64GB/1TSSD,$95/月

reliablesite怎么样?reliablesite是一家于2006年成立的老牌美国主机商,主要提供独服,数据中心有迈阿密、纽约、洛杉矶等,均免费提供20Gbps DDoS防护,150TB月流量,1Gbps带宽。月付19美金可升级为10Gbps带宽。洛杉矶/纽约/迈阿密等机房,E3-1240V6/64GB内存/1TB SSD硬盘/DDOS/150TB流量/1Gbps带宽/DDOS,$95/月,...

c语言图书管理系统为你推荐
策略组简述组策略的概念 急急急jql建筑设计图纸上JQL 梁,是不是地下正负零基础梁?急急!索引超出了数组界限求助大神什么叫索引超出了数组界限网页微信客户端什么叫微信网页版?和电脑版是一回事吗?弹幕播放器弹弹play播放器怎么样memsql易语言的msql连接怎么不成功,错哪呢?系统论坛安卓系统论坛哪个好?相似图片搜索如何输入图片并且搜出最相似的图片?qq业务中心QQ业务办理新手怎么制作表格我是初学者、电脑上怎么制作表格
美国服务器托管 域名备案中心 x3220 仿牌空间 highfrequency burstnet z.com 空间服务商 七夕快乐英文 卡巴斯基试用版 吉林铁通 网站在线扫描 华为云盘 国外在线代理服务器 日本代理ip 华为k3 windowssever2008 windows2008 web是什么意思 reboot 更多