图书信息管理系统.doc_第1页
图书信息管理系统.doc_第2页
图书信息管理系统.doc_第3页
图书信息管理系统.doc_第4页
图书信息管理系统.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Book.htypedef struct int year ; int month; int day; time;typedef struct book char name40; char number10; char author20; char printer40; time public; int pages; float price; struct book *next; Book;Function.h/各个函数的说明int insert();int query();int update();int delete();int list();int save();int load();bookmanager.c#include#include#include#includefunction.h#includebook.hBook *p1 = NULL,*p2 = NULL,*head = NULL;/结构体指针int current = 0;/当前的图书数量int main () char choice;/功能选择 printf( 图书信息管理系统,版本1.0,版权所有 2010-2020n); while(choice) printf(n); printf(*n); printf( *1:录入图书信息* n); printf( *2:查询图书信息* n); printf( *3:修改图书信息* n); printf( *4:删除图书信息* n); printf( *5:列出图书信息* n); printf( *6:保存图书信息* n); printf( *7:加载图书信息* n); printf( *0:退出系统程序* n); printf(*); printf(n); printf(请选择:); choice = getch(); printf(nn); switch(choice) case 1: insert(); break; case 2: query(); break; case 3: update(); break; case 4: delete(); break; case 5: list(); break; case 6: save(); break; case 7: load(); break; case 0: return 0; default: printf(输入错误,请从新选择:n); return 0;Function.c/函数的调用运行#include#include#include#includefunction.h#includebook.hextern Book *p1,*p2,*head;/结构体指针extern int current;/当前的图书数量int insert() do p1 = (Book *)malloc(sizeof(Book); if (p1=NULL) printf(空间不足够n); printf(n请输入图书的名字:); scanf(%s,p1-name); printf(情输入图书的编号:); scanf(%s,p1-number); printf(请输入图书的作者:); scanf(%s,p1-author); printf(请输入图书的出版社:); scanf(%s,p1-printer); printf(请输入图书的出版时间:); scanf(%d-%d-%d,&p1-public.year,&p1-public.month,&p1-public.day); printf(请输入图书的页数:); scanf(%d,&p1-pages); printf(请输入图书的价格); scanf(%f,&p1-price); printf(nn); if (current=0) head = p1; else p2-next=p1; p2=p1; p2-next=NULL; current+; printf(如果想要继续录入图书请按任意键否者请按ESC); while(getch()!=27); return 0; int query() char name40; int i=0; /*循环图书的次数*/ do printf(请输入要查询的图书名:); scanf(%s,name); p1=head; if(p1=NULL) printf(没有图书n); while(iname,name)=0) printf(图书的信息如下:n); printf(图书名:%sn,p1-name); printf(图书的编号:%sn,p1-number); printf(图书的作者:%sn,p1-author); printf(图书的出版社:%sn,p1-printer); printf(图书的出版时间:%d-%d-%dn,p1-public.year,p1-public.month,p1-public.day); printf(图书的页数:%dn,p1-pages); printf(图书的价格:%fn,p1-price); break; i+; p1 = p1-next; if(strcmp(p1-name,name)!=0) printf(图书不在或名字输入错误n); printf(如果想要再查询请按任意键否者按ESCn); while(getch()!=27); return 0; int update() char name40; int i=0;/*循环图书的次数*/ char choice; do printf(请输入要修改的图书名:n); scanf(%s,name); p1=head; if(p1=NULL) printf(没有图书在n); while(iname,name)=0) do printf(-要修改的信息-n); printf(-1:图书名-n); printf(-2:图书的编号-n); printf(-3:图书的作者-n); printf(-4:图书的出版社-n); printf(-5:图书的出版时间-n); printf(-6:图书的页数-n); printf(-7:图书的价格-fn); printf(请选择要修改的信息:); choice=getch(); switch(choice) case 1: printf(请输入要修改的书名:); scanf(%s,p1-name); break; case 2: printf(请输入要修改的编号:); scanf(%s,p1-number);break; case 3: printf(请输入要修改的作者:); scanf(%s,p1-author);break; case 4: printf(请输入要修改的出版社:); scanf(%s,p1-printer);break; case 5: printf(请输入要修改的出版时间:); scanf(%d-%d-%d,&p1-public.year,&p1-public.month,&p1-public.day); break; case 6: printf(请输入要修改的页数:); scanf(%d,&p1-pages); break; case 7: printf(请输入要修改的价格:); scanf(%f,&p1-price); break; default : printf(n输入错误!); printf(n如果想要再修改请按任意键否者按ESCn); while(getch()!=27); p1 = p1-next; i+; if(strcmp(p1-name,name)!=0) printf(图书不在或名字输入错误n); printf(如果想要再修改请按任意键否者按ESCn); while(getch()!=27); return 0; int delete() char name40; int i=0,b=1;/*循环图书的次数*/ do printf(请输入要删除的图书名:n); scanf(%s,name); p1=head; if(p1=NULL) printf(没有图书n); while(iname,name)=0) if(i=0) head=p1-next; else p2-next=p1-next; free(p1); printf(删除成功!); b=0; break; p2 = p1; p1 = p1-next; i+; if(b) printf(要删除的书不存在或输入错误!n); printf(如果想要再删除请按任意键否者按ESCn); while(getch()!=27); return 0;int list() int i = 0; p1 = head; if(p1=NULL) printf(没有图书n); while(iname); printf(图书的编号:%sn,p1-number); printf(图书的作者:%sn,p1-author); printf(图书的出版社:%sn,p1-printer); printf(图书的出版时间:%d-%d-%dn,p1-public.year,p1-public.month,p1-public.day); printf(图书的页数:%dn,p1-pages); printf(图书的价格:%fn,p1-price); p1 = p1-next; printf(nn); i+; return 0; int save() int count=0,i=0; FILE *fs ; fs = fopen(Bookmanager.dat,wb); if(fs=NULL) printf(不能打开文件n); return 1; p1=head; while(inext; count+; i+; fclose(fs); if(count != current) printf(不能打开文件n); return 1; printf(保存成功!); return 0; int load() FILE *fs; int count; int succ; int i=0; fs = fopen(Bookmanager.dat,rb); if(fs=NULL) printf(不能打开文件n); return 1; succ = fseek(fs,0,2); if(succ!=0)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论