搜档网
当前位置:搜档网 › C语言程序设计 图书馆管理系统

C语言程序设计 图书馆管理系统

C语言程序设计 图书馆管理系统
C语言程序设计 图书馆管理系统

题目:图书馆管理系统

院系:信息科技学院

专业:

姓名:

学号:

指导教师:

日期: 2015年7月15日

桂林电子科技大学信息科技学院实训报告

目录

1 问题定义 =================================1

2 系统设计 ---------------------------------5 2.1 总体设计 ---------------------------------5 2.2 详细设计 ---------------------------------6 2.2.1 数据结构设计 ---------------------------------6 2.2.2 主控流程 ---------------------------------8 2.2.

3 增加信息模块 ---------------------------------7 2.2.

4 查找信息模块 ---------------------------------7 2.2.7 删除信息模块 ---------------------------------7 2.2.8 修改信息模块 ---------------------------------7

2.2.8 数据功能描述 ---------------------------------7

3 系统实现 ================================ 2 3.1 编码 -------------------------------- 8

3.1.1 程序预处理 -------------------------------- 9

3.1.2 主函数main() --------------------------------- 9

3.1.3 主菜单界面 -------------------------------- 11

3.1.7 增加图书信息 -------------------------------- 14

3.1.8 查询图书信息 -------------------------------- 14

3.1.9 删除图书信息 -------------------------------- 15

3.2.0 修改图书信息 -------------------------------- 15

3.2 测试与调试 -------------------------------- 13

3.2.1 概述 -------------------------------- 14

3.2.2 程序测试 -------------------------------- 14 5 归纳总结 ============================================== 3 5.1 开发经验 -------------------------------- 16 5.2 实训中遇到的问题及解决方法------------------------- 16 5.3 设计中的不足之处 --------------------------------- 16

5.4 感想和心得体会 --------------------------------- 16

6 参考资料 ================================= 16

前言

课程设计环节是应用型本科院校非常重要的一个教学环节,是学完一门课后应用本课知识及以前的知识积累而进行的综合性、开放性的训练。通过课程设计,不仅能够使学生得到系统的技能训练,巩固和加强所学得专业理论知识,而且能够培养学生工程意识、创新能力、团队精神等综合素质,培养学生的设计能力和解决实际问题的能力。

C语言由于其强大的功能,丰富的表达能力,高效的代码,良好的移植性和灵活性,自1972年问世以来,经久不衰,即使现在出现了面向对象的程序设计方法和开发工具,但它仍然是人们学习程序设计的首选语言,用它训练和提高编程技术,以及开发应用程序等。

我们通过《C语言程序设计》这门课程的学习,已经能编写解决小问题的程序,对程序的开发也有了初步的认识,还掌握了C 语言的基本语法,这一过程确确实实令我们感到欣喜,有点计算机可以完成自我任务的成就感。但是,对于程序设计而言,学习C 的步伐不应该停留于此。我们最终的目的应该是掌握开发大型综合程序的方法,即遵循软件工程的开发步骤和结构化程序设计思想,用C 语言开发出解决复杂问题的大型综合程序。可是对于多数学生来说,学习了C语言后,除了应付各种考试之外,别无它用,对Turbo C语言丰富的函数知之甚少,加上DOS环境所限,因而对C语言兴趣不大,也感到C语言比较难以掌握。

本实训就是为了让学生在学完C语言后进一步了解C语言的知识,掌握C语言在软件开发方面的使用方法,希望通过此次实训,不仅能提高学生学习C语言的兴趣,更为今后学习其它专业知识及开发程序打下坚实的基础。

本指导书中有些内容借鉴了互联网上相关程序的设计思想,在此对相关者表示衷心的感谢。

由于时间、经验及水平的原因,不当、不足之处,请大家提出宝贵意见。

编者

图书馆管理系统

一.实训目的:

1.巩固C语言的三种基本结构、数组、函数调用的基本知识;

2.掌握利用C语言编写程序的基本方法,提高C语言编程技巧,培养分析问题、解决问题

的能力;

3.熟练掌握C语言的编译、调用方法。

二.实验内容

创建一个图书馆管理系统。假设系统中每本图书只包括图书名字、图书书号、图书出版社、图书作者等信息。程序的运行效果如图1.1所示,选择任意菜单中的数字,实现相应功能。

图1.1 图书管理系统功能需求

在问题定义阶段要考虑题目的可行性和需求分析,接下来进入开发阶段,完成系统设计和系统实现的任务。

2. 系统设计

2. 1 总体设计

采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。需要注意的是划分出来的模块应该相对独立但又相关,且容易理解。可以用模块化层次结构图(即模块图)来分析其任务的划分,一般从上到下进行,最上面一层是主模块,下面各层是其上一层模块的逐步细化描述。

本图书管理系统采用了数组来实现,如下图1.2所示,它由五大功能模块组成:

?增加图书信息模块。通过输入图书的书名、书号、出版社、作者来实现增加信息。?查找图书信息模块。根据增加的图书的书名来查找图书的信息。

?删除图书信息模块。根据增加的图书信息记录通过查找定位找到信息进行删除。?修改图书信息模块。根据增加的图书信息记录通过查找找到该书信息进行修改。

2.2详细设计

2.2.1数据结构设计

●图书馆信息结构体

结构体struct book将用于储存图书的基本信息,它将作为文件的数据域。

●Struct book /* 定义结构体*/

{

char Name[20]; /* 书名*/

char Number[20]; /* 书号*/

char publish[20]; /* 出版社*/

char author[10]; /* 作者*/

} book[500];

这样就定义了一个数组的结构

2.2.2 主控main()函数执行流程

2.2.3增加信息模块:主要实现图书信息的增加功能。

2.2.4查找信息模块:主要实现图书查找书籍的功能。

2.2.5删除信息模块:主要实现图书删除图书记录的功能

2.2.6修改信息模块:主要实现修改增加后的图书信息功能。

2.2.7函数功能述

?add()

函数原型:void add();

add()函数用于在增加图书信息的功能。?chazhao()

函数原型:chazhao();

chazhao()函数用于在查找图书信息的功能。

?del()

函数原型:del();

del()函数用于在删除图书信息的功能。

?xiugai()

原型函数:xiugai();

xiugai()函数用于在修改图书信息的功能。

主函数main()

整个成绩管理系统控制部分。

