《程序设计实践》课程报告统一格式

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1课程报告课程名称:程序设计实践专业班级:计算机科学与技术1203班学生姓名:董鹏军学号:201216010305任课教师:张苗学期:2012-2013学年第二学期2课程报告任务书题目图书信息管理系统主要内容开发一个图书信息管理系统,图书信息包括:图书编号、书名、作者、出版社、类别、出版时间、价格等基本信息(也可以根据自己情况进行扩充,比如是否借出、库存量等)。使之能提供以下基本功能:(1)图书信息录入功能(图书信息用文件保存)--输入(2)图书信息浏览功能--输出(3)查询功能(至少一种查询方式)、排序功能(至少一种排序方式):①按书名查询②按作者名查询③按照价钱排序④按出版时间排序等等(4)图书信息的删除与修改扩展功能:可以按照自己的程度进行扩展。比如(1)简单的权限处理(2)报表打印功能(3)甚至根据自己情况,可以加上学生信息,并扩充为图书借阅系统。(4)模糊查询(5)综合查询(6)统计功能比如统计处某一类别的图书信息或筛选出小于指定数量库存的图书信息等等,总之,可以根据自己需求进行分析功能。任务要求一、提交材料应包括:(1)系统源代码(2)课程报告二、整个设计过程具体要求(1)需求分析要求学生对案例系统进行分析,设计出需要完成的功能,完善各个模块的调用关系;(2)设计过程要求学生进一步明确各模块调用关系,进一步完善模块函数细节(函数名、参数、返回值等)(3)实现过程要求学生养成良好的编码习惯、完成各个模块并进行测试,最终完成系统整体测试;(4)总结阶段按照要求完成系统设计和实现报告,并进行总结、答辩。成绩评定报告撰写情况(30分)系统完成情况(30分)答辩情况(40分)总分内容20分规范程度5分程序测试5分基本功能20分扩展功能10分自述情况10分答辩情况30分成绩评定教师:31需求分析根据题目要求,应当把图书信息用结构体形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后把图书信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;在程序中需实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现;另外还需提供键盘式选择菜单实现功能,在运行时达到所要目的。2概要设计我的图书信息管理系统包括以下几个模块1------从文件中打开图书信息模块2------新建书库模块3------插入图书模块4------删除图书信息模块5------按编号排序模块6------输出图书信息模块7------保存图书信息到文件模块;8------查询图书信息模块对于图书信息的保存,我采用的是结构,新建的图书用链表将其连接起来,采用文件保存,程序主要包括库函数,用结构定义图书信息,定义函数,main函数,以上定义函数的实现。3详细设计(1)头函数名#includestdio.h#includestring.h#includestdlib.h(2)对书籍信息的定义structBook_List{charbook_number[20];/*图书编号*/4charbook_name[40];/*该书书名*/charbook_writter[30];/*此书的作者*/charbook_publiction[40];/*该书的出版社*/charbook_sort[30];/*图书类别*/charbook_born[20];/*出版时间*/doubleprice;/*这本书的单价*/structBook_List*next;/*图书单的单向指针*/};(3)对子函数的定义structBook_List*Creat_Book_List(structBook_List*head1);//新建图书链表voidbook_save(structBook_List*);//保存图书信息到文件structBook_List*Open_book();//从文件中读取书目信息structBook_List*book_Sort(structBook_List*head1);//对图书链表按编号排序voidPrintf_out(structBook_List*);//输出链表中的信息structBook_List*Insert_Book_list(structBook_List*);//插入图书信息structBook_List*Delete_Book_List(structBook_List*);//删除图书structBook_List*T_book_number(structBook_List*);//按书号删除structBook_List*T_book_name(structBook_List*);//按书名删除voidbook_hunt(structBook_List*head1);//搜索图书voidbook_number(structBook_List*head1);////通过图书编号检索图书信息voidbook_name(structBook_List*head1);//通过图书书名检索图书信息voidbook_writer(structBook_List*head1);//通过作者检索图书信息voidPrintf(structBook_List*);//输出单个书目的信息intCount1=0;(4)各个函数的实现1.新建链表函数的实现structBook_List*Creat_Book_List(structBook_List*head1)//新建图书链表{5structBook_List*tail,*p;charbook_number[20];/*图书编号*/charbook_name[40];/*该书书名*/charwritter[30];/*此书的作者*/charbook_publiction[40];/*该书的出版社*/charbook_sort[30];/*图书类别*/charbook_born[20];/*出版时间*/doubleprice;intsize=sizeof(structBook_List);intchoice=1;if(head1!=NULL){p=head1;while(p-next!=NULL)p=p-next;tail=p;}while(choice!=0){system(cls);printf(【建立书籍信息】\n\n);printf(请输入图书编号:);scanf(%s,book_number);printf(请输入图书出版社:);scanf(%s,book_publiction);printf(请输入图书名:);scanf(%s,book_name);printf(请输入作者:);6scanf(%s,writter);printf(请输入图书类别:);scanf(%s,book_sort);printf(请输入出版时间:);scanf(%s,book_born);printf(请输入图书价格:);scanf(%lf,&price);p=(structBook_List*)malloc(size);strcpy(p-book_number,book_number);strcpy(p-book_name,book_name);strcpy(p-book_writter,writter);strcpy(p-book_publiction,book_publiction);strcpy(p-book_sort,book_sort);strcpy(p-book_born,book_born);p-price=price;p-next=NULL;if(head1==NULL)head1=p;elsetail-next=p;tail=p;printf(是否继续建立图书信息(1/0?)\n);scanf(%d,&choice);}returnhead1;}2.插入图书信息函数的实现7structBook_List*Insert_Book_list(structBook_List*head)//插入图书信息{structBook_List*ptr1,*ptr2,*p;charbook_number[20];/*图书编号*/charbook_name[40];/*该书书名*/charwritter[30];/*此书的作者*/charbook_publiction[40];/*该书的出版社*/charbook_sort[30];/*图书类别*/charbook_born[20];/*出版时间*/doubleprice;intchoice=1;intsize=sizeof(structBook_List);while(choice==1){system(cls);printf(【插入如书籍信息】\n\n);printf(请输入图书编号:);scanf(%s,book_number);printf(请输入图书出版社:);scanf(%s,book_publiction);printf(请输入图书名:);scanf(%s,book_name);printf(请输入作者:);scanf(%s,writter);printf(请输入图书类别:);scanf(%s,book_sort);printf(请输入出版时间:);scanf(%s,book_born);printf(请输入图书价格:);8scanf(%lf,&price);p=(structBook_List*)malloc(size);strcpy(p-book_number,book_number);strcpy(p-book_name,book_name);strcpy(p-book_writter,writter);strcpy(p-book_publiction,book_publiction);strcpy(p-book_sort,book_sort);strcpy(p-book_born,book_born);p-price=price;p-next=NULL;//书库信息为空时if(head==NULL)head=p;//书库信息不为空else{ptr1=head;ptr2=head-next;while(ptr2!=NULL){ptr1=ptr1-next;ptr2=ptr2-next;}ptr1-next=p;}printf(--------此图书信息插入成功!---------\n);printf(是否继续建立图书信息(1/0?)\n);9scanf(%d,&choice);}returnhead;}3.删除图书信息函数的实现structBook_List*Delete_Book_List(structBook_List*head)//删除图书{intchoice,i=1;//链表为空if(head==NULL){printf(书库信息为空,请先建立书库信息。\n);printf(想要新建书库请输入2,退出请输入0:);scanf(%d,&choice);if(choice==2){head=Creat_Book_List(head);returnhead;}elsereturnNULL;}while(i==1){system(cls);printf(删除图书信息\n);printf(通过图书编号-----请输入1通过书名-----请输入2退出删除-----请输入0\n);10printf(请输入操作对应的输入数:);scanf(%d,&choice);switch(choice){case1:head=T_book_number(head);getchar();break;case2:head=T_book_name(head);getchar();break;case0:printf(退出删除操作成功\n);i=0;getchar();break;default:printf(输入错误,退出系统。\n);i=0;getchar();}}retur

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功