程序设计报告图书管理系统_第1页
程序设计报告图书管理系统_第2页
程序设计报告图书管理系统_第3页
程序设计报告图书管理系统_第4页
程序设计报告图书管理系统_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

..>题目:图书管理系统一、课题内容基于角色管理的简易图书管理系统实现功能:1.角色管理。设有图书管理员和普通用户两类角色,他们设有不同的权限,各类用户进入系统时需先登录。管理员角色,图书管理员可对图书信息的录入、删除、及修改、统计;3.普通用户角色,普通用户可借阅图书、归还图书。提高要求:使用文本文件存储各类信息,界面友好,有出错处理。实现语言:C语言或C++语言二、课题要求1.熟练运用C或C++课程所学习的理论和概念。2.熟练运用循环构造、分支构造、顺序构造。3.熟练掌握函数的定义和调用方法。4.熟悉对于文件的翻开、关闭和文件的读写。5.熟练掌握对于C中构造体或C++中类的操作。6.按照分析、设计、编码、调试和测试的软件开发过程独立完成管理系统设计。三、需求分析1.该程序可实现对于普通用户(即学生)和管理员两种角色对于图书管理系统的操作。2.普通用户(即学生)登陆后可对图书进展查询、借阅、归还。3.管理员登陆后可对图书进展增加、删除、修改、统计,以及对图书馆中职员和学生的信息统计,方便对学生补办借书卡以及人员统计的管理。4.该程序中的查询图书功能有按书名和作者两类查找方式,以满足不同用户的需要。四、概要设计采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。1.模块功能说明:(1).图书查询:可以通过对书名或作者两类方式的查找,查找到所要查找的书籍。(2).图书借阅:进入该模块时需要普通用户登录,即学生输入自己的卡号,输入正确可进入借阅模块,输入错误则进展返回。(3).管理员系统:进入管理员模式,进入该模块时需要管理员登陆,即输入管理员个人密码,进入后可以对图书进展增加、删除、修改、统计,以及对图书馆内职工和学生的信息管理。(4).图书归还:进入该模块时需要普通用户登陆,即学生输入自己的卡号,输入正确可进入还书模块,输入错误则进展返回。(5).退出系统:选择该选项,自动退出图书管理系统。2.描述算法的流程图:(1)主流程:图书管理系统,进入后有查询图书、借阅图书、归还图书等功能,还可以进入管理员模式,或者退出系统。其中,借阅图书和归还图书是针对普通用户〔学生〕设立的,进入时需要登录,即输入学生的借书卡卡号。在管理员模式下,只有指定的管理员允许进入,进入前需先登录,即输入管理员密码,进入后可对图书进展增、删、查、改,同时可以实现对管理员和学生的信息管理。查询图书查询图书退出系统按书名查找按作者查找增加图书删除图书修改图书书籍统计学生信息管理管理员信息管理返回主菜单图书管理系统借阅图书〔用户进入〕归还图书〔用户进入〕管理员系统〔管理员进入〕(2)各主要模块流程:=1\*GB3①普通用户模式下的还书功能:步骤:=1\*alphabetica.输入学生卡号;=2\*alphabeticb.系统通过文件读取卡号记录;=3\*alphabeticc.判断卡号是否存在,卡号存在则跳转d,否则跳转到f;=4\*alphabeticd.输入归还书籍;=5\*alphabetice.选择是否继续归还,是则跳转d,否则跳转f;f.完毕,进展返回。NNY开场输入卡号读取卡号记录-卡号存在输入归还书籍NNY开场输入卡号读取卡号记录-卡号存在输入归还书籍是否继续归还Y完毕图2.普通用户模式下的还书功能=2\*GB3②普通用户模式下的借书功能:步骤:a.输入卡号; b.系统通过文件读取卡号记录; c.判断卡号是否存在,卡号存在则跳转d,否则跳转h d.输入借阅书籍; e.判断该书是否借出,借出则跳转f,否则跳转g; f.提示借书失败; g.提示借书成功; h.完毕,进展返回。YY开场输入卡号读取卡号记录-卡号存在输入借阅书籍该书是否借出YN借书失败借书成功完毕N图3.普通用户模式下的借书功能=3\*GB3③管理员模式下的录入书籍功能:步骤:a.输入录入书籍的相关信息; b.标记该书是否借出;c.选择是否录入下一本,假设选择是,跳转到a,假设选择否,跳转到d;d.完毕,进展返回。YYN输入所录入书的相关信息标记是否借出录入下一本开场完毕图4.管理员模式下的录入书籍功能=4\*GB3④管理员模式下的删除书籍功能:步骤:a.输入要删除的书籍; b.选择是否真的要删除该书籍,假设选择是,则跳转c,否则跳转d;c.删除书籍;d.完毕,进展返回。开场开场输入要删除的书籍是否真的要删删除完毕YN图5.管理员模式下的删除书籍功能=5\*GB3⑤管理员模式下的修改书籍功能:步骤:a.输入所要修改的书名;b.系统显示该书信息;c.输入所要修改的内容;d.选择修改序号、修改书名、修改作者,进展相应修改;e.完毕,进展返回。开场开场输入所要修改的书名自动显示该书信息输入所要修改的内容修改序号修改书名修改作者完毕图6.管理员模式下的修改书籍功能=6\*GB3⑥管理员模式下的书籍统计功能:步骤:a.系统自动对书籍和数量赋初值;b.判断是否读入到文件尾部,假设读到尾部则跳转到f,否则跳转到c;c.输出图书信息; d.书籍数量和系统自动进展加一操作;e.判断是否读入到文件尾部,假设读到尾部则跳转到f,假设否则跳转到c; f.输出书籍的本数;g.完毕,进展返回。NN开场i=0n=0fread(&book[i],sizeof(structbook),1,fp)!=0输出图书信息n=n+1i++输出共有n本书完毕:YY图7.管理员模式下的书籍统计功能=7\*GB3⑦管理员模式下的借书卡管理功能:步骤:a.选择申请新卡、删除卡号、借书统计、卡号统计,进展相应操作;b.完毕,进展返回。开场开场申请新卡删除卡号借书统计卡号统计完毕图8.管理员模式下的借书卡管理功能五、源程序代码#include<stdio.h>#include<string.h>#include<conio.h>#include<stdlib.h>#defineSTACK_INIT_SIZE10structstudent/*定义学生类型,用于存放借出的书籍*/{ intcarnum;/*学生借书卡卡号*/ charlendbook[10];/*借书书名*/}student[1000];structemploy/*定义管理员类型*/{ intemploynum;/*管理员序号*/ charemployname[15];/*管理员姓名*/ intemployage;/*管理员年龄*/ charemployse*[2];/*管理员性别*/ charemployleve[10];/*管理员学历*/ longintemploytage;/*管理员工资*/}employ[50];structbook/*定义书的类型*/{ intbooknum;/*书的序号*/ charbookname[10];/*书名*/ charbookcreat[10];/*书的作者*/ intturefalse;/*用于借书和还书模块判断一本书是否借出的条件*/}book[1000];structcar/*借书卡的数据类型*/{ intcarnum;/*卡号*/ charstudentname[10];/*学生姓名*/ intstudentclass;/*学生班级*/}car[100];huanbook()/*还书函数*/{ FILE*fp,*fp2;/*定义两个文件指针,fp2用于修改数据时设立临时文件用,防止数据遭破坏*/ inti,n; intcarnum; charlendbook[10]; printf("请你输入你的卡号\n"); scanf("%d",&carnum); fp=fopen("car.t*t","r");/*读取卡号记录*/ for(i=0;fread(&car[i],sizeof(structcar),1,fp)!=0;i++)/*for循环判断卡号是否存在*/ { if(car[i].carnum==carnum)/*卡号存在,进入下一循环*/ { n=i; fclose(fp); printf("请输入你要还的书的名字\n"); scanf("%s",lendbook); fp=fopen("record.t*t","r"); for(i=0;fread(&student[i],sizeof(structstudent),1,fp)!=0;i++)/*判断是否借阅了输入的书*/ { if(strcmp(student[i].lendbook,lendbook)==0)/*借阅了该书,进入下一循环,否则出错显示*/ { fclose(fp); fp=fopen("record.t*t","r"); fp2=fopen("bookl.t*t","w"); for(i=0;fread(&student[i],sizeof(structstudent),1,fp)!=0;i++) { if(strcmp(student[i].lendbook,lendbook)==0) { continue;/*删除还掉的书的借书记录*/ } fwrite(&student[i],sizeof(structstudent),1,fp2);/*写入原来没还的书的记录*/ } fclose(fp); fclose(fp2); fp=fopen("record.t*t","w"); fp2=fopen("bookl.t*t","r"); for(i=0;fread(&student[i],sizeof(structstudent),1,fp2)!=0;i++) { fwrite(&student[i],sizeof(structstudent),1,fp);/*将借书记录信息写回*/ } fclose(fp); fclose(fp2); fopen("bookl.t*t","w");/*清临时文件的记录*/ fclose(fp2); fp=fopen("book.t*t","r"); fp2=fopen("bookl.t*t","w"); for(i=0;fread(&book[i],sizeof(structbook),1,fp)!=0;i++)/*将书的记录写入临时文件,防止因为修改信息破坏以前的记录*/ { if(i==n) { book[i].turefalse=1; fwrite(&book[i],sizeof(structbook),1,fp2);/*将还的书的原来状态设为无人借阅的*/continue; } fwrite(&book[i],sizeof(structbook),1,fp2); } fclose(fp); fclose(fp2); fp=fopen("book.t*t","w"); fp2=fopen("bookl.t*t","r"); for(i=0;fread(&book[i],sizeof(structbook),1,fp2)!=0;i++) { fwrite(&book[i],sizeof(structbook),1,fp);/*将临时文件写回*/ } fclose(fp); fclose(fp2); fopen("bookl.t*t","w");/*清临时文件*/ fclose(fp2); printf("还书完毕,按任意键返回\n"); getch(); system("cls"); return1; } }printf("你没有借该书!任意键返回\n");/*出错提示*/ fclose(fp); getch(); system("cls"); return0; } }printf("无此卡号!!!按任意键返回\n");/*出错提示*/fclose(fp);getch();system("cls");}findbook()/*查询书籍函数2*/{ FILE*fp; charbookname[10]; intture,i; fp=fopen("book.t*t","r"); printf("请输入要查找的书名\n"); scanf("%s",bookname); for(i=0;fread(&book[i],sizeof(structbook),1,fp)!=0;i++) { if(strcmp(bookname,book[i].bookname)==0) { if(book[i].turefalse==1) { printf("这本书的详细资料是:%d%s%s此书现在无人借阅\n按任意键返回\n",book[i].booknum,book[i].bookname,book[i].bookcreat); } else { printf("此书已借出\n"); fclose(fp); return0; } fclose(fp); returnfalse; } } printf("没有你要查询的书籍\n"); fclose(fp); returnfalse;}findbook1()/*查询书籍函数1*/{ FILE*fp; charbookcreat[10]; intture,i; fp=fopen("book.t*t","r"); printf("请输入你要查找的作者名\n"); scanf("%s",bookcreat); for(i=0;fread(&book[i],sizeof(structbook),1,fp)!=0;i++) { if(strcmp(bookcreat,book[i].bookcreat)==0) { if(book[i].turefalse==1) { printf("这本书的详细资料是:%d%s%s此书现在无人借阅\n按任意键返回\n",book[i].booknum,book[i].bookname,book[i].bookcreat); } else { printf("这本书已经有人借出\n"); fclose(fp); return0; } fclose(fp); returnfalse; } } printf("没有你要查询的书籍\n"); fclose(fp); returnfalse;}lendcount()/*学生借书信息函数*/{ FILE*fp; inti,n=0; fp=fopen("record.t*t","r"); for(i=0;fread(&student[i],sizeof(structstudent),1,fp)!=0;i++) { printf("卡号:%d借出的书籍:%s\n",student[i].carnum,student[i].lendbook); n=n+1; } fclose(fp); printf("目前共有%d本书借出\n",n); printf("按任意键\n"); getch(); returnn;}chabook(){ charch5; do { printf(">>>>>>>>>>>>>>欢迎进入图书管理系统!<<<<<<<<<<<<<<\n"); printf("|1:<按书名查找>\n"); printf("|2:<按作者查找>\n"); printf("|0:<返回>\n"); printf("请输入0--2\n"); scanf("%s",&ch5); switch(ch5) { case'1':system("cls");findbook();getch();break; case'2':system("cls");findbook1();getch();break; case'0':system("cls");break; default:printf("无此操作\n");getch();break; } }while(ch5!='0'); returnfalse;}lendbook()/*借书函数*/{ FILE*fp,*fp2; inti,n; intcarnum; printf("请你输入你的卡号\n"); scanf("%d",&carnum); fp=fopen("car.t*t","r"); for(i=0;fread(&car[i],sizeof(structcar),1,fp)!=0;i++) { if(car[i].carnum==carnum) { n=i; fclose(fp); printf("请输入你要借阅的书的名字\n"); scanf("%s",student[n].lendbook); fp=fopen("book.t*t","r"); for(i=0;fread(&book[i],sizeof(structbook),1,fp)!=0;i++) { if(strcmp(book[i].bookname,student[n].lendbook)==0) { if(book[i].turefalse==0) { printf("对不起,此书已借出!\n"); fclose(fp); getch(); return; } else fclose(fp); fp=fopen("record.t*t","a+"); student[n].carnum=carnum; fwrite(&student[n],sizeof(structstudent),1,fp); fclose(fp); fp=fopen("book.t*t","r"); fp2=fopen("bookl.t*t","w"); for(i=0;fread(&book[i],sizeof(structbook),1,fp)!=0;i++) { if(strcmp(book[i].bookname,student[n].lendbook)==0) { book[i].turefalse=0; fwrite(&book[i],sizeof(structbook),1,fp2); continue; } fwrite(&book[i],sizeof(structbook),1,fp2); } fclose(fp); fclose(fp2); fp=fopen("book.t*t","w"); fp2=fopen("bookl.t*t","r"); for(i=0;fread(&book[i],sizeof(structbook),1,fp2)!=0;i++) { fwrite(&book[i],sizeof(structbook),1,fp); } fclose(fp); fclose(fp2); fopen("bookl.t*t","w"); fclose(fp2); printf("借书完毕,按任意键返回\n"); getch(); system("cls"); return; } } printf("无此书籍!任意键返回\n"); fclose(fp); getch(); system("cls"); return; }}printf("你的卡号不存在!按任意键返回\n");fclose(fp);getch();system("cls");}carcount(){ FILE*fp; inti,n=0; fp=fopen("car.t*t","r"); for(i=0;fread(&car[i],sizeof(structcar),1,fp)!=0;i++) { printf("第%d张卡<卡号:%d:%s班级:%d>\n",i+1,car[i].carnum,car[i].studentname,car[i].studentclass); n=n+1; }fclose(fp);printf("目前共有%d本书\n",n);printf("按任意键\n");getch();}delcar()/*删除借书卡函数*/{ FILE*fp,*fp2; inti; intcarnum; charchoice; fp=fopen("car.t*t","r"); fp2=fopen("bookl.t*t","w"); printf("请输入你要删除的卡号\n"); scanf("%d",&carnum); for(i=0;fread(&car[i],sizeof(structcar),1,fp)!=0;i++) { if(car[i].carnum!=carnum) { fwrite(&car[i],sizeof(structcar),1,fp2); } }fclose(fp);fclose(fp2);printf("是否要删除该卡"<Y/N>\n");scanf("%s",&choice);if(choice=='y'||choice=='Y'){ fp=fopen("car.t*t","w"); fp2=fopen("bookl.t*t","r"); for(i=0;fread(&car[i],sizeof(structcar),1,fp2)!=0;i++) { fwrite(&car[i],sizeof(structcar),1,fp); } fclose(fp); fclose(fp2); fp2=fopen("bookl.t*t","w"); fclose(fp2); printf("按任意键返回\n"); getch(); system("cls"); return;}else{printf("按任意键返回\n"); getch(); system("cls"); return;}}addcar()/*增加借书卡函数*/{ FILE*fp; inti=0; fp=fopen("car.t*t","a+"); printf("请你输入卡号\n"); scanf("%d",&car[i].carnum); printf("请你输入学生姓名\n"); scanf("%s",car[i].studentname); printf("请你输入班级\n"); scanf("%d",&car[i].studentclass); fwrite(&car[i],sizeof(structcar),1,fp); fclose(fp); printf("输入完毕,任意键返回\n"); getch(); system("cls");}changemploy(){FILE*fp,*fp2;charemployname[10],choice;inti;fp=fopen("employ.t*t","r");fp2=fopen("bookl.t*t","w");printf("请你输入要修改的职工的名字\n");scanf("%s",employname);for(i=0;fread(&employ[i],sizeof(structemploy),1,fp)!=0;i++){ if(strcmp(employ[i].employname,employname)==0) { printf("你所要修改的职工的资料如下,请选择你要修改的内容\n"); printf("<职工号:%d职工名:%s年龄:%d性别:%s学历:%s工资:%d>\n",employ[i].employnum,employ[i].employname,employ[i].employage,employ[i].employse*,employ[i].employleve,employ[i].employtage); printf("2:修改职工名\n"); printf("3:修改职工年龄\n"); printf("4:修改职工工资\n"); printf("5:修改职工学历\n"); printf("请输入1-5:"); scanf("%s",&choice); switch(choice) { case'1': { printf("请输入新的职工号\n"); scanf("%d",&employ[i].employnum); fwrite(&employ[i],sizeof(structemploy),1,fp2); } break; case'2': { printf("请输入新的职工姓名\n"); scanf("%s",employ[i].employname); fwrite(&employ[i],sizeof(structemploy),1,fp2); } break; case'3': { printf("请输入新的年龄\n"); scanf("%d",&employ[i].employage); fwrite(&employ[i],sizeof(structemploy),1,fp2); } break; case'4': { printf("请输入新的职工工资\n"); scanf("%d",&employ[i].employtage); fwrite(&employ[i],sizeof(structemploy),1,fp2); } break; case'5': { printf("请输入新的职工学历\n"); scanf("%s",employ[i].employleve); fwrite(&employ[i],sizeof(structemploy),1,fp2); } default:printf("没有这样的操作");break; } continue; } fwrite(&employ[i],sizeof(structemploy),1,fp2);}fclose(fp);fclose(fp2);fp=fopen("employ.t*t","w");fp2=fopen("bookl.t*t","r");for(i=0;fread(&employ[i],sizeof(structemploy),1,fp2)!=0;i++) { fwrite(&employ[i],sizeof(structemploy),1,fp); }fclose(fp);fclose(fp2);fp2=fopen("bookl.t*t","w");fclose(fp2);printf("按任意键返回\n");getchar();system("cls");return;}delemploy(){ FILE*fp,*fp2; inti; charemployname[10],choice; fp=fopen("employ.t*t","r"); fp2=fopen("bookl.t*t","w"); printf("请输入你要删除的职工名\n"); scanf("%s",employname); for(i=0;fread(&employ[i],sizeof(structemploy),1,fp)!=0;i++) { if(strcmp(employname,employ[i].employname)!=0) { fwrite(&employ[i],sizeof(structemploy),1,fp2); }}fclose(fp);fclose(fp2);printf("是否真的要删除该职工信息"<Y/N>\n");scanf("%s",&choice);if(choice=='y'||choice=='Y'){ fp=fopen("employ.t*t","w"); fp2=fopen("bookl.t*t","r"); for(i=0;fread(&employ[i],sizeof(structemploy),1,fp2)!=0;i++) { fwrite(&employ[i],sizeof(structemploy),1,fp); } fclose(fp); fclose(fp2); fp2=fopen("bookl.t*t","w"); fclose(fp2); printf("按任意键返回\n"); getch(); system("cls"); returntrue;}else{ printf("按任意键返回\n"); getch(); system("cls"); returnfalse;}}employcount(){ FILE*fp; inti,n=0; fp=fopen("employ.t*t","r"); for(i=0;fread(&employ[i],sizeof(structemploy),1,fp)!=0;i++) { printf("第%d职工的信息如下:\n<职工号:%d职工名:%s年龄:%d性别:%s学历:%s工资:%d>\n",n+1,employ[i].employnum,employ[i].employname,employ[i].employage,employ[i].employse*,employ[i].employleve,employ[i].employtage); n++; } fclose(fp); printf("目前共有%d个职工\n",n); printf("按任意键返回\n");}addemploy(){ FILE*fp; charchoice='y'; inti=1; fp=fopen("employ.t*t","a+"); while(choice=='y'||choice=='Y') { printf("请你输入职工号码\n"); scanf("%d",&employ[i].employnum); printf("请你输入职工名\n"); scanf("%s",employ[i].employname); printf("请输入职工年龄\n"); scanf("%d",&employ[i].employage); printf("请你输入性别\n"); scanf("%s",employ[i].employse*); printf("请你输入职工的学历水平\n"); scanf("%s",employ[i].employleve); printf("请输入职工的工资\n"); scanf("%d",&employ[i].employtage); fwrite(&employ[i],sizeof(structemploy),1,fp); printf("是否要输入下个职工信息"[N/Y]\n"); scanf("%s",&choice); system("cls"); }printf("按任意键返回\n");fclose(fp);}addbook()/*录入书籍函数*/{ FILE*fp; inti=0; charchoice='y'; fp=fopen("book.t*t","a+"); while(choice=='y'||choice=='Y') { printf("请你输入第%d本书的序号\n",i+1); scanf("%d",&book[i].booknum); printf("请你输入书名\n"); scanf("%s",book[i].bookname); printf("请你输入书的作者\n"); scanf("%s",book[i].bookcreat); printf("请设为1或0,1代表书还没人借,0表示书已经借出\n"); printf("请你设定书的状态\n"); scanf("%d",&book[i].turefalse); fwrite(&book[i],sizeof(structbook),1,fp); printf("是否要输入下本书[N/Y]\n"); scanf("%s",&choice); }fclose(fp);}bookcount()/*书籍统计函数*/{ FILE*fp; inti,n=0; fp=fopen("book.t*t","r"); for(i=0;fread(&book[i],sizeof(structbook),1,fp)!=0;i++) { if(book[i].booknum!=0&&strlen(book[i].bookname)!=0&&strlen(book[i].bookcreat)!=0) { printf("第%d本书<序号:%d书名:%s%s状态:%d>\n",i+1,book[i].booknum,book[i].bookname,book[i].bookcreat,book[i].turefalse); n=n+1; } }fclose(fp);printf("目前共有%d本书\n",n);printf("按任意键\n");}delbook()/*删除书籍函数*/{ FILE*fp,*fp2; inti; charbookname[10],choice; fp=fopen("book.t*t","r"); fp2=fopen("bookl.t*t","w"); printf("请输入你要删除的书名\n"); scanf("%s",bookname); for(i=0;fread(&book[i],sizeof(structbook),1,fp)!=0;i++) { if(strcmp(bookname,book[i].bookname)!=0) { fwrite(&book[i],sizeof(structbook),1,fp2); } }fclose(fp);fclose(fp2);printf("是否真的要删除该书籍"<Y/N>\n");scanf("%s",&choice);if(choice=='y'||choice=='Y'){ fp=fopen("book.t*t","w"); fp2=fopen("bookl.t*t","r"); for(i=0;fread(&book[i],sizeof(structbook),1,fp2)!=0;i++) { fwrite(&book[i],sizeof(structbook),1,fp); } fclose(fp); fclose(fp2); fp2=fopen("bookl.t*t","w"); fclose(fp2); printf("按任意键返回\n"); getch(); system("cls"); return;}else{ printf("按任意键返回\n"); getch(); system("cls"); return;}}changebook()/*修改书籍函数*/{ FILE*fp,*fp2; charbookname[10],choice; inti; fp=fopen("book.t*t","r"); fp2=fopen("bookl.t*t","w"); printf("请输入要修改的书名\n"); scanf("%s",bookname); for(i=0;fread(&book[i],sizeof(structbook),1,fp)!=0;i++) { if(strcmp(book[i].bookname,bookname)==0) { printf("你所要修改的书的资料如下,请选择你要修改的内容\n"); printf("序号:〈%d〉书名:〈%s〉〈%s〉\n",book[i].booknum,book[i].bookname,book[i].bookcreat); printf("1:修改书的序号\n"); printf("2:修改书名\n"); printf("3:修改作者\n"); printf("请输入1-3:"); scanf("%s",&choice); switch(choice) { case'1': { printf("请输入新的序号\n"); scanf("%d",&book[i].booknum); fwrite(&book[i],sizeof(structbook),1,fp2); } break; case'2': { printf("请输入新的书名\n"); scanf("%s",book[i].bookname); fwrite(&book[i],sizeof(structbook),1,fp2); } break; case'3': { printf("请输入新的作者\n"); scanf("%s",book[i].bookcreat); fwrite(&book[i],sizeof(structbook),1,fp2); } break; default:printf("没有这样的操作");break; } continue; } fwrite(&book[i],sizeof(structbook),1,fp2); }fclose(fp);fclose(fp2);fp=fopen("book.t*t","w");fp2=fopen("bookl.t*t","r");for(i=0;fread(&book[i],sizeof(structbook),1,fp2)!=0;i++){ fwrite(&book[i],sizeof(structbook),1,fp);}fclose(fp2);fp2=fopen("bookl.t*t","w");fclose(fp2);printf("按任意键返回\n");getchar();system("cls");return;}main(){ char*uehao[15]; charch1,ch2,ch3,ch4,ch5; do { printf(">>>>>>>>>>>>>>欢迎进入图书管理系统!<<<<<<<<<<<<<<\n"); printf("\t请选择你的操作:\n"); printf("1:<查询图书>\n"); printf("2:<借阅图书>(普通用户进入)\n"); printf("3:<管理系统>(管理员进入)\n"); printf("4:<归还图书>(普通用户进入)\n"); printf("0:<退出>\n"); printf("请输入0--4\n"); scanf("%s",&ch1); switch(ch1) { case'1':system("cls");chabook();break; case'2':system("cls");lendbook();break; case'3':system("cls"); { printf("请输入管理员密码:\n"); scanf("%s",&*uehao); if(strcmp(*uehao,"11002805zouji")==0) { system("cls"); do {printf("---------------欢迎进入管理系统!--------------\n"); printf("1:<增加图书>\n"); printf("2:<删除图书>\n"); printf("3:<修改图书资料>\n"); printf("4:<书籍统计>\n"); printf("5:<职工管理系统>\n"); printf("6:<学生管理系统>\n"); printf("0:<返回>\n"); printf("请输入0--6\n");scanf("%s",&ch2); switch(ch2) { case'1':system("cls");addbook();break; case'2':system("cls");delbook();break; case'3':system("cls");changebook();break; case'4':system("cls");bookcount();getch();break; case'5': { system("cls"); do {printf("---------------欢迎进入职工管理系统!--------------\n"); printf("1:<增加员工>\n"); printf("2:<删除员工>\n"); printf("3:<修改员工资料>\n"); printf("4:<员工统计>\n"); printf("

温馨提示

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

评论

0/150

提交评论