void main() /* 整个图书管理系统控制部分*/

{

int i;

do /* 控制返回菜单*/

{

Menu();

printf("请输入要实现的功能");

scanf("%d",&i);

if(i<=4&&i>=0) /*请输入0到4之间的数字*/

switch(i)

{

case 1 : add() ;break;

case 2 : chazhao() ;break;

case 3 : del() ;break;

case 4 : xiugai() ;break;

case 0 : exit(0) ;break;

}

else

printf("对不起,请重新输入并按回车确定\n\n");

}while(1);

}

注:图书馆信息管理系统的控制部分。

3、系统实现

3.1 编码

3.1.1 程序预处理

包括定义结构体、常量和变量、声明部分,并对它们进行初始化工作。

#include /*标准函数输入输出函数库*/

#include /*标准函数库*/

#include /*字符串函数库*/

/*^TTT^TTT^^TT^TT^TT^T函数声明部分T^TTT^T^TT^TT^TT^TT^T*/

void add(); /* 增加*/

void chazhao(); /* 查找*/

void del(); /* 删除*/

void xiugai(); /* 修改*/

void exti(); /* 退出*/

void Menu(); /* 菜单*/

/*T^^TT^TT^TT^TT^T定义结构体部分T^TTT^TT^TT^TT^TT^TT^T*/

struct book /* 定义结构体*/

{

char Name[20]; /* 书名*/

char Number[20]; /* 书号*/

char publish[20]; /* 出版社*/

char author[10]; /* 作者*/

} book[500];

#include /*标准函数输入输出函数库*/

#include /*标准函数库*/

#include /*字符串函数库*/

/*^TTT^TTT^^TT^TT^TT^T函数声明部分T^TTT^T^TT^TT^TT^TT^T*/

void add(); /* 增加*/

void chazhao(); /* 查找*/

void del(); /* 删除*/

void xiugai(); /* 修改*/

void exti(); /* 退出*/

void Menu(); /* 菜单*/

/*T^^TT^TT^TT^TT^T定义结构体部分T^TTT^TT^TT^TT^TT^TT^T*/

struct book /* 定义结构体*/

{

char Name[20]; /* 书名*/

char Number[20]; /* 书号*/

char publish[20]; /* 出版社*/

char author[10]; /* 作者*/

} book[500];

3.1.2主函数main()

main()函数主要实现了对整个程序的运行控制,以及相关功能模块的调用。

void main() /* 整个图书管理系统控制部分*/

{

int i;

do /* 控制返回菜单*/

{

Menu();

printf("请输入要实现的功能");

scanf("%d",&i);

if(i<=4&&i>=0) /*请输入0到4之间的数字*/

switch(i)

{

case 1 : add() ;break;

case 2 : chazhao() ;break;

case 3 : del() ;break;

case 4 : xiugai() ;break;

case 0 : exit(0) ;break;

}

else

printf("对不起,请重新输入并按回车确定\n\n");

}while(1);

}

3.1.3主菜单界面

{

printf("━━━━━━━━━━━━欢迎使用图书管理系统━━━━━━━━\n");

printf("┏———————————————菜单—————————————┓\n"); printf("││\n"); printf("│按'1': 增加图书信息│\n"); printf("││\n"); printf("││\n"); printf("│按'2': 查找图书信息│\n"); printf("││\n"); printf("││\n"); printf("│按'3': 删除图书信息│\n"); printf("││\n"); printf("││\n"); printf("│按'4': 修改图书信息│\n"); printf("││\n"); printf("││\n"); printf("│按'0': 退出图书管理│\n"); printf("││\n"); printf("┗—————————请选择你需要的操作————————┛\n"); printf("<<<<<<<<<<<<<<<<<<<<==================>>>>>>>>>>>>>>>>>>>> \n");

printf(" 电信工程专业1051210206\n");

}

3.14增加图书信息

用户进入系统后,输入要添加的书籍信息。

void add() /* 增加功能*/

