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.需求分析 图书登记管理系统作为一个应用软件将为学校的老师

2、和学生提供一个对学校图书馆深入了解并借阅、还书的平台。拥护根据系统界面的提示信息对图书馆信息进行查询、初始化等操作 系统功能需求分析描述如下: (1)查询图书:根据图书编号进行查询,读者可以浏览或查询相关图书。 (2)系统主菜单:若未找到相应的书籍返回到上一级目录。 (3)图书登记:读者输入要查询的编号、出版社、作者姓名等信息,系统将进行处理。 (4)初始化:输入书号、书名、书籍的数量以空格隔开,建立新文件写入数据否则初始化失败。 (5)新书入库:可读入新书名称、编号、数量以空格隔开看是否有此类书籍。 (6)借书菜单:可输入读者编号和所借书编号或调用借书函数执行借书功能。 (7)还书菜单:可输

3、入读者编号和所还书的编号执行还书功能,还书后修改图书库存量。 (8)保存连接数据:方便读者了解图书登记的相关信息,为图书管理人员和读者带来便利。2.总体设计 下面从系统的整体流程的功能模块系统界面及数据结构进行总体设计。 (1)总体思想 本系统主要设计思想是实现图书馆的功能机管理系统信息的查询、初始化、添加新书、借书、还书等主要功能。图书登记管理情况以文件的形式储存,系统的人机接口系用简单的字符界面进行交互,系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了解图书馆内的情况。 (2)系统模块结构图 根据需求分析结果,图书登记管理系统可以分为三大模块:查询图书模块、图书登记管理

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

5、述: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 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

7、 2:Book check"); printf("n 3:Borrow book check in"); printf("n 4:Return book check in"); printf("n 5:Out put all information"); do printf("nn Please chose the code:"); scanf("%c",&ch); fflush(stdin); while(ch!='0'&&ch!='1

8、'&&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_Re

9、turn_Book();break; case '5':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,

10、name,quantity(Space out with blank):n "); for(i=0;i<3;i+)scanf("%s%s%d",bai.book_num,bai.book_name,&bai.book_kc); for(i=0;i<3;i+) bai.book_xc=bai.book_kc; if(fp=fopen("book.dat","wb")=NULL) printf("Book file can't be founded ,Initialize fail!Plea

11、se restar system !n"); return; for(i=0;i<3;i+) if(fwrite(&bai,sizeof(struct bk),1,fp)!=1) printf("Write date wrong!n"); exit(0); fclose(fp); 三、新书入库模块void Insert_New_Book(char book_num,char book_name,int number) struct bk *book_fp; struct bk *p,*q,*t; q=p=h_book; while(p!=NULL&a

12、mp;&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_num,book_num); strcpy(t->book_name,book_name); t->book_kc=t->

13、;book_xc=number; q->next=t;t->next=NULL; if(book_fp=fopen("book.dat","ab")=NULL) printf("Book file can't be founded ,Initialize fail!Please restar system!n"); return; fwrite(t,sizeof(struct bk),1,book_fp); fclose(book_fp); void print_book(struct bk *h) struct

14、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(char reader_num,char book_num) struct bk *book_p; struct rd *r

15、eader_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)!=0)

16、 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,Can't borrow again!n"); Form_Borrow_Book(); else book_p->book_xc=boo

17、k_p->book_xc-1; strcpy(reader_p->reader_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) boo

18、k_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,reader_num)!=0) reader_p=reader_p->next; if(reader_p=NULL) printf("nttThis num of reader no exist!n&quo

19、t;); Form_Return_Book(); else if(strcmp(reader_p->reader_book_num,book_num)!=0) printf("ntReader didn't borrow 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();

20、六、输出所有信息模块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"); printf(" 1:New book instore"); do printf("nn Please chose the code:"); scanf("%c",&ch); fflush

21、(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 book's num name quantity(Space out with blank):");

22、 scanf("%s%s%d",t.book_num,t.book_name,&t.book_kc); fflush(stdin); Insert_New_Book(t.book_num,t.book_name,t.book_kc); Form_Insert_New_Book(); default:printf("errorn");exit(0); 程序清单:#include <stdio.h> #include <graphics.h>#include <math.h> #include <string

23、.h> 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 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();v

24、oid 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();void init_reader();void init_book();void

25、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

26、5:Out put 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 '

27、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_data();print_book(h_book);print_reader(h_reader);M_Form(); default:printf("errorn&q

28、uot;);exit(0); void Form_Find_Book() char ch; char book_num11; printf("n Book check module,Please chose the code:n"); printf(" 0:Return to main menun"); printf(" 1:Book check"); do printf("nn Please chose the code:"); scanf("%c",&ch); fflush(stdi

29、n); while(ch!='0'&&ch!='1'); switch(ch) case '0':M_Form();break; case '1': printf(" nEnter need books num:"); scanf("%s",book_num); fflush(stdin); Find_Book(book_num); Form_Find_Book(); default:printf("errorn");exit(0); void Find_

30、Book(char book_num) struct bk *p; p=h_book; while(p!=NULL&&strcmp(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"

31、,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 will initialize,Book initialize module :n"); printf("n Enter 3booksnum,name,quantity(Space out with blank):n "); for(i=0;i<3;i+)scanf("%s%s%

32、d",bai.book_num,bai.book_name,&bai.book_kc); for(i=0;i<3;i+) bai.book_xc=bai.book_kc; if(fp=fopen("book.dat","wb")=NULL) printf("Book file can't be founded ,Initialize fail!Please restar system !n"); return; for(i=0;i<3;i+) if(fwrite(&bai,sizeof(s

33、truct bk),1,fp)!=1) printf("Write date wrong!n"); exit(0); fclose(fp); void init() int drive=DETECT,mode=0; initgraph(&drive,&mode,""); init_book(); init_reader(); void Insert_New_Book(char book_num,char book_name,int number) struct bk *book_fp; struct bk *p,*q,*t; q=p=h_

34、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_num,book_num); strcpy(t->book_name,book_name)

