SQL数据库课程设计-酒店管理系统_第1页
SQL数据库课程设计-酒店管理系统_第2页
SQL数据库课程设计-酒店管理系统_第3页
SQL数据库课程设计-酒店管理系统_第4页
SQL数据库课程设计-酒店管理系统_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、苏州市职业大学课程设计任务书课程名称:计算机语言 C起讫时间:2007-12-31 至 2008-1-4院系:计算机工程系班级:07软件测试指导教师:李金祥顾小晶系主任:宣仲良苏州市职业大学课程设计说明书名称:计算机语言C课程设计图书登记管理程序2007年12月31日至2008年1月4日共 1周院 系班 级 07软件测试姓 名马宝珠系主任教研室主任叶良指导教师 李金祥 顾小晶1. 需求分析图书登记管理系统作为一个应用软件将为学校的老师和学生提供一个对学校 图书馆深入了解并借阅、还书的平台。拥护根据系统界面的提示信息对图书馆信 息进行查询、初始化等操作系统功能需求分析描述如下:(1)查询图书:根

2、据图书编号进行查询,读者可以浏览或查询相关图书。(2)系统主菜单:若未找到相应的书籍返回到上一级目录。(3)图书登记:读者输入要查询的编号、出版社、作者姓名等信息,系统将进 行处理。(4)初始化:输入书号、书名、书籍的数量以空格隔开,建立新文件写入数据 否则初始化失败。(5)新书入库:可读入新书名称、编号、数量以空格隔开看是否有此类书籍。(6)借书菜单:可输入读者编号和所借书编号或调用借书函数执行借书功能。(7)还书菜单:可输入读者编号和所还书的编号执行还书功能, 还书后修改图 书库存量。(8)保存连接数据:方便读者了解图书登记的相关信息, 为图书管理人员和读 者带来便利。2. 总体设计下面从

3、系统的整体流程的功能模块系统界面及数据结构进行总体设计。(1)总体思想本系统主要设计思想是实现图书馆的功能机管理系统信息的查询、初始化、添加新书、借书、还书等主要功能。图书登记管理情况以文件的形式储存,系统 的人机接口系用简单的字符界面进行交互,系统的设计方法是结构化实际方法, 系统用C语言进行开发用户可以清晰的了解图书馆内的情况。(2)系统模块结构图根据需求分析结果,图书登记管理系统可以分为三大模块: 查询图书模块、 图书登记管理模块、系统控制平台。图书骨理系统系统模块结构如图:负责模块二马宝珠:主莱单模块,系统初始化模块遊増光:借书蹙邀模块马苏丿II:图书查询模块赵维永:还书系统模块.輸出

4、全部信息模块3、概要设计系统主菜单显示系统的主菜单,里面有相应的功能代码,根据选择各功能代码进入不同 的界面。功能主要包括:退出系统、查询图书、借书、还书、新书入库。查询图书信息进入此菜单功能模块,输入您要查询的图书的编号、名称、作者、出版日期 等。图书查询模块流程如图:图书登记管理模块根据功能选择进行操作,主要包括建立图书入库文件的保存与修改,借书、 还书文件的建立与修改。对系统进行初始化。4、数据结构设计图书信息和读者信息的数据结构系统云运用结构体来存放图书的编号、 作者、出版、借书、还书、新书入库,读者的编号、姓名、借书名称等信息。 下面是结构体的简单描述:typedef struct

5、bkchar book_ nu m11;char book_ name41;int book_kc;int book_xc;struct bk * n ext;book;typedef struct rdchar reader_ nu m11;char reader_ name11;char reader_book_ nu m11;struct rd * n ext ;reader;5、系统流程描述系统进行初始化后,根据提示输入图书、读者的相关信息后系统进入了主菜 单,根据选择相应的功能代码进入不同的功能菜单。主要包括退出系统、新书入库、图书查询、借书、还书、输出所有信息功能。选择代码按回车键

6、即可进入, 进入功能模块后出现了不同选象,下面以进入借宿书模块为例:进入借书模块后系统将提醒选择1可返回主菜单,选择2可正式进入借书系6、界面设计、系统主菜单 void M_Form() char ch;printf( n The main wi ndow of books man age );printf( n 0:Exit);printf( n 1:New book in store );printf( n 2:Book check);printf( n 3:Borrow book check in);printf( n 4:Retur n book check in);printf( n

7、 5:Out put all in formati on);doprintf( nn Please chose the code :);scanf( %c,&ch);fflush(stdi n); while (ch!= 0 &ch!=1 &ch!=2 &ch!=3 &ch!=4 &ch!=5);switch (ch) case 0 :exit(0);case 1 :Form_lnsert_New_Book(); break;case 2 :Form_Find_Book(); break;case 3 :Form_Borrow_Book(); break;case 4 :Form_Return

8、_Book(); break;case5 :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 3books num name quantity(Space out with blank):n

9、);for (i=0;i3;i+)seanf( %s%s%dbai.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 restarsystem ! n ); return ; for (i=0;i3;i+) if (fwrite(&bai,sizeof (struct bk),1,fp)!=1) prin