{

int i,j;

printf("请输入要增加图书的图书数量,按回车键结束\n");

scanf("%d",&j);

for(i=0;i

{

printf("请输入要增加图书的图书名字,按回车键结束https://www.sodocs.net/doc/7b10448847.html,=");

scanf("%s",book[i].Name);

printf("请输入要增加图书的图书书号,按回车键结束book.num=");

scanf("%s", book[i].Number);

printf("请输入要增加图书的图书出版社,按回车键结束book.publish=");

scanf("%s", book[i].publish);

printf("请输入要增加图书的图书作者,按回车键结束author=");

scanf("%s",book[i].author);

}

}

3.15查找图书信息

用户进入系统后,按信息记录进行查找该图书的书籍信息。

void chazhao() /* 查找功能*/

{

int j=0;

char Name[20];

printf("请输入书的name="); /* 请输入要查找图书的书名*/

scanf("%s",Name);

for(j=0;j<500;j++) /* 找到要查找图书的书名*/

if(strcmp(book[j].Name,Name)==0)

{

printf("┏━━━━━━━┳━━━━━━━━┳━━━━━┳━━━━━┓\n");

printf("┃书名┃书号┃出版社┃作者┃\n");

printf("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");

printf(" \n");

printf(" %s ┃%s ┃%s ┃%s ┃\n",

book[j].Name,book[j].Number,book[j].publish,book[j].author) ;

break;

}

else {printf("抱歉,未找到相应书籍\n");

break;} /* 如果查找到图书的信息就输出该图书信息,否则输出sorry,未找到相应书籍*/

}

3.16 删除图书信息

用户进入系统后,按条件输入要删除的图书信息。

void del() /* 删除功能*/

{

int j=0;

char Name[20];

printf("请输入图书的书名,name="); /* 按*/

scanf("%s",Name);/* */

for(j=0;j<500;j++)/* */

if(strcmp(book[j].Name,Name)==0) /*将定位到你所要查找图书的位置*/

for(;book[j].Name[0]!='\0';j++)

book[j]=book[j+1]; /*将查找到的图书的后一本图书的信息覆盖这本图书的信息*/

book[j].Name[0]='\0'; /* 给结构体最后一个图书加上结束符*/

}

3.17 修改图书信息

用户进入系统后,按条件输入要修改的图书信息。

void xiugai() /* 修改功能*/

{

int j=0;

char Number[20];

printf("请输入要修改图书的number=");/* 请输入要修改图书的书号*/

scanf("%s",Number);

for(j=0;j<500;j++)

if(strcmp(book[j].Number,Number)==0) /*定位到你所要修改图书的位置,然后修改该书籍的相关信息*/

{

printf("请输入要修改图书的图书名字,按回车键结束https://www.sodocs.net/doc/7b10448847.html,=");

scanf("%s",book[j].Name);

printf("请输入要修改图书的图书书号,按回车键结束book.num=");

scanf("%s", book[j].Number);

printf("请输入要修改图书的图书出版社,按回车键结束book.publish=");

scanf("%s", book[j].publish);

printf("请输入要修改图书的图书作者,按回车键结束author=");

scanf("%s",book[j].author);

break;

}

3.2 测试与调试

3.2.1 概述

一般情况下,为解决一个问题所编写的程序代码较长,可能包括几百条甚至成千上万条语句。在检查并排除所有语法错误后,还会有不易发现的逻辑错误,因此要对程序进行认真仔细的测试与调试。

测试是通过运行程序发现错误的过程,常见的错误有数据溢出、数组越界、进入死循环、语句顺序颠倒、多加“;”或少加“{}”等等。调试则是确定测试中找到的错误性质并改正错误的过程。测试与调试通常交替进行,即测试——调试——再测试——再调试。

能检查出尚未发现的、各种不同类型错误的测试才是成功的测试。测试程序需要测试用例,测试用例可用如下公式表示:测试用例=测试数据+预期结果。

好的测试用例应该是用尽可能少的测试数据发现尽可能多的错误,即发现错误的概率要大。要选择合适的测试数据,使系统在运行时尽量能执行到每条语句,以测试各指令是否正确。还应分别测试输入合法数据与非法数据时,程序的运行情况,。对于合法数据,还要考虑数据的一般性与特殊性,如求最大值的问题,应测试最大值在最前面、最后面、中间某一位置的情况。

测试程序时,用监视窗口可以随时查看变量或表达式的值,有时还可以将部分程序代码用注释符暂时括起来,缩短程序,以便压缩出错代码的范围。

3.2.2 程序测试

●在主菜单中选择1

当用户输入1并按回车键后,即可进入增加图书信息功能。其输入记录过程如图3.1所示。

图3.1 增加图书信息

●在主菜单中选择2

当用户输入2并按回车键后,即可进入查找图书信息界面。其查找过程如图3.2所示,这里按书名查找了一条书名为图书的记录。

图3.2 查找图书信息

●在主菜单中选择3

当用户输入3并按回车键后,即可进入删除界面。其删除记录过程如图3.3所示,可按书名进行删除记录。

图3.3 删除图书信息

●在主菜单中选择4

当用户输入4并按回车键后,即可进入修改图书信息界面。其修改记录过程如图3.4所示。

图3.4 修改学生记录

●在主菜单中选择0

当用户输入0并按回车键后,即可执行退出管理程序的操作,。

4、系统维护

经测试与调试确认软件无错时,开发就告一段落,这时可以交付软件供用户使用,但是在软件的使用过程中还会面临更加漫长的工作,即软件维护。一般维护的工作有:更改使用中发现的错误;为适应实际环境而对程序进行修改;为满足新的需求而对程序作必要的改进等等。

5、归纳总结

5.1 开发经验

通过对本题目的开发,体会到要掌握以下几点内容。

5.2 实训中遇到的问题及解决方法

在这次的实训中,主要遇到的问题是编译环境的不同对程序也不同。还有各个函数的应用不够明确。

5.3 设计中尚存的不足之处

关于这次的程序,也有挺多不足的地方。首先,我觉得程序还不够完善,有些地方甚至有点乱;其次,有些地方好像功能有点重复了;最后,就是该程序界面不够美观大方,缺少很多基本的功能。

5.4 感想和心得体会

通过这次实训,C语言是一本需要严谨的态度来学习。在程序中一个分号就会导致整体程序无法运行,函数的调用及相关知识要掌握其中的应用知识,才能做出更好地程序,这次实训给了我对C语言产生了更多的兴趣。

6、参考资料

[1] 谭浩强. C程序设计(第三版).清华大学出版社,2005

[2] 李凤霞. C程序设计辅导与实训清华大学出版社2001

图书管理系统的设计(C语言)

图书管理系统设计 图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等 功能描述: 1.新进熟土基本信息的输入 2.图书基本信息的查询 3.对撤消图书信息的删除 4.为借书人办理注册 5.办理借书手续 6.办理换书手续 要求:以文件方式存储数据,系统以菜单方式工作。 这是本人大一第二学期初C语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中竟然在QQ网络硬盘中找到了当初的teta版,发布于此,以作纪念。

C源代码如下: #include #include #include struct book{ char book_name[30]; int bianhao; double price; char author[20];

char state[20]; char name[20]; char sex[10]; int xuehao; struct book *book_next; }; struct club{ char name[20]; char sex[10]; int xuehao; char borrow[30]; struct club *club_next; }; void Print_Book(struct book *head_book);/*浏览所有图书信息*/ void Print_Club(struct club *head_club);/*浏览所有会员信息*/ struct book *Create_New_Book();/*创建新的图书库,图书编号输入为0时结束*/ struct book *Search_Book_bianhao(int bianhao,struct book *head_book); struct book *Search_Book_name(char *b_name,struct book *head_book); struct book *Search_Book_price(double price_h,double price_l,struct book *head_book); struct book *Insert_Book(struct book *head_book,struct book *stud_book);/*增加图书,逐个添加*/

图书馆管理系统C语言程序设计

HUNAN UNIVERSITY C语言程序训练 报告 【设计目的】 图书信息包括:读者登录号、管理员登录号、图书编号、作者名、种类、出版社、图书库存、图书借出数目等. 图书信息管理系统,使之能提供以下功能: 1)系统以菜单方式工作 2)读者注册功能 3)读者登录功能 4)读者借书还书功能 5)查询读者借阅记录 6)查询在管图书信息功能 7)修改密码功能 8)管理员登录功能 9)增加、修改、删除图书功能

