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; 等等。。。 //相信你自己修改一下就可以了
易速互联怎么样?易速互联是国人老牌主机商家,至今已经成立9年,商家销售虚拟主机、VPS及独立服务器,目前商家针对美国加州萨克拉门托RH数据中心进行促销,线路采用BGP直连线路,自带10G防御,美国加州地区,100M带宽不限流量,月付299元起,有需要美国不限流量独立服务器的朋友可以看看。点击进入:易速互联官方网站美国独立服务器优惠套餐:RH数据中心位于美国加州、配置丰富性价比高、10G DDOS免...
HostNamaste是一家成立于2016年3月的印度IDC商家,目前有美国洛杉矶、达拉斯、杰克逊维尔、法国鲁贝、俄罗斯莫斯科、印度孟买、加拿大魁北克机房。其中洛杉矶是Quadranet也就是我们常说的QN机房(也有CC机房,可发工单让客服改机房);达拉斯是ColoCrossing也就是我们常说的CC机房;杰克逊维尔和法国鲁贝是OVH的高防机房。采用主流的OpenVZ和KVM架构,支持ipv6,免...
hostkey应该不用说大家都是比较熟悉的荷兰服务器品牌商家,主打荷兰、俄罗斯机房的独立服务器,包括常规服务器、AMD和Intel I9高频服务器、GPU服务器、高防服务器;当然,美国服务器也有,在纽约机房!官方网站:https://hostkey.com/gpu-dedicated-servers/比特币、信用卡、PayPal、支付宝、webmoney都可以付款!CPU类型AMD Ryzen9 ...
c语言图书管理系统为你推荐
flash控件一台电脑要装哪几个flash插件在线课堂钉钉群直播和在线课堂的区别?akfWOW的意思是什么?AKF呢?settimerMFC 中,全局SetTimer函数怎么用?showwindowC#中showwindow控件在哪里??foxmail邮箱注册FOXMAIL邮箱在哪里可以注册?电子日历我想做个项目 如何在电子日历中进行时间的选择电子日历怎样调整电子日历上的时间inode智能客户端我的电脑上inode智能客户端连接网络时,提示~服务器没有响应,请确认当前认证网卡已连接到合适的网弹幕播放器弹弹play播放器怎么样
长沙服务器租用 漂亮qq空间 fastdomain 新加坡服务器 vmsnap3 老左博客 免费博客空间 40g硬盘 静态空间 流量计费 最好的qq空间 gtt 网游服务器 服务器监测 域名与空间 河南移动梦网 云营销系统 英国伦敦 数据库空间 全能空间 更多