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

下载本文档

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

文档简介

#include #include #include using namespace std;struct BookInfochar loginname10;char bookname20;char author20;char number5;char date10;double price;struct Nodestruct BookInfo book; struct Node *next;void option();void select();Node *head;Node *pt10;FILE *fp;/创建链表/*Node *CrtNode(int n) Node *head; /声明头指针headNode *p,*s; head=new Node; /创建头结点由head指向(空的头结点)s=head; cout请输图书信息:endl;for(int i=0;in;i+)p=new Node; /创建一个结点coutbook.loginname,10);strcat(p-book.loginname,n);coutbook.bookname,20);strcat(p-book.bookname,n);coutbook.author,20);strcat(p-book.author,n);coutbook.number,5);strcat(p-book.number,n);coutp-book.date;strcat(p-book.date,n);coutp-book.price;s-next=p; /把创建的结点由s的next指向s=p; /指针s的指向向后移一个结点cin.clear();cin.sync();p-next=NULL; /最后一个结点的next指向空return head; /返回头指针*/*strcat(p-book.loginname,n);strcat(p-book.bookname,n);strcat(p-book.author,n);strcat(p-book.number,n);strcat(p-book.date,n);*/1.插入void Insert(Node *head)Node *p,*s;s = head;cout请输入图书信息:endl;p=new Node; cin.clear();coutbook.loginname,10);strcat(p-book.loginname,n);cin.clear();cin.sync();coutbook.bookname,20);strcat(p-book.bookname,n);cin.clear();cin.sync();coutbook.author,20);strcat(p-book.author,n);cin.clear();cin.sync();coutbook.number,5);strcat(p-book.number,n);cin.clear();cin.sync();coutp-book.date;strcat(p-book.date,n);coutp-book.price;while(s-next)s = s-next;s-next = p;p-next = NULL;/初始化Node *Initial()Node *head;head = new Node;head-next = NULL;return head;/2.显示所有信息void Show(Node *head) int i = 1;Node *p;/显示除头结点以后所有结点(因为创建时头结点为空)p=head-next; if(p = NULL)cout系统没有储存任何图书信息,请输入图书信息后再进行其他操作!endl;elsecout*下面是所有的图书信息*endl;while(p!=NULL)cout 图书i: book.booknameendl;cout登录名:book.loginname;cout书名:book.bookname;cout作者名:book.author;cout分类号:book.number;cout出版日期:book.date;cout价格:book.price;coutnext;i+;coutendl;cout请按回车键返回菜单。next;coutbook.author,author) = 0)pt0 = ps;count+;ps = ps-next;if(count = 0)cout查找的图书不存在!next;coutbook.bookname,bookname) = 0)pti = ps;count+;i+;if(ps-next =NULL)break;ps = ps-next;if(count = 0)cout查找的图书不存在!endl;return count;void Showarray(int n)cout*下面是所查找的图书信息*endl;for(int i=0;in;i+)cout 图书i+1: book.bookname;cout登录名:book.loginname;cout书名:book.bookname;cout作者名:book.author;cout分类号:book.number;cout出版日期:book.date;cout价格:book.price;coutnext = NULL)cout系统没有储存任何图书信息,请输入图书信息后再进行其他操作!endl;cin.get();elsecoutn;cin.clear();cin.sync();switch(n)case 1:num = findauthor(head);if(num != 0)Showarray(num);break;case 2:num = findbookname(head);if(num !=0)Showarray(num);break;default:cout输入有误,请重新输入!next;int i,n;if(p = NULL)cout系统没有储存任何图书信息,请输入图书信息后再进行其他操作!endl;elsecout请输入需要更正信息的图书名:endl;n = findbookname(head);Showarray(n);loop:couti;cin.clear();cin.sync();if(i 0 & i = n)cout*修改第i本书的其他信息*endl;coutbook.loginname,10);strcat(pti-1-book.loginname,n);cin.clear();cin.sync();coutbook.author,20);strcat(pti-1-book.author,n);cin.clear();cin.sync();coutbook.number,5);strcat(pti-1-book.number,n);cin.clear();cin.sync();coutpti-1-book.date;strcat(pti-1-book.date,n);coutpti-1-book.price;elsecoutnext;if(q = NULL)cout系统没有任何图书信息!endl;elsecoutnext;if(strcmp(q-book.bookname,bookname) = 0)p-next = q-next;delete q;count+;p = q;q = q-next;if(count = 0)cout没有找到该图书信息!endl;elsecout图书信息已经删除!next;while(ps)count+;ps = ps-next;return count;/6.保存文件void save(Node *head)Node *p;char st20;p = head-next;if(fp=fopen(book.dat, w)=NULL)cout打开文件失败next;fclose(fp);cout文件已经保存,请按ENTER键退出!next;while(p)delete p;p = head-next;/*void readstr(FILE *f,char *string)do /: 先读入一行文本fgets(string, 255, f); /fgets(): 从文件 f 读入长度为 255-1 的字符串 / 并存入到 string 中 while (string0 = /) | (string0 = n);return;*/读取文件Node *Load()char c255;int lenth;Node *p,*q;head = new Node;p = head;if(fp=fopen(book.dat, r)=NULL)cout打开文件失败endl;return head;elsefread(&lenth,sizeof(int),1,fp);for(int i = 0;i next = q;p = q;p-next = NULL;fclose(fp);return head;/9.菜单选项void select()int m,n;coutn;cin.clear();cin.sync();switch(n)case 1:system(cls);Insert(head);break;case 2:system(cls);Show(head);break;case 3:system(cls);Find(head);break;case 4:system(cls);Modify(head);break;case 5:system(cls);Deletebook(head);break;case 6:save(head);break;case 7:exit(0);break;case 8:Free_List(head);break;default:break;/10.菜单界面void option()cout 图书信息管理系统endl;cout*endl;cout 1.输入图书信息 2.输出图书信息 endl;cout 3.查找图书信息 4.修改图书信息 endl;cout 5.删除图书信息 6.保存图书信息 endl;cout 7.退出系统 endl;cout*endl;int main() /head = Initial(); head = Load();while(1)system(cls);option();select();return 0;袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆

温馨提示

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

评论

0/150

提交评论