10)查看图书信息功能 【设计思路】 根据题目要求,应当把图书信息用结构体形式输入,应该提供以下结构体和文件的输入等操作:在程序中需要实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现:另外还需提供选择菜单实现功能,在运行时达到所要求的目的;管理员和读者登录界面及各自功能应有不同的实现。 【总体设计】 【详细设计】 图书馆管理系统 读者注册、登陆及密码修改 修改图书信息 删除图书信息 管理员登陆 查找图书信息 浏览图书信息

1.主函数 主函数设计要求简洁,只提供部分提示语和函数的调用 开始 显示一系列功能选项 n 输入n,n为1,2或3 根据n的值调用各功能模块函数 结束 源代码为 //rkou.c 程序的入口 #include #include #include #include #include"head.h" #include"fuc.h" #include"picture.h" #include"jiangzhuo1.h" #include"output.h" main() { int i=setup(); switch (i) { case 0: while(n<50) { conects(n); } default: eros(i); }

c语言最全的图书管理系统程序

题目名称:图书管理系统 算法分析: 1用结构体标出信息系统的成员:图书书号,书名,作者姓名,出版社,价格 2 利用c语言的文件知识将系统的信息存放在c盘下的“project choose.txt”的文件夹下 3 定义各个子函数(1)定义输入信息函数,将图书信息按一定格式用scanf函数输入(统计M本的信息); (2)定义输出函数,每3个表一页直到最后一个; (3)定义信息查询函数。a,定义按书号查询函数,如果输入的数字等于图书编号则输出要查询的信息;b,定义按姓名查询函数,如果输入的姓名字符串等于其中一个作者姓名字符串则输出信息;c,定义按出版社名称查找函数,如果输入的字符串等于其中出版社名称,则输出该信息; e,定义查找总函数,输入一个数选择查找方式,1-4分别对应调用abc四个函数。 (4)定义删除信息函数。输入的数字作为要删除的图书编号,输出要删除的图书信息后选择是否删除,删除后将第g+1个的信息赋给第g个,输出删除后的信息表。 (5)定义信息修改函数。输入的数字等于要修改的图书编号,输出要修改的图书信息后选择是否修改,用switch,case语句选择要修改的项目,输入n,y决定是否继续直到不继续修改,输出图书信息。 (6)定义信息统计函数。输入一个字符串作为出版社,比较M 本书的出版社字符串是否等于输入的字符串,统计相等的个数n输出。 (7)定义图书编号排序函数。用冒泡排序法将M本的书的图书编号按从大到小的顺序排列后输出。 4 定义主函数。调用读取文件函数,输入数字1-5分别对应调用

修改图书信息函数,删除图书信息函数,查找图书信息函数,统计图书信息函数,图书排行信息函数,0表示退出系统。最后调用保存文件函数。结束程序。 流程设计:

图书馆管理系统 c语言编写

#include "stdio.h" #include "stdlib.h" #include "conio.h" #include "string.h" #include "math.h" #define LEN sizeof(struct library) #define LEN1 sizeof(struct reader) #define NULL 0 struct library//图书馆结构体 {int shuhao,xcl; char name[20],author[20],chuban[20]; struct library *next; }; struct reader//读者结构体 { int zhenghao; char mingzi[20],riqi[20],zname[20]; struct reader *next; }; void mainmenu() //显示主菜单 { system ("cls"); printf("\n"); printf("\t\t\t\t####################\n\n"); printf("\t\t\t\t 1.图书馆信息\n\n"); printf("\t\t\t\t 2.借阅系统\n\n"); printf("\t\t\t\t 3.退出系统\n\n"); printf("\t\t\t 请按键选择,回车确定\n"); printf("\t\t\t\t######################\n"); printf("\n"); return ; } void menu1() //显示图书馆信息菜单 { system ("cls"); printf(""); printf("\t\t\t\t####################\n\n"); printf("\t\t\t\t 1.采编入库\n\n"); printf("\t\t\t\t 2.清除库存\n\n"); printf("\t\t\t\t 3.图书查询\n\n"); printf("\t\t\t\t 4.库存一览\n\n"); printf("\t\t\t\t 5.返回上一层\n\n"); printf("\t\t\t 请按键选择,回车确定\n");

C语言编写图书管理系统

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 分类号: 单位代码: 本科毕业设计说明书 C语言编写图书管理系统 姓名李彬 学号0114 年级2008级本科3班 专业机械设计制造及其自动化 系(院)机械工程学院 指导教师李培珍 年月日

目录 第一部分.................................................. 错误!未定义书签。职业生涯规划——十年创业路................................ 错误!未定义书签。1前言................................................... 错误!未定义书签。2自我剖析................................................ 错误!未定义书签。3环境分析................................................ 错误!未定义书签。 3.1国家环境............................................. 错误!未定义书签。 3.2社会环境............................................. 错误!未定义书签。 3.3职业环境............................................. 错误!未定义书签。 3.4分析小结............................................. 错误!未定义书签。4未来人生职业规划........................................ 错误!未定义书签。5总结................................................... 错误!未定义书签。第二部分.................................................. 错误!未定义书签。C语言编写图书管理系统.................................... 错误!未定义书签。摘要.................................................... 错误!未定义书签。Abstract.................................................. 错误!未定义书签。1需求分析................................................ 错误!未定义书签。 1.1 系统需求............................................ 错误!未定义书签。 1.2 功能分析............................................ 错误!未定义书签。2系统功能模块结构图...................................... 错误!未定义书签。 2.1 系统调用的函数...................................... 错误!未定义书签。 2.2 图书管理系统模块.................................... 错误!未定义书签。 3 图书管理系统的结构...................................... 错误!未定义书签。 3.1 主函数流程图........................................ 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 3.2 实体数据结构........................................ 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。

C语言图书管理系统代码