10、tf( Write date wrong ! n ); exit(0); fclose(fp);! 2dSystinitialize aoduelSystea i th blank):01 bookl 10 02 book2 20 03 hook3 30 Systes will initialize reader:Hleae enter 3 readers1 nua, naue (space oui ith blank):01 aa 02 zhao 03 zhu系统初始化界面三、新书入库模块void Insert_New_Book( char book_num, char book_name,

11、 int number) struct bk *book_fp;struct bk *p,*q,*t;q=P=h_book;while (p!=NULL&strcmp(p-book_num,book_num)!=0) q=p;p=p-next; if (strcmp(p-book_num,book_num)=0) printf( nttThis num already exist , Please reorder!n ); return ;t=( struct bk *)malloc( sizeof (struct bk);strcpy(t-book_ nu m,book_ nu m);str

12、cpy(t-book_ name,book_ name);t-book_kc=t-book_xc=nu mber;q-n ext=t;t- n ext=NULL;if (book_fp=fopen( book.dat , ab )=NULL) printf( Book file cant be founded, Initialize fail ! Please restarsystem! n ); return ; fwrite(t, sizeof (struct bk),1,book_fp);fclose(book_fp); _void print_book( struct bk *h) s

13、truct bk *p;p=h;printf( ntBook nu mtBook n ametStore qua ntitytNow qua ntityn);while (p!=NULL) printf( %10st %10s %1Odt%1Odn ,p-book_num,p-book_name,p-book _kc,p-book_xc);p=p-n ext;The main window of books manage0:ExitlNew book iostDre2:Book checkS-Borro-w book check in4:Return book check in5:Out pu

14、t all informationFlease chose Che code1Hew book instor module,Piease chose the code: 0:Return nain menulNew bDok inistDrePlease chose thiB codeEniter book1 s num name truant it vSpsice out with blank新书入库界面四、借书模块void Borrow_Book( char reader_num, char book_num) struct bk *book_p;struct rd *reader_p;b

15、ook_p=h_book;while (book_p!=NULL&strcmp(book_p-book_num,book_num)!=0)book_p=book_p-n ext;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_num,reader_num)!=0) reader_p=reader_p-n ext;if (reader_p=NULL) prin

16、tf(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-reader_book_ nu m,book_p-book_ nu m); save();load_data();

17、 _Form_Borrow_Book(); 一 一|ettcI book instare2 : Book chQGk3 * Borrow book check in4-Return book check in5 :Oust put all inf o mat ionPlease chose the code:3Book borrow nodule,Please chose the code: 0:Return main nenu1 ;Book borrQWPlease chose the code -1Enter Reader s nun amd borrow booik,* s num: (

18、Space out with blank0102This nun of reader no exist?Book borrow module .Please chose the code: 0:Rettipn main meniu1 iBook borrowPlEansE chose! tline ctril巳:_借书功能界面示成功事倒)五、还书功能模块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&

19、strcmp(book_p-book_num,book_num)!=0) book_p=book_p-n ext;if (book_p=NULL) printf( ntThis num of book no exist ! n);Form_Retur n_Book();reader_p=h_reader;while (reader_p!=NULL&(strcmp(reader_p-reader_num,reader_num)!=0) reader_p=reader_p-n ext;if (reader_p=NULL) printf(nttThis num of reader no exist!

20、 n);Form_Retur n_Book();else if (strcmp(reader_p-reader_book_num,book_num)!=0) printf(n tReader did nt borrow this book n);Form_Retur n_Book(); 一 一else book_p-book_xc=book_p-book_xc+1; strcpy(reader_p-reader_book_num,0);save();load_data(); Form_Retur n_Book(); 一 一1book instore:2:Book chock3book chie

21、ck in4:Return book check in5:Out put all informationPlease chose the code:4Return book module,Please chose the code: R&Curn main wnti1lReturn bookPlease chose the code:1Entier readerJ s nun and returrn hookJ sBock nunOSBook nami ho&klnun:01 &2Avdrp i; nu*m Reflilirr11 a nanir 01还书功誉界面六、输出所有信息模块void

22、Form_lnsert_New_Book() char ch;struct bk t;printf( n New book instor module, Please chose the code : n);printf( 0:Retur n main menun);printf( 1:New book in store);doprintf( nn Please chose the code :);scanf( %c,&ch);fflush(stdi n); while (ch!= 0 &ch!=1 &ch!=2 &ch!=3 &ch!=4 &ch!=5);switch (ch) case 0

23、 :M_Form(); break;case 1: printf( nEnter books num name quantity(Space out with blank ):);scanf( %s%s%dt.book_num,t.book_name,&t.book_kc); fflush(stdi n);In sert_New_Book(t.book_ nu m,t.book_ name,t.book_kc); Form_ln sert_New_Book(); 一一一default :printf(errorn );exit(0);Th main window of books manage

24、1:New book instore2:Book check3:Borrow book check in4:Return book check in5:Out put all informationPlease chose the code:50123 4 00 0 0 K B oIHUikBook name bookl book2 book35000051235Store quantity Nou guantitij10203055Readeri,s numReaderi,s nameThe num of his borrow12 3 o o o输出所有信息界面程序清单:#in elude

25、#in elude vgraphics.h#in clude #in clude typedef struct bk char book_ nu m11;char book_ name41;int book_kc;int book_xc;struct bk * n ext;book;typedef struct rdchar reader_ nu m11;char reader_ name11;char reader_book_ nu m11; struct rd * n ext ;reader;struct bk * h_book,* h_reader; void Form Insert N

26、ew 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 *);void Return_Book( char *, char *); void print_book( struct bk *); void print_reader( struct rd *); void load_data();

