HUNANUNIVERSITYC语言程序训练报告【设计目的】图书信息包括:读者登录号、管理员登录号、图书编号、作者名、种类、出版社、图书库存、图书借出数目等.图书信息管理系统,使之能提供以下功能:1)系统以菜单方式工作2)读者注册功能3)读者登录功能4)读者借书还书功能5)查询读者借阅记录6)查询在管图书信息功能7)修改密码功能8)管理员登录功能9)增加、修改、删除图书功能10)查看图书信息功能【设计思路】根据题目要求,应当把图书信息用结构体形式输入,应该提供以下结构体和文件的输入等操作:在程序中需要实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现:另外还需提供选择菜单实现功能,在运行时达到所要求的目的;管理员和读者登录界面及各自功能应有不同的实现。【总体设计】【详细设计】图书馆管理系统读者注册、登陆及密码修改修改图书信息删除图书信息管理员登陆查找图书信息浏览图书信息1.主函数主函数设计要求简洁,只提供部分提示语和函数的调用源代码为//rkou.c程序的入口#includestdio.h#includestdlib.h#includestring.h#includeconio.h#includehead.h#includefuc.h#includepicture.h#includejiangzhuo1.h#includeoutput.hmain(){inti=setup();switch(i){case0:while(n50){conects(n);}default:eros(i);}显示一系列功能选项输入n,n为1,2或3根据n的值调用各功能模块函数结束开始nsystem(pause);}2.程序中全局变量声明定义,以及所有函数声明源代码为structbook//图书结构体声明{charname[50],classic[10],writer[20];//书名,类别,作者intjn;//借出数量intzn;//在馆数量intbh;//图书编号};structinformation//管理员和读者结构体声明{charname[10],no[12],key[10];//姓名,账号,密码};structshow//图书借阅记录的结构体声明{charname1[10],name2[50],writer[20],no[12];//书名,读者姓名,书的作者,读者账号intbh,o;//图书编号,借阅状况(未还,已还)};//以下为用到的全局变量structbookbk;structinformationaa,rr;structinformationstu[100];structbookbb[100];structinformationad[100];structshowss[100];inti,j,k,s;intn=0;intx;FILE*fp;//以下函数主要功能:方便窗口与用户之间交换信息intregst();voidpassword(char*a,intb,intj);//登陆时的输入函数voidexamine(int*a,intb);//保证键入的数据是数字voidchangepaw(inta,intb);//修改密码用到的提示函数voidinputs0();//输出图书类别以供用户选择voidinputs1(inta,intb,intc,intd,inte);//方便用户输入图书各项信息(如书名,编号)voidinputs2(inta,intb,intc);//方便用户输入管理员的信息(如账号姓名)voidinputs3(inta,intb,intc);//方便用户输入读者的信息(如账号姓名)voideros(inti);//错误显示函数,操作一旦出错,则会出现相应的错误信息voidconects(intj);//连接函数,选择界面//一下函数主要用于改变文件的内容并保存intsetup();//数据初始化函数intxzc(charno[12],charkey1[10],charkey2[10],charname[10]);//读者注册函数intexam(charno[10],charkey[10],intn);//密码账号检验函数intmp(charno[12],charkey1[10],charkey2[10],charkey3[10],intn);//密码修改函数voidpaixu();//对图书按照编号从小到大的顺序进行排列intsc(intbh);//管理员删除图书信息函数intzj(structbookbb);//管理员增加图书信息函数intxg(structbookbb);//管理员修改图书信息函数intjs(intbh,charno[12]);//借书函数inths(intbh,charno[12]);//还书函数intbh1(intbh);//判断该编号的图书信息是否存在函数voidbh2(intbh);//按照图书编号显示图书信息函数intsm1(charname[50]);//判断是否存在该名字的图书信息函数voidsm2(charname[50]);//按照图书名字显示图书信息函数intzz1(charwriter[20]);//判断是否存在该作者的图书信息函数voidzz2(charwriter[20]);//按照图书作者显示图书信息函数voidlb(charclassic[10]);//按类别显示图书信息intrck1(intbh);//判断该编号的图书的借书记录是否存在voidrck2(intbh);//按编号显示图书借书情况intgck21(charno[12]);//判断该账号读者的借书记录是否存在voidgck22(charno[12]);//按读者显示借书情况2voidgck12();//显示全部借书情况voidgck23();//管理员查看所有书的信息voidcopy(intbh);//按编图书编号将图书信息暂时保存在另外一个结构体里面voidcopy2(charno[12]);//按管理员账号将管理员信息暂时保存在另外一个结构体里面voidcopy3(charno[12]);//按读者账号将读者信息暂时保存在另外一个结构体里面//pic()函数:每个函数表示一个界面,conects函数将它们连接起来voidpic0();voidpic1();voidpic2();voidpic3();voidpic4();voidpic5();voidpic6();voidpic7();voidpic8();voidpic9();voidpic10();voidpic11();voidpic12();voidpic13();voidpic14();voidpic15();voidpic16();voidpic17();voidpic18();voidpic19();voidpic20();voidpic21();voidpic22();voidpic23();voidpic24();voidpic25();voidpic26();voidpic27();voidpic29();voidpic30();voidpic31();voidpic32();voidpic33();voidpic34();voidpic35();voidpic36();voidpic37();voidpic38();voidpic39();voidpic40();voidpic41();voidpic42();voidpic43();voidpic44();voidpic45();voidpic46();voidpic47();voidpicc();3.用户输入以及界面反馈用到的功能函数源代码为intregst(){charnum[12],paw1[10],paw2[10],name[10];inti;printf(请输入账号\n(11字符以内,不能含有中文字符):\n);password(num,0,11);printf(输入您的密码\n(9字符以内,不能含有中文字符):\n);password(paw1,1,9);printf(请再次输入密码:\n);password(paw2,1,9);printf(输入您的姓名:\n);gets(name);system(cls);i=xzc(num,paw1,paw2,name);returni;}voidpassword(char*a,intb,intj){charc;inti=0;while((c=getch())!='\r'){if(c==8){printf(\b\b);if(i0)i--;}elseif(ij){if(b)printf(*);elseprintf(%c,c);a[i]=c;i++;}if(i==j){printf(\a);}}a[i]='\0';printf(\n);}voidexamine(int*a,intb){while(!scanf(%d,a)){while(getchar()!='\n');printf(请输入数字!!\n);}rewind(stdin);if(b)system(cls);}voidchangepaw(inta,intb){inti;charc1[10],c2[10],c3[10];printf(请输入原密码\n);password(c1,1,9);printf(请输入新密码\n);password(c2,1,9);printf(请再次输入新密码\n);password(c3,1,9);system(cls);if(b){i=mp(aa.no,c1,c2,c3,b);if(i){eros(i);n=27;}elsen=26;}else{i=mp(rr.no,c1,c2,c3,b);if(i){eros(i);n=44;}elsen=43;}}voidinputs0(){inti=1;while(i==1){printf(1.A类\n2.B类\n3.C类\n4.D类\n5.E类\n6.F类\n);examine(&i,1);switch(i){case1:strcpy(bk.classic,A类);i=0;break;case2:strcpy(bk.classic,B类);i=0;break;case3:strcpy(bk.classic,C类);i=0;break;case4:strcpy(bk.classic,D类);i=0;break;case5:strcpy(bk.classic,E类);i=0;break;case6:strcpy(bk.classic,F类);i=0;break;default:i=1;}}}voidinputs1(inta,intb,intc,intd,inte){inti;switch(a){case1:printf(请输入图书编号:\n);examine(&bk.bh,1);default:;}switch(b){case1:printf(请输入图书名称:\n);gets(bk.name);default:;}switch(c){case1:printf(请输入图书的作者:\n);gets(bk.writer);default:;}switch(d){case1:printf(请输入该图书的库存:\n);examine(&bk.zn,1);default:;}system(cls);switch(e){case1:printf(请选择图书类别:\n);inputs0();default:;}}voidinputs2(inta,intb,intc){switch(a){case1:printf(请输入账号:\n);password(aa.no,0,11);default:;}switch(b){case1:printf(请输入密码:\n);password(aa.key,1,9);default:;}switch(c){case1:pr