#include #include #include struct book{ int num; char bname[50]; char wname[20]; char press[50]; char sort[50]; int time; float price; struct book *next; }; struct book *creatbook(); //创建链表 struct book *addbook(struct book *head); //添加图书 int yanzheng(struct book *head,int m); //验证新添加的图书编码是否已存在 void deletebook(struct book *head); //删除图书 void fprint(struct book *head); //将链表写入文件 struct book *load(); //从文件中读取信息并建成链表void print_book(struct book *head); //将链表信息输出 void chaxun(struct book *head); //查询图书信息 void num_chaxun(struct book *head); //按图书编号查询图书 void wname_chaxun(struct book *head); //按作者名查询图书 void sort_chaxun(struct book *head); //按类别查询图书 void time_chaxun(struct book *head); //按出版时间查询图书 void bname_chaxun(struct book *head); //按图书名查询图书 void xiugai(struct book *head); //修改图书信息 void paixu(struct book *head); //对图书进行排序 void num_paixu(struct book *head); //按图书编号排序 void time_paixu(struct book *head); //按图书出版时间排序 void price_paixu(struct book *head); //按图书价格排序 void bname_paixu(struct book *head); //按图书名排序 void wname_paixu(struct book *head); //按作者名排序 int main() { int choice,n,x,y=1,c,c1=1234; char a,d,b[10],b1[10]="yjk"; struct book *head=NULL; while(y){ system("cls"); printf("\n\n\n\n\n\n\n"); printf(" ********** 欢迎光临**********\n\n");

C语言课程设计图书管理系统

C语言课程设计 姓名:郭献安 班级:054101-13 学号:20101001871

《图书管理系统》 目录 一、题目要求及能实现的功能 (2) 二、程序总体设计 (2) 三、详细设计 1、主函数 (4) 2、各功能模块设计 (5) 四、附录 (26)

题目要求及能实现的功能 图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等,使之能提供以下功能: 1、新进图书基本信息的输入。 2、图书基本信息的查询。 3、对撤消图书信息的删除。 4、办理借书手续。 5、办理还书手续 【提示】 建立图书管理信息结构体,结构体成员包括图书馆名称、图书编号、单价啊、作者、存在状态、借书人姓名、性别、学号。存在状态设为整型,可用不同的数字代表借还状态。借书和还书手续要注意修改结构题的成员变量存在状态的值。 总体设计 欢迎进入地大图书管理系统 查阅图书借阅图书管理系统图书归还退出系统 欢迎进入管理系统 增加图书删除图书修改图书图书统计学生管理系

详细设计 1、主函数 [说明] 主函数较多、较复杂,已经和主菜单函数合并,主菜单函数里还包括了各自的二级菜单,并已经开始了对各个函数的调用。为了程序显示的清晰可读,应先清屏之后调用菜单函数。 [流程]

开始 显示一系列功能选项 N 输入n,判断n是 否是0~4? Y 调用与n 相应的模块 2、各功能模块设计 (2)查阅模块 [说明] 输入个员工信息后,浏览、查找、排序时同一个员工的所有信息都要同时显示,所以运用结构体运行。数据信息存放在文件中,一条记录对应一条学生信息,方便管理。 [流程]

图书馆管理系统 c语言

图书馆管理系统 045072班王磊

第三部分13题 一、题目要求 图书馆管理系统包括:图书名称、图书编号、单价、作者、存在状态,借书人姓名、性别、学号等,此外设计的系统须具有如下功能: 1.新进图书及基本信息输入 2.图书基本信息查询 3.对撤销图书信息的删除 4.办理借书手续 5.办理书手续 二、需求分析 根据题目要求,需建立图书管理系统结构体,结构体中应包括图书名称,图书编号,单价、作者、存在状态,借书人姓名,性别、学号等。其中存在状态设定为整形变量,可用不同的数字来表达,在该系统中用〝1〝来表示可借出,〝0〝来表示已借出。 图书信息应存放在文件中,所以提供文件的输入输出等操作;并且程序需具有实现

图书信息浏览,查找、修改等功能,并进行借出借入服务;另外还应提供键盘是选择菜单来实现功能选择。 三、总体设计 结合上述分析该系统应包括以下模块:信息输入、图书查找、信息删除,图书借出、图书归还。结构图如下 四、详细设计 1、主函数 主函数要求设计比较简洁,只提供设输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。 [流程图]

