您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > C语言程序设计报告-图书管理系统.
南京航空航天大学金城学院《C语言程序设计》课程设计报告图书信息管理系统学号:姓名:学号:姓名:日期:目录一、需求分析:………………………………………………………3二、程序的主要功能:……………………………………………….3三、程序运行平台:………………………………………………….3四、系统总框架图:………………………………………………….6五、程序类的说明:……………………………………………….6六、模块分析:……………………………………………………….8七、比较有特色的函数:…………………………………………….9八、存在的不足与编程体会…………………………………………10九、程序源代码:…………………………………………………….10一、需求分析设计与分析一个图书信息管理系统,能够对图书的根据书名、价格或出版社进行统计、处理和更新,并且可以方便学校老师和领导对图书进行整体分析。二、程序的主要功能图书信息界面美观、简洁,采用菜单式显示功能选择;能够从磁盘文件输入和输出数据;能够对图书信息进行检索操作;具有增、删、改信息的功能;使用结构体链表数据类型对图书信息进行描述和存储。三、程序运行平台VC6.0运行程序“library.exe”,进入登录界面如下************欢迎光临********************************图书信息管理系统************************============1-用户登录=======================0-退出系统===========请输入您的选择:一、输入1进行登录------------------*图书信息管理系统*------------------********************************************************************************************||1-添加图书2-删除图书||||3-图书列表4-图书排序||||5-查询图书6-修改图书||||7-录入数据0-退出系统||********************************************************************************************请输入所选择的序号:选择1进入添加图书模块:请输入您要添加的图书的编号:选择2进入删除图书信息模块:请输入要删除的图书编号:选择3进入显示图书列表模块图书信息列表如下==========================================================编号图书名作者名出版社类别出版时间价格2222222.003333333.003315525525.005555555.00==========================================================:选择4.进入修改个人信息模块1-按姓名修改请输入您的数字选择:选择5.进入图书排序模块================================================================**1-按图书编号排序2-按出版时间排序****3-按图书价格排序4-按图书名排序****5-按作者名排序0-取消排序操作**================================================================请输入您选择的编号:选择6.进入修改图书模块*请输入要修改的图书编号:选择7.进入录入信息模块注意:输入图书编码为0时结束!请输入图书编号:选择0.退出系统四、系统总框架图主函数写文件用户操作读文件添加信息删除信息查询信息修改信息五、程序类的说明structbook{intnum;charbname[50];charwname[20];charpress[50];charsort[50];inttime;floatprice;structbook*next;//定义文件头指针};六、模块分析1.添加模块系统将提示用户输入新添加的图书的信息,插入在链表中2.删除模块首先由用户输入图书的编号,然后由删除模块判断p-num和用户输入的编号是否相同,相同则从链表中删除。3.图书列表模块传递一个头指针给print_book函数,若头指针不为空,则将整个链表的数据输出。4.图书排序模块首先由用户判断由什么关键词进行排序,然后运行相应的运行模块。5.查询图书模块系统将会把所有航班的信息显示出来。由用户输入图书的编号,判断是p-num和用户输入的编号是否相同,相同则输出。6.修改图书模块按照编号检索,然后修改相应的内容。7.录入模块用while循环批量录入图书信息。0.退出系统七、比较有特色的函数voidnum_paixu(structbook*head){structbook*a[1000],*p,*p1,*temp;inti,k,index,n=0;charb;p1=head;for(p=head;p;p=p-next)n++;for(i=0;in;i++){a[i]=p1;p1=p1-next;}for(k=0;kn-1;k++){index=k;for(i=k+1;in;i++){if(a[i]-numa[index]-num)index=i;}temp=a[index];a[index]=a[k];a[k]=temp;}printf(排序成功!\n);printf(是否显示排序结果?(y/n)\n);scanf(%s,&b);getchar();switch(b){case'n':break;case'y':printf(================================================================\n);printf(**编号图书名作者名出版社类别出版时间价格**\n);for(i=0;in;i++){printf(**%d%s%s%s%s%d%.2f**\n,a[i]-num,a[i]-bname,a[i]-wname,a[i]-press,a[i]-sort,a[i]-time,a[i]-price);}printf(================================================================\n);break;default:printf(您的输入有误!\n);break;}}八、存在的不足与对策、编程体会。排序的方式过于复杂,有待改进。九、参考文献百度文库十、程序源代码#includestdio.h#includestdlib.h#includestring.hstructbook{intnum;charbname[50];charwname[20];charpress[50];charsort[50];inttime;floatprice;structbook*next;//定义文件头指针};structbook*creatbook();//创建链表structbook*addbook(structbook*head);//添加图书intyanzheng(structbook*head,intm);//验证新添加的图书编码是否已存在voiddeletebook(structbook*head);//删除图书voidfprint(structbook*head);//将链表写入文件structbook*load();//从文件中读取信息并建成链表voidprint_book(structbook*head);//将链表信息输出voidchaxun(structbook*head);//查询图书信息voidnum_chaxun(structbook*head);//按图书编号查询图书voidwname_chaxun(structbook*head);//按作者名查询图书voidsort_chaxun(structbook*head);//按类别查询图书voidtime_chaxun(structbook*head);//按出版时间查询图书voidbname_chaxun(structbook*head);//按图书名查询图书voidxiugai(structbook*head);//修改图书信息voidpaixu(structbook*head);//对图书进行排序voidnum_paixu(structbook*head);//按图书编号排序voidtime_paixu(structbook*head);//按图书出版时间排序voidprice_paixu(structbook*head);//按图书价格排序voidbname_paixu(structbook*head);//按图书名排序voidwname_paixu(structbook*head);//按作者名排序intmain(){intchoice,n,x,y=1,c,c1=1234;chara,d,b[10],b1[10]=yjk;structbook*head=NULL;while(y){system(cls);printf(\n\n\n\n\n\n\n);printf(**********欢迎光临**********\n\n);printf(**********************图书信息管理系统************************\n\n\n);printf(\n\n);printf(============1-用户登录===========\n);printf(============0-退出系统===========\n);printf(请输入您的选择:);scanf(%d,&n);printf(\n);getchar();switch(n){case0:y=0;break;case1:printf(请输入您的用户名:);gets(b);printf(\n);printf(请输入您的密码:);scanf(%d,&c);printf(\n);if(strcmp(b,b1)!=0||c!=c1){printf(验证失败,请重新输入!\n);scanf(%c,&d);getchar();system(cls);}else{printf(验证通过!请按Enter键进入!\n);scanf(%c,&d);getchar();x=1;while(x){system(cls);printf(------------------\n);printf(*图书信息管理系统*\n);printf(------------------\n\n);printf(**********************************************\n\n);printf(**********************************************\n\n);printf(||1-添加图书2-删除图书||\n\n);printf(||3-图书列表4-图书排序||\n\n);printf(||5-查询图书6-修改图书||\n\n);printf(||7-录入数据0-退出系统||\n\n);printf(**********************************************\n\n);printf(**********************************************\n\n);printf(请输入所选择的序号:);scanf(%d,&choice);getchar();system(cls);switch(choice){case0:x=0;break;case1:head=load();if(head==NULL){printf
本文标题:C语言程序设计报告-图书管理系统.
链接地址:https://www.777doc.com/doc-2724351 .html