C语言编程--图书馆管理系统(共13页).doc
《C语言编程--图书馆管理系统(共13页).doc》由会员分享,可在线阅读,更多相关《C语言编程--图书馆管理系统(共13页).doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上#include #include #include #include /输入/输出文件流类using namespace std;const int Max1=100; /最大学生数const int Max2=100; /最大图书量const int Max3=100; /每个学生最多借2本书class student /学生类,实现对学生的信息的描述 private: int tb; /删除标记 1:已删 0:未删 int no; /学号 char name10; /学生姓名 char yuanxi15; /院系 int ex; int borbookMax3;
2、/所借图书 public: student() char *get_name() return name; /获取姓名 char *get_yuanxi()return yuanxi; /获取院系 int get_tb() return tb; /获取删除标记 int get_no() return no; /获取学号 int getex()return ex; void set_name(char na) /设置学生姓名 strcpy(name,na); void set_yuan(char yu) /设置学生所在院系 strcpy(yuanxi,yu); void set_no(int n
3、) /设置学号 no=n; void delbook() tb=1; /设置删除标记 1:已删 0:未删 void addstudent(int n,int ex1,char *na,char *yu)/增加学生信息 tb=0; no=n; ex=ex1; strcpy(name,na); strcpy(yuanxi,yu); for(int i=0;iMax3;i+) borbooki=0; void borrowbook(int bookid)/借书操作 for(int i=0;iex;i+) if (borbooki=0) borbooki=bookid; return; int ret
4、book(int bookid)/还书操作 for(int i=0;iMax3;i+) if(borbooki=bookid) borbooki=0; return 1; return 0; void out()/输出学生信息 cout 学号: setw(5) no 姓名:setw(10) name院系:setw(10)yuanxi最大借书量:setw(10)ex图书号:; for(int i=0;iex;i+) if(borbooki!=0) cout borbooki |; cout endl; ;/学生类库,用来建立学生的个人资料 class studentbase private: i
5、nt top; /学生记录指针 student readMax1;/学生记录public: studentbase() /构造函数,将student.txt读到read中 student s; top=-1; fstream file(student.txt,ios:in);/打开一个输入文件 while (1) file.read(char *)&s,sizeof(s); if (!file)break; top+; readtop=s; file.close(); /关闭 student.txt void clear()/删除所有学生信息 top=-1; int addstudent(in
6、t n,int ex1,char *na,char *yu)/添加学生时先查找此学生信息是否存在 student *p=query(n); if (p=NULL) top+; readtop.addstudent(n,ex1,na,yu); return 1; return 0; student *query(int kid)/按编号查找学生 for (int i=0;i=top;i+) if (readi.get_no()=kid & readi.get_tb()=0) return &readi; return NULL; void disp() /输出所有学生信息 for (int i=
7、0;i=top;i+)if (readi.get_tb()=0) readi.out(); void studentdata();/学生库维护 studentbase() /析构函数,将read写到student.txt文件中 fstream file(student.txt,ios:out); for (int i=0;i=top;i+) if (readi.get_tb()=0) file.write(char *)&readi,sizeof(readi); file.close(); ;void studentbase:studentdata() char choice;int ex2;
8、 char rname20; char ryuan20; int kid; student *r; while (choice!=0) cout nnttt学 生 资 料 库nnntt 1 新 增nntt 2 更 改nntt 3 删 除nntt 4 查 找nntt 5 显 示nntt 6 全 删nntt 0 退 出 choice; switch (choice) case 1: cout kid; cout ex2; cout rname; coutryuan; addstudent(kid,ex2,rname,ryuan); break; case2: cout kid; r=query(k
9、id); if (r=NULL) cout 没有该学生信息! endl; break; cout rname; r-set_name(rname); cout ryuan; r-set_yuan(ryuan); break; case 3: cout kid; r=query(kid); if (r=NULL) cout 没有该学生信息! delbook(); break; case 4: cout kid; r=query(kid); if (r=NULL) cout 没有该学生信息!out(); break; case 5: disp(); break; case 6: clear();
10、break; default:cout输入错误!请重新输入:;break; /图书类,实现对图书的描述,图书的编号,书名,作者,出版社,数量,借出,还入等class Bookprivate: int tb;/删除标记 1:已删 0:未删 int no;/图书编号 char name20;/书名 char zuozhe20;/作者 char chubanshe30;/出版社 int number;/图书数量 int onshelf;/是否再架 1:再架 2:已借public: Book() char *getname() return name; /获取书名 int getno() return
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 编程 图书馆 管理 系统 13
限制150内