[程序] main() {int n,t; /*变量保存选择菜单数字,判断输入的数字是否在功能人能够菜单所对应的数字范围内*/ do {puts("\t\t\t***欢迎使用图书馆管理系统***\n\n\n"); puts("\t\t\t*************MENU************\n\n"); puts("\t\t\t1. 图书信息输入\n"); puts("\t\t\t2. 新图书信息录入\n");

C语言程序设计 图书馆管理系统

题目:图书馆管理系统 院系:信息科技学院 专业: 姓名: 学号: 指导教师: 日期: 2015年7月15日 桂林电子科技大学信息科技学院实训报告

目录 1 问题定义 =================================1 2 系统设计 ---------------------------------5 2.1 总体设计 ---------------------------------5 2.2 详细设计 ---------------------------------6 2.2.1 数据结构设计 ---------------------------------6 2.2.2 主控流程 ---------------------------------8 2.2. 3 增加信息模块 ---------------------------------7 2.2. 4 查找信息模块 ---------------------------------7 2.2.7 删除信息模块 ---------------------------------7 2.2.8 修改信息模块 ---------------------------------7 2.2.8 数据功能描述 ---------------------------------7 3 系统实现 ================================ 2 3.1 编码 -------------------------------- 8 3.1.1 程序预处理 -------------------------------- 9 3.1.2 主函数main() --------------------------------- 9 3.1.3 主菜单界面 -------------------------------- 11 3.1.7 增加图书信息 -------------------------------- 14 3.1.8 查询图书信息 -------------------------------- 14 3.1.9 删除图书信息 -------------------------------- 15 3.2.0 修改图书信息 -------------------------------- 15 3.2 测试与调试 -------------------------------- 13 3.2.1 概述 -------------------------------- 14 3.2.2 程序测试 -------------------------------- 14 5 归纳总结 ============================================== 3 5.1 开发经验 -------------------------------- 16 5.2 实训中遇到的问题及解决方法------------------------- 16 5.3 设计中的不足之处 --------------------------------- 16 5.4 感想和心得体会 --------------------------------- 16 6 参考资料 ================================= 16

C语言-图书管理系统教程文件

图书借阅管理系统 1.课程设计的目的 我这次做的系统是图书借阅管理系统,主要目的是利用本系统来管理图书的借阅问题,以实现图书借阅的快捷化、规范化、自动化来提高工作效率。系统以实用性,通用、开放和安全的原则。使用数据库开发软件开发制作,实现了图书借阅信息的管理,借阅图书的信息自动化添加,借阅者的个人基本信息,借阅的基本信息,对各种图书的分类管理以及各种新书的添加等一些繁琐事项。更好的管理好图书的借阅问题。大大的减少了人工的工作量,比以往很大程度上提高了工作人员的工作效率。使之成为图书馆的一个平台,成为真正的现代化科技。 为了充分利用学院现有的计算机硬件资源,做好图书借阅管理工作,提高办事效率,实现全面的、相对集中的办公自动化,开发本系统就成了当务之急,其目的主要为了彻底改变这种繁杂的管理模式,实现全面的、相对集中的、智能化的信息综合管理,为图书馆的管理工作带来方便。我想借本次课程设计之际,开发一个适用于通用大规模图书馆的管理系统,采用现学习的C++6.0开发工具开发出来的基于Windows系列的图书借阅管理系统。该系统面向所有的在校学生,实现对学生个人的借书、学生的基本信息情况等的计算机管理。系统支持工作人员对学生图书借阅信息、图书馆新书的添加、旧书的信息修改、删除等操作,确保了数据库的安全性快捷性和一致性。 2.设计方案论证 2.1主界面设计思路 本次设计这个系统利用于图书馆的图书借阅管理,该系统相比以往人工的记录方式减少了很多不比要得麻烦,大大的提高了图书馆工作人员的工作效率。这次系统的开发制作主要包括以下几个方面。 书籍统计可以查询图书的名称、作者、序号等信息,以及是否借出去了。书籍管理可以把新书添加到系统当中,修改书籍的详细资料等。注册会员功能,借阅书籍的学生必须注册会员才可以借书,通过注册会员来添加该学生的基本信息。通过系统来办理借书手续以记录该学生的借书信息。学生借书模块能够查询借阅学生的信息和该学生的借书的信息。还书模块功能,学生把书籍归还后系统会清楚该学生的借书记录。员工管理系统,把员工的信息录入系统可以快速的查阅员工的信息,是管理更方便快捷。 图书借阅管理系统功能概况,如图1所示

C语言图书管理系统实验报告完整版

C语言图书管理系统实 验报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

课程报告课程名称:程序设计实践 专业班级:信息类1110 学生姓名: 学号: 任课教师: 学期:20101-2012学年第二学期 课程报告任务书

成绩评定教师:

1 需求分析 这是一个能简单管理图书的小型图书管理系统,其中图书信息包括:书名,作者名,书编号,分类,出版单位,出版时间,价格等。通过这些信息使之提供以下功能: (1)图书信息创建功能。其中图书信息包括:书名,作者名,书编号,分类,出版单位,出版时间,价格等。(图书信息用文件保存)。 (2)图书信息查看功能。用来查看各项图书信息。 (3)图书信息查找功能。通过已知信息来查找想要的图书。 (4)图书信息的删除。可以删除特定图书。 (5)图书信息的修改。可以修改图书的各项信息。 (6)图书信息的排序功能。按图书信息对录入的图书进行排序。 (7)菜单选择功能,此功能也是图书信息信息管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能 2 概要设计 ⑴数据结构 图书管理系统中主要的数据结构包含书名、图书书号、作者名、分类、出版社、出版时间、价格等;在处理过程中各项可以作为一本图书的不同属性来进行处理。

菜单 函数的原型:void menu() 函数的功能:调用菜单,使用各项功能 程序: void menu(){ printf("\n\n*******************************<图书信息管理系 统>*******************************\n");

c语言课程设计——图书管理系统

选题三:图书管理系统(难度等级A) 一、系统功能 图书管理系统要求实现图书管理的基本功能,包括图书的录入、删除、查找和导入/导出等。图书的属性包括书号、书名、第一作者、版次、出版年等信息。 功能要求: 1.创建:创建所有图书; 2.显示:分屏显示系统中所有图书信息; 3.插入:插入一条图书记录到图书系统中; 4.删除:删除一条已经存在的图书记录; 5.查找:根据用户输入的属性值查找符合条件的图书; 6.输入/输出:可以从文件中批量导入导出已有的图书信息,也可以将系统中的图书 信息输出到文件中; 程序执行过程:循环显示主菜单,用户在Give your choice:输入选项,即按照功能列表输入数字0~8中的任意数字,按回车后,执行相应的功能。请参照前面的“菜单设计练习”的要求建立下页图所示程序运行主界面。 二、菜单功能 1.Input Records(输入若干条记录) 从键盘一次输入一本书的信息,存放到结构体数组中,然后显示。提示信息确认是否输入下一条记录。 2.Display All Records(显示所有记录) 按顺序显示所有记录,每屏显示10条记录。每显示10条记录,按键继续显 3. 输入待删除书的书名,显示该书名的所有书目,提示输入待删除书目的书号,提示是否确认删除,确认后,删除该书。 4.Sort(排序) 以书名为升序排列数组 5.Insert a Record 以书名为序排列的数组中插入一条记录,插入后,数组仍然有序。输出插入成功后的信息。 6.Query(查找并显示一个记录) 输入书名,查找并显示包含该书名的所有信息。 7.Add Record from a Text File(从文件中读入图书信息到结构体数组中)

图书管理系统(含源代码)c语言_数据结构课程设计报告

数据结构大作业 图书管理系统 工程管理121279044 伍杨 目录 一、题目要求 (2) 二、总体设计 (2) 三、编码实现 (3) 1) 定义图书结构体 (3) 2) 登记操作 (4) 3) 查看操作 (8) 4) 删除操作 (11) 5) Main函数 (20) 四、调试与测试 (26) 五、五心得体会 (28) 六、用户手册 (28)

一、题目要求 1)目的要求 本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立完成管理系统设计,以及C语言算法的掌握,并能最终实现本系统的功能要求,通过这个程序可以学习到以前调试短程序没有的的经验。 2)题目要求 实现图书管理信息系统的设计。要求实现图书添加、显示全部图书、查询、借阅和归还。主要考查利用文件的操作! 二、总体设计

三、编码实现 1)定义图书结构体 struct book{ char bookname[20]; //书名 int NO; //书编号 char type[20]; //类型 int date; //到书日期 }; struct person{ char name[10]; //姓名 char classes[20]; //班级 int number; //学号 char telephone[12]; //联系电话 int NO; //书编号 char bookname[20]; //书名 int borrowdate; //借书日期 int returndate; //还书日期

2)登记操作 void new_book() //登记新书 { FILE *fp; struct book b; int i,j; if((fp=fopen("shuku.txt","a"))==NULL){ printf("File open error!\n"); exit(0); } printf("请朱老师输入此次收到的书本总数:"); scanf("%d",&i); for(j=0;j