27、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( n 3:Borrow book check in);printf( n 4:Return book check in );printf( n 5:Out put all information ); dop

28、rintf( 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 :load_

29、data();print_book(h_book);print_reader(h_reader);M_Form(); default :printf( errorn );exit(0);void Form_Find_Book() char ch;char book_num11;printf( printf( printf(n Book check module ,Please chose the code :n ); 0:Return to main menun); 1:Book check );doprintf( nn Please chose the code:);scanf( %c,&c

30、h);fflush(stdin); while (ch!= 0 &ch!=1 );switch (ch) case 0 :M_Form(); break ;case 1 : printf( nEnter need book s num: );scanf( %s,book_num);fflush(stdin);Find_Book(book_num); Form_Find_Book();default :printf( errorn );exit(0);void Find_Book( char book_num) struct bk *p;p=h_book;while (p!=NULL&strcm

31、p(p-book_num,book_num)!=0) p=p-next;if (p=NULL) printf( ntThe num of book no exist! n );else printf( ntBook numtBook nametStoreroom quantitytNow quantity n );printf( %10st %10st %dt %dtn,p-book_num,p-book_name,p-book_kc,p-book_xc);getch();void init_book() book ba3;FILE *fp;int i;printf( n System wil

32、l initialize,Book initialize module :n);printf( n Enter 3books num,name,quantity (Space out with blank ): n );for (i=0;i3;i+)scanf( %s%s%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, Initializ

33、e fail! Please restarsystem ! 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 already 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

34、=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 restarsystem! n ); 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 namet

35、Store 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 print_reader( struct rd *h) struct rd *p;p=h;printf( ntReaders numtReads nametThe num of his borrown);while (p!=NULL) printf( %10st %10s %10sn ,p-reader_num,p-reade

36、r_name,p-reader _book_num);p=p-next;getch();void Form_Borrow_Book() char ch;char book_num11,reader_num11;printf( n Book borrow module , Please chose the code : n );printf( 0:Return main menun );printf( 1:Book borrown );doprintf( nn Please chose the code :);scanf( %c,&ch); fflush(stdin); while (ch!=

37、0 &ch!=1 );switch (ch) case 0 :M_Form(); break ;case 1 : printf( nEnter reads numand borrow books num:(Space out with blank ) );scanf( %s%s,reader_num,book_num); fflush(stdin);Borrow_Book(reader_num,book_num); Form_Borrow_Book();default :printf( errorn );exit(0);void Borrow_Book( char reader_num, ch

38、ar 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_num,reader_num)!

39、=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-reader_book_n

40、um,book_p-book_num);save();load_data();Form_Borrow_Book();void Form_Return_Book() char ch;char book_num11,reader_num11;printf( n Return book module , Please chose the code : n );printf( 0:Return main menun );printf( 1:Return bookn );doprintf( nn Please chose the code:);scanf( %c,&ch);fflush(stdin);

41、while (ch!= 0 &ch!=1 );switch (ch) case 0 :M_Form(); break ;case 1 : printf( nEnter readers num and return books num:( Space out withblank );scanf( %s%s,reader_num,book_num);fflush(stdin);Return_Book(reader_num,book_num);Form_Return_Book();default :printf( errorn );exit(0); void Return_Book( char re

42、ader_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_Return_Book();reader_p=h_reader;while (reader_p!=NULL&(strcmp(reader_p-reader_num, r

43、eader_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 borrow this bookn);Form_Return_Book();else book_p-book_xc=book_p-book_xc+1; strcpy(reader_p-reader_book_num, 0 ); save

44、();load_data();Form_Return_Book();void init_reader() FILE *fp;reader ra3;int i;printf( n System will initialize reader:n);printf( n Enter 3 readers numand name( Space out with for (i=0;i3;i+)scanf( %s%s,rai.reader_num,rai.reader_name);for (i=0;i3;i+) strcpy(rai.reader_book_num, 0 );if (fp=fopen( rea

45、der.dat , wb )=NULL) printf( Readers file cant be founded , initialize fail system! n ); return ; for (i=0;inext=book_p1;book_p3=book_p2;book_p2=book_p1; book_p3-next=NULL;free(book_p1); fclose(fp_book);fp_reader=fopen( reader.dat ,rb ); reader_p1=( struct rd *)malloc( sizeof ( struct rd); fread(reader_p1, sizeof ( struct rd),1,fp_reader); h_reader=reader_p3=reader_p2=reader_p1;while

温馨提示

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

评论

0/150

提交评论