35、; t->book_kc=t->book_xc=number; q->next=t;t->next=NULL; if(book_fp=fopen("book.dat","ab")=NULL) printf("Book file can't be founded ,Initialize fail!Please restar system!n"); return; fwrite(t,sizeof(struct bk),1,book_fp); fclose(book_fp); void print_book(

36、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 print_reader(struct rd *h) struct rd *p; p=h; printf("

37、ntReader's numtRead's nametThe num of his borrown"); while(p!=NULL) printf(" %10st %10s %10sn",p->reader_num,p->reader_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,Ple

38、ase chose the code:n"); printf(" 0:Return main menun"); printf(" 1:Book borrown"); do printf("nn Please chose the code:"); scanf("%c",&ch); fflush(stdin); while(ch!='0'&&ch!='1'); switch(ch) case '0':M_Form();break; cas

39、e '1': printf(" nEnter read's num and borrow book's 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,c

40、har 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&&(s

41、trcmp(reader_p->reader_num,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,Can't borrow again!n"); Fo

42、rm_Borrow_Book(); else book_p->book_xc=book_p->book_xc-1; strcpy(reader_p->reader_book_num,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(&q

43、uot; 0:Return main menun"); printf(" 1:Return bookn"); do printf("nn Please chose the code:"); scanf("%c",&ch); fflush(stdin); while(ch!='0'&&ch!='1'); switch(ch) case '0':M_Form();break; case '1': printf(" nEnter re

44、ader's num and return book's num:(Space out with blank)"); 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 reader_num,char book_num) struct bk *book_p; str

45、uct 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,reader

46、_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 didn't borrow this bookn"); Form_Return_Book(); else book_p->book_xc=book_p-&g

47、t;book_xc+1; strcpy(reader_p->reader_book_num,"0"); save();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' num and name(Space out with blank):n "); for(i=0;i&

48、lt;3;i+) scanf("%s%s",rai.reader_num,rai.reader_name); for(i=0;i<3;i+) strcpy(rai.reader_book_num,"0"); if(fp=fopen("reader.dat","wb")=NULL) printf("Reader's file can't be founded,initialize fail!Please restar system!n"); return; for(i=0;i

49、<3;i+) if(fwrite(&rai,sizeof(struct rd),1,fp)!=1) printf("Write date wrong!n"); exit(0); 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"); printf(" 1:New book instore

50、"); 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; ca

51、se '1': printf(" nEnter book's num name quantity(Space out with blank):"); scanf("%s%s%d",t.book_num,t.book_name,&t.book_kc); fflush(stdin); Insert_New_Book(t.book_num,t.book_name,t.book_kc); Form_Insert_New_Book(); default:printf("errorn");exit(0); void

52、 load_data() struct bk *book_p1,*book_p2,*book_p3; struct rd *reader_p1,*reader_p2,*reader_p3; FILE *fp_book,*fp_reader; fp_book=fopen("book.dat","rb"); book_p1=(struct bk *)malloc(sizeof(struct bk); fread(book_p1,sizeof(struct bk),1,fp_book); h_book=book_p3=book_p2=book_p1; while(! feof(fp_book) book_p1=(struct bk *)malloc(sizeof(struct bk); fread(book_p1,sizeof(struct bk),1,fp_book); book_p2->next=book_p1;book_p3=book_p2;book_p2=book_p1; book_p3->next=NULL; free(book_p1); fclose(fp_book); fp_reader=fopen("reader.da

温馨提示

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

评论

0/150

提交评论