图书馆管理系统设计(C语言)

C程序设计报告图书管理系统

设计题目:图书管理系统 设计要求:利用C语言实现小型的图书管理系统,能够满足基本的借阅功能。 1.1问题提出:本人计划编写一个图书管理系统,主要是提供具有图书管理的程序。本人的主要工作就是,编写出一个正确的程序,使其正常运行,实现图书管理功能!1.2本系统主要会涉及的知识点:结构,数组,循环,函数,判断,指针等语句的应用。1.3主要功能要求: 功能分析:从图书馆的管理功能上分析,图书馆一共有三个方面的需求。 1 对用户的管理。 2 对图书的管理。 3 对借阅的管理。 因此,本系统也从以上三个方面进行了设计,以实现上面的功能。 具体分析如下 1 注册用户管理(以学校为样体,用户为学生) 学生信息包括:学生ID,学生姓名,学生学号,所在院系,所在班级,性别,年龄。(1)学生加入需要依次输入学生ID,学生姓名,学生学号,所在院系,所在班级,性别,年龄。不能为空。 (2)学生删除此处用一个查询功能,是你方便的找到要删除的学生,同时显示该学生的信息,并要求删除确认。 (3)学生信息修改使用系统提供的查找功能可以迅速的找到要修改的学生,并提示修改的信息。 2 图书信息管理 图书信息包括:图书ID,图书名字,图书作者,在馆状态。 (1)新书入库

(2)旧书删除 对不用的旧书可以执行该操作。 可以使用系统提供的查找符合条件的图书,并可以同步显示该图书的信息,以便确认所删图书的正确性。 (3)图书信息修改 当图书的信息发生改变的时候可以使用该功能来更新图书的信息,以保证图书信息的正确性。 操作是只要用系统提供的查找功能找到该图书,就可以在信息显示栏中对图书信息做修改。 3 图书借阅管理:图书借阅信息包括:借阅号,图书ID,学生ID,是否借出,借出日期,是否归还,归还日期。 (1)图书借阅:需要图书ID,学生ID。 (2)图书归还:需要图书ID,学生ID。 4 查询报表 (1)图书信息查询:可以按照图书ID,图书名字,图书作者实现查询。 (2)借/还纪录查询 借,还图书信息都可以按照图书ID,学生ID,日期范围灵活的查询。(3)未还图书查询 查询可以按照图书ID,学生ID,班级,院系进行,从而可以方便的进行分组管理。 2功能设计 2.1算法设计 本系统需要实现的功能要求:利用switch语句设计如图1所示的主菜单: 请输入选项编号(1~10)

图书馆管理系统c语言

图书馆管理系统c 语言

图 书馆 管理 系统 0 4507 2班 王磊

第三部分13题 一、题目要求 图书馆管理系统包括:图书名称、图书编号、单价、作者、存在状态,借书人姓名、性别、学号等,另外设计的系统须具有如下功能: 1.新进图书及基本信息输入 2.图书基本信息查询 3.对撤销图书信息的删除 4.办理借书手续 5.办理书手续 二、需求分析 根据题目要求,需建立图书管理系统结构体,结构体中应包括图书名称,图书编号,单价、作者、存在状态,借书人姓名,性别、学号等。其中存在状态设定为整形变量,可用不同的数字来表示,在该系统中用〝1〝来表示可借出,〝0〝来表示已借出。 图书信息应存放在文件中,因此提供文件的输入输出等操作;而且程序需具有实现图书信息浏览,查找、修改等功能,并进行借出借入服务;另外还应提供键盘是选择菜单来实现功能选择。

三、总体设计 结合上述分析该系统应包括以下模块:信息输入、图书查找、信息删除,图书借出、图书归还。结构图如下 四、详细设计 1、主函数 主函数要求设计比较简洁,只提供设输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。 [流程图]

