1、SQL数据库课程设计酒店管理系统教学提纲苏 州 市 职 业 大 学课程设计任务书 课程名称: 计算机语言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、数据结构设计 图书信息和读者信息的数据结构系统云运用结构体来存放图书的编号、作者、出版、借书、还书、新书入库,读者的编号、姓名、借书名称等信息。 下面是结构体的简单描述:typed
5、ef 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 2:Book check); printf(n 3:Borrow book check in); printf
7、(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&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();br
8、eak; case 4:Form_Return_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,name,quantity(Space o
9、ut 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 ,Initialize fail!Please restar system !n); return; for(i=0;ibook_num,book_num)!=0) q=p;p=p-next; if(strcmp(
10、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-book_xc=number; q-next=t;t-next=NULL; if(book_fp=fopen(book.dat,ab)=NULL) printf(Book file cant be foun
11、ded ,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 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-bo
12、ok_xc); p=p-next; 四、借书模块void Borrow_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 exist!n); Form_Borrow_Book(); reader_p=h_reader; whi
13、le(reader_p!=NULL&(strcmp(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,Cant borrow again!n); Form_Borrow_Book(); else book_p-boo
14、k_xc=book_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) book_p=book_p-next;
15、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); Form_Return_Book(); else if(strcmp(reader_p-reader_book_n
16、um,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();load_data(); Form_Return_Book(); 六、输出所有信息模块void Form_Insert_New_Book() char ch; struct bk t; printf(n New book instor module,Please chose th
17、e code:n); printf( 0:Return main menun); printf( 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
18、,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 #include #include #include typedef struct bk char book_num11; char book_name41; int book_kc; int book_xc; struct bk * next; boo
19、k; 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();void Form_Borrow_Book(); void Form_Return_Book();void Find_Book(char *); void Insert_New_Book(char *,char *
20、,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 save();void M_Form() char ch; printf(nThe main window of books manage ); printf(n 0:Exit); printf(n 1:New b
21、ook 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); 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
22、_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);exit(0); void Form_Find_Book() char ch; char book_num11; printf(n Book check module,Please
23、 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(stdin); 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_
24、Find_Book(); default:printf(errorn);exit(0); void Find_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 %d
25、tn,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;i3;i+)scanf(%s%s%d,bai.book_num,bai.book_name,&bai.book_kc); for(
26、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 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-book_xc=number; q-next=t;t-next=NULL; if(book_fp=fopen(book.dat,ab)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1