《计算机语言C》课程设计图书登记管理程序.doc
《《计算机语言C》课程设计图书登记管理程序.doc》由会员分享,可在线阅读,更多相关《《计算机语言C》课程设计图书登记管理程序.doc(19页珍藏版)》请在沃文网上搜索。
1、目录1.需求分析12.总体设计1(1)总体思想1(2)系统模块结构图2系统模块结构如图:23、概要设计24、数据结构设计35、系统流程描述36、界面设计4一、系统主菜单4二、系统初始化模块5三、新书入库模块6四、借书模块7五、还书功能模块8六、输出所有信息模块9心得体会:181 注意标题的编号级别192 中间部分只写你自己做的部分,其余放在附录中193 体会要写出你半年来的感受、心得,不能网上下载194 注意排版格式191.需求分析 图书登记管理系统作为一个应用软件将为学校的老师和学生提供一个对学校图书馆深入了解并借阅、还书的平台。拥护根据系统界面的提示信息对图书馆信息进行查询、初始化等操作
2、系统功能需求分析描述如下: (1)查询图书:根据图书编号进行查询,读者可以浏览或查询相关图书。 (2)系统主菜单:若未找到相应的书籍返回到上一级目录。 (3)图书登记:读者输入要查询的编号、出版社、作者姓名等信息,系统将进行处理。 (4)初始化:输入书号、书名、书籍的数量以空格隔开,建立新文件写入数据否则初始化失败。 (5)新书入库:可读入新书名称、编号、数量以空格隔开看是否有此类书籍。 (6)借书菜单:可输入读者编号和所借书编号或调用借书函数执行借书功能。 (7)还书菜单:可输入读者编号和所还书的编号执行还书功能,还书后修改图书库存量。 (8)保存连接数据:方便读者了解图书登记的相关信息,为
3、图书管理人员和读者带来便利。2.总体设计 下面从系统的整体流程的功能模块系统界面及数据结构进行总体设计。 (1)总体思想 本系统主要设计思想是实现图书馆的功能机管理系统信息的查询、初始化、添加新书、借书、还书等主要功能。图书登记管理情况以文件的形式储存,系统的人机接口系用简单的字符界面进行交互,系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了解图书馆内的情况。 (2)系统模块结构图 根据需求分析结果,图书登记管理系统可以分为三大模块:查询图书模块、图书登记管理模块、系统控制平台。 系统模块结构如图:3、概要设计 系统主菜单。 显示系统的主菜单,里面有相应的功能代码,根据选择
4、各功能代码进入不同的界面。功能主要包括:退出系统、查询图书、借书、还书、新书入库。 查询图书信息 进入此菜单功能模块,输入您要查询的图书的编号、名称、作者、出版日期等。图书查询模块流程如图:图书登记管理模块 根据功能选择进行操作,主要包括建立图书入库文件的保存与修改,借书、还书文件的建立与修改。对系统进行初始化。4、数据结构设计 图书信息和读者信息的数据结构系统云运用结构体来存放图书的编号、作者、出版、借书、还书、新书入库,读者的编号、姓名、借书名称等信息。 下面是结构体的简单描述:typedef struct bk char book_num11; char book_name41; int
5、 book_kc; int book_xc; struct bk * next; book; typedef struct rd char reader_num11; char reader_name11; char reader_book_num11; struct rd * next ; reader;5、系统流程描述系统进行初始化后,根据提示输入图书、读者的相关信息后系统进入了主菜单,根据选择相应的功能代码进入不同的功能菜单。主要包括退出系统、新书入库、图书查询、借书、还书、输出所有信息功能。选择代码按回车键即可进入,进入功能模块后出现了不同选象,下面以进入借宿书模块为例:进入借书模块后
6、系统将提醒选择1可返回主菜单,选择2可正式进入借书系统。选择2后,系统提示“请输入所借书的相关信息,读者的相关信息。6、界面设计一、系统主菜单注意序号的编排void M_Form() char ch; printf(nThe main window of books manage ); printf(n 0:Exit); printf(n 1:New book instore); printf(n 2:Book check); printf(n 3:Borrow book check in); printf(n 4:Return book check in); printf(n 5:Out p
7、ut all information); do printf(nn Please chose the code:); scanf(%c,&ch); fflush(stdin); while(ch!=0&ch!=1&ch!=2&ch!=3&ch!=4&ch!=5); switch(ch) case 0:exit(0); case 1:Form_Insert_New_Book();break; case 2:Form_Find_Book();break; case 3:Form_Borrow_Book();break; case 4:Form_Return_Book();break; case 5
8、:load_data();print_book(h_book);print_reader(h_reader);M_Form(); default:printf(errorn);exit(0); 二、系统初始化模块void init_book() book ba3; FILE *fp; int i; printf(n System will initialize,Book initialize module :n); printf(n Enter 3booksnum,name,quantity(Space out with blank):n ); for(i=0;i3;i+)scanf(%s%s
9、%d,bai.book_num,bai.book_name,&bai.book_kc); for(i=0;i3;i+) bai.book_xc=bai.book_kc; if(fp=fopen(book.dat,wb)=NULL) printf(Book file cant be founded ,Initialize fail!Please restar system !n); return; for(i=0;ibook_num,book_num)!=0) q=p;p=p-next; if(strcmp(p-book_num,book_num)=0) printf(nttThis num a
10、lready exist,Please reorder!n); return; t=(struct bk *)malloc(sizeof(struct bk); strcpy(t-book_num,book_num); strcpy(t-book_name,book_name); t-book_kc=t-book_xc=number; q-next=t;t-next=NULL; if(book_fp=fopen(book.dat,ab)=NULL) printf(Book file cant be founded ,Initialize fail!Please restar system!n)
11、; return; fwrite(t,sizeof(struct bk),1,book_fp); fclose(book_fp); void print_book(struct bk *h) struct bk *p; p=h; printf(ntBook numtBook nametStore quantitytNow quantityn); while(p!=NULL) printf( %10st %10s %10dt%10dn,p-book_num,p-book_name,p-book_kc,p-book_xc); p=p-next; 四、借书模块void Borrow_Book(cha
12、r reader_num,char book_num) struct bk *book_p; struct rd *reader_p; book_p=h_book; while(book_p!=NULL&strcmp(book_p-book_num,book_num)!=0) book_p=book_p-next; if(book_p=NULL) printf(ntThis num of book no exist!n); Form_Borrow_Book(); reader_p=h_reader; while(reader_p!=NULL&(strcmp(reader_p-reader_nu
13、m,reader_num)!=0) reader_p=reader_p-next; if(reader_p=NULL) printf(ntThis num of reader no exist!n); Form_Borrow_Book(); else if(strcmp(reader_p-reader_book_num,0)!=0) printf(ntalready reach the top,Cant borrow again!n); Form_Borrow_Book(); else book_p-book_xc=book_p-book_xc-1; strcpy(reader_p-reade
14、r_book_num,book_p-book_num); save();load_data(); Form_Borrow_Book(); 五、还书功能模块void Return_Book(char reader_num,char book_num) struct bk *book_p; struct rd *reader_p; book_p=h_book; while(book_p!=NULL&strcmp(book_p-book_num,book_num)!=0) book_p=book_p-next; if(book_p=NULL) printf(ntThis num of book no
15、 exist!n); Form_Return_Book(); reader_p=h_reader; while(reader_p!=NULL&(strcmp(reader_p-reader_num,reader_num)!=0) reader_p=reader_p-next; if(reader_p=NULL) printf(nttThis num of reader no exist!n); Form_Return_Book(); else if(strcmp(reader_p-reader_book_num,book_num)!=0) printf(ntReader didnt borro
16、w this bookn); Form_Return_Book(); else book_p-book_xc=book_p-book_xc+1; strcpy(reader_p-reader_book_num,0); save();load_data(); Form_Return_Book(); 六、输出所有信息模块void Form_Insert_New_Book() char ch; struct bk t; printf(n New book instor module,Please chose the code:n); printf( 0:Return main menun); pri
17、ntf( 1:New book instore); do printf(nn Please chose the code:); scanf(%c,&ch); fflush(stdin); while(ch!=0&ch!=1&ch!=2&ch!=3&ch!=4&ch!=5); switch(ch) case 0:M_Form();break; case 1: printf( nEnter books num name quantity(Space out with blank):); scanf(%s%s%d,t.book_num,t.book_name,&t.book_kc); fflush(
18、stdin); Insert_New_Book(t.book_num,t.book_name,t.book_kc); Form_Insert_New_Book(); default:printf(errorn);exit(0); 程序清单:#include #include #include #include typedef struct bk char book_num11; char book_name41; int book_kc; int book_xc; struct bk * next; book; typedef struct rd char reader_num11; char
19、 reader_name11; char reader_book_num11; struct rd * next ; reader; struct bk * h_book,* h_reader; void Form_Insert_New_Book();void Form_Find_Book();void Form_Borrow_Book(); void Form_Return_Book();void Find_Book(char *); void Insert_New_Book(char *,char * ,int ); void Borrow_Book(char *,char *); voi
20、d Return_Book(char *,char *);void print_book(struct bk *); void print_reader(struct rd *); void load_data();void init_reader();void init_book();void save();void M_Form() char ch; printf(nThe main window of books manage ); printf(n 0:Exit); printf(n 1:New book instore); printf(n 2:Book check); printf
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机语言C 计算机语言 课程设计 图书 登记 管理程序