[程序] main() {int n,t; /*变量保存选择菜单数字,判断输入的数字是否在功能人能够菜单所对应的数字范围内*/ do {puts("\t\t\t***欢迎使用图书馆管理系统***\n\n\n"); puts("\t\t\t*************MENU************\n\n"); puts("\t\t\t1. 图书信息输入\n"); puts("\t\t\t2. 新图书信息录入\n"); puts("\t\t\t3. 图书信息浏览\n"); puts("\t\t\t4. 图书信息查找\n");

c语言程序设计报告-图书管理系统

中国地质大学本科生课程论文封面 课程名称c语言课程设计 教师姓名樊媛媛 本科生姓名 本科生学 本科生专业 所在院系 类别: 日期: 课程设计评语

注:1、无评阅人签名成绩无效; 2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效; 3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。 目录

课程设计评语 (1) 目录 (2) 1.课程论文题目 (3) 2.程序设计思路 (4) 3.功能模块图 (4) 4.数据结构设计 (4) 5.算法设计 (5) 6.程序代码 (6) 7.程序运行结果 (15) 8.编程中遇到的困难及解决方法 (18) 9.总结心得及良好建议 (19) 10.致谢 (19) 1.课程论文题目

图书管理系统 2.程序设计思路 根据要求,图书管理系统以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保持记录以进行删除,查询,借书,还书,退出,添加等等操作;另外还有键盘式旋转菜单以实现功能选择模块。 3.功能模块图 系统功能模块图 4.数据结构设计

先写主函数main switch 选择,然后进入入信息存入文件,提供查询功能,还有删除功能以及借书还书功能。每运行一功能后都返回主界面,方便再次选择,还有设置退出模块,方便退出。 5.算法设计 先定义结构体数组struct books ,然后设置主界面,主界面出现6个功能选 项,分别是输入sr() 、借书js()、还书hs()、删除sc()、退出tc()、查询cx().各模块设计如下: 输入模块sr(),先调用文件eup ,对其进行读取,然后增加,再对其进行保存和调用。其中结构体只输入tsmc 图书名称,tsbh 图书编号,dj 单价,zz 作者, 然后自动生成,czzt 存在状态,姓名xm ,学号xh ,性别xb. 查询模块cx(),有选项图书编号和图书名称,然后选择,用if 选择,然后用for 循环查找,当输入名称与文件中的名称相同时,便显示此信息。 删除模块就是在查找功能的图书后,选择删除,将strcpy 将s[i+1]的值赋给s[i]。 借出模块也是在查询的基础上,若s[i]的存在状态为已借出,则显示已借出,无法再借,若未借出,则将s[i]的存在状态czzt 变为已借出,然后输入姓名,学号,性别,最后显示出已借出。 还书模块就是在查询的基础上,若s[i]的存在状态为未借出,则无法归还,若借出,则将存在状态变为未借出,然后自动将姓名,学号,性别变为初始值。

图书管理系统源码及课程设计报告c语言版

图书管理系统 题目: 图书管理基本业务包括:对一本书的采编入库、清除库存、借阅、和归还等等。试设计一个图书管理系统,将上述业务活动借助于计算机系统完成。 一、需求分析 1、每种书的登记容至少包括书号,书名,著者,现存量和总存量 等五项。 2、系统的操作定义及其功能定义如下: ①采编入库:新购一种书,经分类和确定书号之后的攻击到 图书账目中去,如果这种书在帐中已有,则只将总库存量增加。 ②清除库存:某种书已无保留价值,将它从图书账目中注销 ③借阅:如果将一种书的现存量大于零,则借出一本书登记 借阅者的图书证号和归还期限。 ④归还:注销对借阅者的登记,改变该书的现存量 二、概要设计 要实现上述需求,需用到查找、排序的算法及定义。 ADT StaticSearchTable { 数据对象D:D是具有相同特性的数据元素的集 合。每个数据元素含有类型相同的关键 字,可唯一标识数据元素。 数据关系R:数据元素同属一个集合。

基本操作P:Create(&ST, n); Destroy(&ST); Search(ST, key); Traverse(ST, Visit()); } ADT StaticSearchTable Create(&ST, n);操作结果:构造一个含n个数据元素的静态查找表ST。 Destroy(&ST);初始条件:静态查找表ST存在; 操作结果:销毁表ST。 int Search_Seq(SSTable ST, KeyType key) { // 在顺序表ST中顺序查找其关键字等于 //key的数据元素。若找到,则函数值为 // 该元素在表中的位置,否则为0。 ST.elem[0].key = key; // “哨兵” for(i=ST.length;ST.elem[i].key!=key; --i); // 从后往前找 return i; // 找不到时,i为0 } // Search_Seq、 动态查找表: ADT DynamicSearchTable 数据对象D:D是具有相同特性的数据元素的集 合。每个数据元素含有类型相同的关键

c语言课程设计报告·图书管理系统

第一章 §1.1题目描述 图书管理系统设计: 【要求】图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。试设计一图书管理系统,使之能提供以下功能:(1)新图书基本信息的输入; (2)图书基本信息的查询; (3)对撤销图书信息的删除; (4)办理借书手续; (5)办理还书手续; 【提示】建立图书馆里信息结构体,结构体成员包括图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号。存在状态设为整型,可用不同数字代表借还状态。借书和还书手续要注意修改结构体的成员变量存在状态的值。 §1.2算法设计 1.设计思想: 在整个系统编写的过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。由此进一步加深、巩固了所学的课程的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,参考了学校图书馆的图书管理系统,实现了程序的模块化、结构化。在主函数中调用各种函数,操作界面简单,易操作,人机互动性较强。 2.实现注释: 这个实用的小型图书管理系统程序以结构体数组指针操作完成,并实现文件信息的录入、修改和保存等功能,所有信息以磁盘文件方式保存,方便用户使用。本图书管理系统分为管理员和学生两个部分,其基本功能包括了对图书信息的存储、查询、添加、删除和借书、还书手续办理等。查询时可按书名、编号等方式查询,找到后输出这本书的所有信息。可查询图书的在库状态,方便用户进行借书、还书操作。在借书还书成功后图书的在库状态自动改变,并更新信息到数据库。系统中主要的数据结构就是图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。在处理过程中各项可以作为一本图书的不同属性来进行处理。

图书馆管理系统c语言

图书馆管理系统 045072班王磊第三部分13题 一、题目要求 图书馆管理系统包括:图书名称、图书编号、单价、作者、存在状态,借书人姓名、性别、学号等,此外设计的系统须具有如下功能: 1.新进图书及基本信息输入 2.图书基本信息查询 3.对撤销图书信息的删除 4.办理借书手续 5.办理书手续 二、需求分析 根据题目要求,需建立图书管理系统结构体,结构体中应包括图书名称,图书编号,单价、作者、存在状态,借书人姓名,性别、学号等。其中存在状态设定为整形变量,可用不同的数字来表达,在该系统中用〝1〝来表示可借出,〝0〝来表示已借出。 图书信息应存放在文件中,所以提供文件的输入输出等操作;并且程序需具有实现图书信息浏览,查找、修改等功能,并进行借出借入服务;另外还应提供键盘是选择菜单来实现功能选择。 三、总体设计 结合上述分析该系统应包括以下模块:信息输入、图书查找、信息删除,图书借出、图书归还。结构图如下 四、详细设计 1、主函数 主函数要求设计比较简洁,只提供设输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。 [流程图]

[程序] main() {int n,t; /*变量保存选择菜单数字,判断输入的数字是否在功能人能够菜单所对应的数字范围内*/ do {puts("\t\t\t***欢迎使用图书馆管理系统***\n\n\n"); puts("\t\t\t*************MENU************\n\n"); puts("\t\t\t1. 图书信息输入\n"); puts("\t\t\t2. 新图书信息录入\n"); puts("\t\t\t3. 图书信息浏览\n"); puts("\t\t\t4. 图书信息查找\n"); puts("\t\t\t5. 图书信息修改\n"); puts("\t\t\t6. 图书信息删除\n"); puts("\t\t\t7. 图书借阅\n"); puts("\t\t\t8. 图书归还\n"); puts("\t\t\t9. 退出系统\n"); puts("\t\t\t\n\n\n*****************************\n\n"); /*对功能选项的显示*/ printf("选择使用功能种类(1--9)[ ]\b\b"); scanf("%d",&n); if(n<1||n>9) {t=1;getchar();} /*对选择的数字作判断*/ else t=0;} while(t==1); /*实现选择功能*/ switch(n) {case 1:enter();break; /*输入功能*/ case 2:add();break; /*追加功能*/ case 3:browse();break; /*浏览功能*/ case 4:search();break; /*查找功能*/

相关主题