图书信息管理系统设计—C语言课程设计报告

合集下载

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

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

c语言课程设计报告图书管理系统一、教学目标本课程的目标是使学生掌握C语言的基本语法,熟悉图书管理系统的开发流程,培养学生运用C语言解决实际问题的能力。

具体目标如下:1.知识目标:–掌握C语言的基本语法和数据结构。

–理解图书管理系统的需求和设计原理。

2.技能目标:–能够使用C语言编写简单的程序。

–学会使用C语言实现图书管理系统的功能。

3.情感态度价值观目标:–培养学生的团队协作意识和沟通能力。

–增强学生对计算机科学和编程的兴趣和热情。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构以及图书管理系统的开发。

具体安排如下:1.C语言的基本语法:–变量和数据类型–运算符和表达式–函数和数组–指针和引用2.数据结构:3.图书管理系统的开发:–系统测试和优化三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性。

具体方法如下:1.讲授法:用于讲解C语言的基本语法和数据结构。

2.案例分析法:通过分析具体的图书管理系统案例,使学生更好地理解系统设计和功能实现。

3.实验法:让学生动手编写程序,巩固所学知识,提高实际操作能力。

4.小组讨论法:鼓励学生分组讨论,培养团队协作意识和沟通能力。

四、教学资源本课程所需的教学资源包括:1.教材:《C语言程序设计》2.参考书:《C Primer Plus》、《数据结构与算法分析》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、网络设备以上教学资源将用于支持教学内容和教学方法的实施,丰富学生的学习体验。

五、教学评估本课程的评估方式包括平时表现、作业、考试等。

评估方式应客观、公正,能够全面反映学生的学习成果。

具体安排如下:1.平时表现:包括课堂参与度、提问回答、小组讨论等,占总评的20%。

2.作业:包括编程练习和理论作业,占总评的30%。

3.考试:包括期中和期末考试,占总评的50%。

期中和期末考试将涵盖C语言基本语法、数据结构以及图书管理系统的开发内容。

《C语言程序设计》课程设计报告(图书信息管理系统)

《C语言程序设计》课程设计报告(图书信息管理系统)

东莞理工学院《C语言程序设计》课程设计题目:图书信息管理系统院系:会计学院专业:会计学年级:2012班别: 4班指导教师:组长:同组成员:目录一、目的 (1)二、需求分析 (1)三、概要设计 (1)四、详细设计 (3)五、调试分析 (4)六、测试结果 (5)七、用户使用说明 ................................................. 错误!未定义书签。

八、课程设计总结..................................................................................错误!未定义书签。

附录:参考代码 ..................................................... 错误!未定义书签。

图书信息管理系统 ........................................... 错误!未定义书签。

一目的本课程设计为学生提供了一个既动手又动脑,自学,查资料,独立实践的机会。

将本学期课本上的理论知识和实际有机的结合起来,锻炼学生实际分析问题和解决问题的能力,提高学生适应实际、实践编程的能力,使对C语言系统编程有一个大致的了解。

二需求分析根据图书馆图书信息管理的需要,建立一个“图书信息管理系统”,以方便对图书的各项管理操作。

开发目的如下:1、图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。

2、图书信息管理系统,提供以下功能:1)图书信息录入功能(图书信息用文件保存)--输入;2)图书信息浏览功能--输出;3)查询和排序功能:--算法;4)按书名查询;5)按作者名查询;6) 按登录号从大到小排列;7)图书信息的删除与修改三概要设计程序总体功能框架:开始界面主要提示的菜单界面插入图书信息浏览图书信息查询图书信息删除图书信息修改图书信息采用结构:struct tsxx{ //定义结构 long dlnum; //定义登录号 char bname[10]; //定义书名 char aname[10]; //定义作者名 char scnum[10]; //定义分类号 char plname[10]; //定义出版社名 char time[11]; //定义录入时间 float price; //定义价格struct tsxx * next;//定义指向下一个结构的首地址};链表结构:head各功能独立自定义的函数:1、插入图书信息(按登录号从大到小排序):struct tsxx * zengjia(struct tsxx * head)//传递链表的首地址,并返回链表的首地址 2.、浏览全部的图书信息:void Ptrint_Stu_Doc(struct tsxx *head) //传递链表的首地址3、查询图书信息(包括书名查询和作者名查询):void Check(struct tsxx * head)//传递链表的首地址4、删除图书信息:struct tsxx * Delete(struct tsxx * head)//传递链表的首地址,并返回链表的首地址 5.、修改图书信息:struct tsxx * revise(struct tsxx * head)//传递链表的首地址,并返回链表的首地址其他一些变量的定义:long size; //定义结构的大小 FILE * fp; //定义文件指针,指向文件 struct tsxx * head; //定义链表的首地址 struct tsxx * p; //定义结构指针 char choice; //定义选择变量struct tsxx Astruct tsxx Bstruct tsxx Cstruct tsxx DNULL四详细设计1、设计思路:首先,输入一些图书信息,申请一个结构类型的动态内存,把图书信息赋值到动态内存内,每一快动态内存存放一本图书的信息,并形成一条链表,比较登录号的大小,按登录号从大到小排列;然后,建立并打开一个文件,把链表中的数据写入文件中,然后关闭文件;最后,插入功能:先把所有的数据从文件中读出来,申请动态内存来存放,形成链表,输入你想要插入的图书信息,比较登录号的大小,然后把新的图书信息按照登录号的大小顺序插入链表里面,新建一个文间,把新的链表写入文件中;浏览功能:先把所有的数据从文件中读出来,申请动态内存来存放,形成链表,然后链表头开始,把结构中的数据一个一个输出到界面上;查询功能:先把所有的数据从文件中读出来,申请动态内存来存放,形成链表;选择你要查询的方式:1是按书名查询,2是按作者名查询。

图书信息管理系统——C语言课程设计报告

图书信息管理系统——C语言课程设计报告

课程设计报告课程名称 C语言程序设计课题名称图书信息管理系统专业电子技术班级 1101班学号 201101040240姓名陈正军指导教师2012年 6 月 19 日湖南工程学院课程设计任务书课程名称C语言程序设计课题图书信息管理系统专业班级电子技术1101班学生姓名陈正军学号 201101040240指导老师审批任务书下达日期 2012 年 6月 19日任务完成日期2012 年 7 月 4 日一、设计内容与设计要求1.设计内容:图书信息管理系统设计涉及的知识点:①掌握并熟练运用C语言的基本数据类型与各种表达式,程序的流程控制语句;②掌握数组的基本概念。

熟练掌握一维数组、二维数组的应用、掌握字符数组与字符串的关系以及字符串的简单处理。

③掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数之间的关系;掌握变量的作用域与生存期,了解函数的作用域。

④掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示,结构体变量的赋值含义,结构体与指针、函数的关系。

⑤掌握文件、文件类型指针的基本概念,熟练掌握文件的打开与关闭以及文件的建立、读写等有关操作。

2.设计要求:1)用C语言实现系统;利用结构体数组实现图书信息的数据结构设计;系统的各个功能模块要求用函数的形式实现;应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观。

2) 建立一个图书信息数据库,文件名为book.txt,并从该文件中读取数据;3) 图书信息管理系统应能提供以下功能:①系统以菜单方式工作②图书信息显示功能;能以表格形式显示图书库中所有信息,且应有表头。

③图书信息追加功能;追加一条(或多条)新记录,要求在追加过程中有相应的提示信息,完成追加后能重新排序和显示;④图书信息查询功能;a. 按书名查询;b. 按单价查询;c. 按出版单位查询;d. 按出版时间查询e. 按分类号查询;f. 按入库时间查询要求系统在上述查询方式中至少应有两种以上的查询方式,且能显示符合条件的所有记录。

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

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

图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。

设计一图书信息管理系统,使之能提供以下功能:(1) 系统以菜单方式工作(2) 图书信息录入功能(3) 图书信息浏览功能(4) 图书信息查询功能(5) 图书信息的删除与修改功能NY主函数流程图建立menu()函数将主函数功能提取出来,主函数main 调用menu()函数方便简捷。

void main (){menu ();}void menu (){int a;do{printf (” ******赵毅******\n") ;printf("\n");printf(”******中国地质大学******\n");printf ("\n”) ;printf ("\n\n\n\n\n\t\t\t\t 图书信息管理系统\t\t\t\t\n");printf(”\t\t*************************** **** *************\n”);printf ("\t\t\t1 —-—---—————-—-——图书信息录入\n”);printf(”\t\t\t2 -——----——--—----图书信息浏览\n”) ;printf(”\t\t\t3 ———-—-——--—-—--—图书信息查询\n");printf (” \t\t\t4 -——-—-——-—-—---—图书信息删除\n");printf("\t\t\t5 -——-------—--——-图书信息修改\n");printf ("\t\t\t6 -———-—-——————---图书信息追加\n") ;printf("\t\t\t0 -————-—-—----—-—退出图书信息系统\n”) ;printf("\t\t********************************************\n");printf(”\t\tplease choose: ") ;scanf (”%d",&a);switch (a){case 1:input() ;break;case 2:list ();break;case 3:search();break;case 4:del ();break;case 5:revise();break;case 6:append();break;case 0:exit(0);default:printf ("\n 序号不对\n”) ;}}while(a!=0);}#include<stdio.h〉#include〈stdlib.h〉#include<string.h>#include<conio.h>void menu() ;#define N 3typedef struct system{long num;char name[20];char writer[10];char sort[10];char publisher[20];long time;float price;}BOOK;N 为限定的录入图书个数(可依据不同要求变化范围)long num 为定义的登录号(长整形变量)char name[20]为定义的书名的数组char writer[10]为定义的作者的数组char sort [10]定义的分类号数组char publisher [20]定义的出版单位数组long time 定义的出版时间长整形变量float price 价格为浮点型变量。

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

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

第一章§ 1.1 题目描述图书管理系统设计:【要求】图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。

试设计一图书管理系统,使之能提供以下功能:(1)新图书基本信息的输入;(2)图书基本信息的查询;(3)对撤销图书信息的删除;(4)办理借书手续;(5)办理还书手续;【提示】建立图书馆里信息结构体,结构体成员包括图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号。

存在状态设为整型,可用不同数字代表借还状态。

借书和还书手续要注意修改结构体的成员变量存在状态的值。

§ 1.2 算法设计1.设计思想:在整个系统编写的过程中,涉及了较多 C 语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。

由此进一步加深、巩固了所学的课程的基本理论知识,培养了综合分析问题、解决问题的能力。

在设计程序时,参考了学校图书馆的图书管理系统,实现了程序的模块化、结构化。

在主函数中调用各种函数,操作界面简单,易操作,人机互动性较强。

2.实现注释:这个实用的小型图书管理系统程序以结构体数组指针操作完成,并实现文件信息的录入、修改和保存等功能,所有信息以磁盘文件方式保存,方便用户使用。

本图书管理系统分为管理员和学生两个部分,其基本功能包括了对图书信息的存储、查询、添加、删除和借书、还书手续办理等。

查询时可按书名、编号等方式查询,找到后输出这本书的所有信息。

可查询图书的在库状态,方便用户进行借书、还书操作。

在借书还书成功后图书的在库状态自动改变,并更新信息到数据库。

系统中主要的数据结构就是图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。

在处理过程中各项可以作为一本图书的不同属性来进行处理。

3 •结构体系设计图1.1 :主函数结构;图1.2 :新书信息录入流程;图 1.3 :图书信息查询(管理员)流程;图1.4 :图书信息查询(学生)流程;图 1.5 :图书信息删除流程;图 1.6 :办理借书手续流程;图 1.7 :办理还书手续流程;S1.1囹1.4•管理负功能菜单<圈书信息删除出枪索结果/S1.5>学生功能菜单办理借书手续输出檢索结果一是借书办湮成功<1 ------------------- •辐入个人信息/■图1.6^l.T1.3 程序设计及代码分析1.程序设计:下面,我大致介绍一下我的系统的主要功能和注意事项:当运行此程序时,首先进入系统主界面,然后可以选择[1]. 管理员登陆(密码:123),[2]. 学生登陆,[0]. 退出系统;选择[1] 后进入管理员系统,验证密码成功后显示管理员功能菜单,按数字键选择所需服务。

图书管理系统C语言程序设计实验报告

图书管理系统C语言程序设计实验报告
scanf("%f",&f);
books[i].price=f;
i++;
flushall();
printf("is Continue(y/n)?:");
scanf("%c",&isCon);
}
printf("\n --%d种图书信息输入完毕!--\n",i);
printf("\n按任意键返回主菜单!");
{
FILE*fp;
int i;
char filename[40];
//clrscr();
printf("\n input SAVE filename=");
scanf("%s",filename);
if ( (fp=fopen(filename, "w")) == NULL)
{
printf("\n %s file NOT open! press any key exit system.");
printf("\n input READ filename=");
scanf("%s",filename);
if ( (fp=fopen(filename, "r")) == NULL)
{
printf("\n %s file NOT open! press any key exit system.");
〔2〕执行编译操作,并根据提示调试此程序,排除所有的错误和警告。直到编译成功为止。
〔3〕执行运行操作,逐一对每个模块进行调试,直到全部程序运行成功为止。

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

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

C语言图书馆管理系统课程设计报告一、设计背景随着图书馆信息化管理的普及和发展,使用计算机进行图书馆管理已成为必然趋势。

为了提高图书馆管理工作的效率和准确性,本课程设计旨在设计一个基于C语言的图书馆管理系统。

二、设计目标1.实现对图书馆的基本信息进行添加、删除、修改和查询的功能。

2.实现对读者信息的管理,包括添加、删除、修改和查询。

3.实现借书和还书功能,包括借书时的借阅记录的生成和还书时相关操作。

4.实现图书馆管理员的登录和权限管理功能。

三、设计思路基于以上设计目标,我们将采取以下设计思路:1.设计合适的数据结构来存储图书馆、读者和借阅记录等信息。

2.设计相应的函数来实现对数据的增删改查操作。

3.设计用户界面,使用户可以方便地使用各种功能。

4.设计登录和权限管理功能,保证只有授权的管理员才能进行系统管理操作。

四、系统功能设计1. 图书馆管理功能•添加图书馆信息:输入图书馆名称、地址等信息,保存到系统中。

•删除图书馆信息:根据图书馆名称或其他唯一标识,删除相应的图书馆信息。

•修改图书馆信息:根据图书馆名称或其他唯一标识,修改相应的图书馆信息。

•查询图书馆信息:根据图书馆名称或其他唯一标识,查询相应的图书馆信息。

2. 读者管理功能•添加读者信息:输入读者姓名、年龄、性别等信息,保存到系统中。

•删除读者信息:根据读者姓名或其他唯一标识,删除相应的读者信息。

•修改读者信息:根据读者姓名或其他唯一标识,修改相应的读者信息。

•查询读者信息:根据读者姓名或其他唯一标识,查询相应的读者信息。

3. 借还书功能•借书:根据读者ID和图书ID,生成借阅记录,修改相应的图书和读者信息。

•还书:通过借阅记录中的借阅ID,找到相应的借阅记录,修改相应的图书和读者信息。

4. 登录和权限管理功能•管理员登录:输入管理员用户名和密码,验证登录信息。

•管理员权限管理:设置对应管理员的权限,包括“图书馆管理”和“读者管理”等。

五、系统实现本系统的实现将采用C语言作为开发语言,使用相关编程工具进行开发。

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

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

C语言课程设计图书管理系统Books Management System学生姓名张朝柱学院名称徐州工程学院学号20130566140班级13计转本专业名称计算机科学与技术指导教师李子龙2016年5月10日一、需求分析为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。

使用c语言编写了图书管理系统。

本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。

实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。

所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。

图书信息包括编号、书名、作者、数量、在库状态等。

图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、借阅、还书等基本操作。

整个程序实现顺序表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。

二、算法设计:1.设计思想:整个系统制造的而过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。

进一步加深、巩固了所学的专业的基本理论知识,培养了综合分析问题、解决问题的能力。

在设计程序时,实现了程序的模块化、结构化。

在主函数中调用各种子函数,操作界面简单,易操作。

2,设计表示:(1)、整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。

主要实现了图书的录入、存储、查询、借书、还书、显示库存等功能。

(2)、void Book_Entering(struct SqList &SL);这是一个录入图书信息的函数,它主要实现了顺序表的创建,并且在创建过程中从文件读取信息到顺序表中,以用于后面其他函数的操作。

图书馆管理系统C语言课程设计报告(原创)

图书馆管理系统C语言课程设计报告(原创)

课程报告任务书1需求分析开发一个图书管理系统。

一、图书信息包括图书编号、书名、作者、价格、出版社、出版日期、类别、馆藏地址、库存量。

二、系统功能包括1 新建图书信息库2查询图书信息●全部查询●按书名查询●按作者查询●按类别查询3 图书排序●按编号排序●按价格排序4 图书信息插入(插入后仍按编号顺序排放的)5 图书信息删除(按书名查找删除)6 图书信息修改(按书名查询到书后可以进行选择对各项信息进行修改)7 图书数目统计8 图书信息保存在文件中三、在主函数里设计各个功能选项,然后调用相应的自定义子函数来实现功能。

2 概要设计(1) 数据结构主要数据结构:单链表//图书信息结构体struct book{char num[L]; //图书编号char name[M]; //书名char writer[M]; //作者char publisher[M]; //出版社char time[N]; //出版日期char category[n]; //类别char room[N]; //馆藏地址double price; //价格int amount; //库存量struct book *next;};(2) 模块划分主函数void main()自定义子函数即功能函数struct book * create(); // 新建图书信息库struct book * scanf1_(); //输入单本书的信息void printf1_(struct book *); //输出单本书的信息void chaxun_(struct book *); //综合查询void chaxun_all(struct book *); //全部信息浏览void chaxun_name(struct book *); //按书名查询void chaxun_writer(struct book *); //按作者查询void chaxun_category(struct book *); //按类别查询struct book *num_order(struct book *); //按编号排序struct book *price_order(struct book *); //按价格排序struct book *delete_(struct book *); //图书信息删除void change(struct book *,char a[]); //图书信息修改struct book *insert(struct book *); //图书信息插入int count(struct book *); //图书数目统计void save(struct book *); //保存到文件struct book *load(); //从文件读取信息到链表int quit(struct book *); //退出函数(3) 程序总体框架(4) 主界面是如下3 详细设计一main()主函数程序采用模块化设计,主函数是程序的入口,各模块独立,可分块调整,均由主函数控制。

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

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

C语言课程设计报告: 图书管理系统1. 引言本报告旨在介绍一个基于C语言的图书管理系统的设计与实现。

图书管理系统是一个用于管理图书馆图书的软件,它能够方便地进行图书的借阅、归还、查询等操作,提高图书馆的管理效率。

2. 系统需求分析在设计图书管理系统之前,我们首先需要明确系统的需求。

根据需求分析,该系统需要具备以下功能:•图书的录入与管理:管理员可以添加、修改和删除图书信息,包括书名、作者、出版社、ISBN等。

•读者的管理:管理员可以添加、修改和删除读者信息,包括姓名、学号、联系方式等。

•图书借阅与归还:读者可以借阅图书,并在归还时完成相应的操作。

•图书查询:管理员和读者都可以通过关键字查询图书信息。

•预约图书:读者可以预约图书,待图书可用时通知读者。

•罚款管理:系统可以自动计算读者逾期归还图书的罚款金额,并进行相应的处理。

3. 系统设计与实现3.1 数据结构设计为了实现图书管理系统的各项功能,我们需要设计合适的数据结构来存储图书信息、读者信息等。

以下是我们设计的数据结构:•图书结构体:包括书名、作者、出版社、ISBN等信息;•读者结构体:包括姓名、学号、联系方式等信息;•借阅记录结构体:包括图书信息、读者信息、借阅日期、归还日期等信息;3.2 系统模块设计根据系统需求,我们可以将图书管理系统划分为以下几个模块:•图书管理模块:包括图书的添加、修改和删除功能;•读者管理模块:包括读者的添加、修改和删除功能;•图书借阅模块:包括图书的借阅和归还功能;•图书查询模块:包括关键字查询功能;•预约图书模块:包括图书的预约功能;•罚款管理模块:包括读者逾期归还图书的罚款管理功能;3.3 系统实现根据系统设计,我们使用C语言编写相应的代码来实现整个图书管理系统。

我们使用结构体来存储图书、读者和借阅记录的信息,并使用文件来存储这些数据。

我们可以通过菜单方式来实现用户和管理员的交互,用户可以根据需求选择相应的功能。

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

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

第三章图书管理系统的设计与实现3.1系统的需求分析图书登记管理系统作为一个应用软件将为学校的老师和学生提供一个对学校图书馆深入了解并借阅、还书的平台。

根据系统界面的提示信息对图书馆信息进行查询、初始化等操作系统功能需求分析描述如下:(1)系统主菜单:进入系统和退出系统(2)功能菜单:显示可以进行的操作(3)查询主菜单:根据图书编号、书名、作者进行查询,并可显示所有图书信息(4)借还书主菜单:可以进行借书和还书等操作3.2系统的设计3.2.1 系统的总统设计下面从系统的整体流程的功能模块、系统界面及数据结构进行总体设计。

(1)总体思想本系统主要设计思想是实现图书馆的功能机管理系统信息的查询、借书、还书等主要功能。

系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了解图书馆内的情况。

(2)系统模块结构图根据需求分析结果,图书管理系统可以分为三大模块:查询图书模块、借书功能模块、还书功能模块。

系统模块结构如图:3.2.2 系统的概要设计㈠系统主菜单。

显示系统的主菜单,里面有相应的功能代码,根据选择各功能代码进入不同的界面。

功能主要包括:退出系统、查询图书、借书、还书。

㈡查询图书信息进入此菜单功能模块,输入您要查询的图书的编号、名字、作者等。

图书查询模块流程如图:3.3 测试结果系统主界面功能菜单查询系统菜单借还系统菜单3.4 源代码# include <stdio.h> # include <stdlib.h> # include <string.h>typedef struct link {char number[100]; char bookname[100]; char author[100]; char publish[100]; char time[100];float price;char status[100]; struct link *next; }link;link *Cbook(){int n=0;link *p,*q,*head;FILE *fp;fp=fopen("图书信息.txt","r+");if(fp==NULL)printf("没有找到文件,请检查……");p=(link *)malloc(sizeof(link));if(p==NULL)printf("申请内存出错!!!\n");fscanf(fp,"%s%s%s%s%s",p->number,p->bookname,p->author,p ->publish,p->time);fscanf(fp,"%f",&p->price);fscanf(fp,"%s",p->status);while(feof(fp)==0){n++;if(n==1){head=p;}else{q=p;p=(link *)malloc(sizeof(link));if(p==NULL)printf("申请内存出错!!!\n");fscanf(fp,"%s%s%s%s%s",p->number,p->bookname,p->author,p ->publish,p->time);fscanf(fp,"%f",&p->price);fscanf(fp,"%s",p->status);q->next=p;}}p->next=NULL;fclose(fp);printf("信息已录入!!!");return head;}void mainmenu(){printf("\n*****************************************\n"); printf("\n** 欢迎使用图书管理系统 **\n"); printf("\n** 1.进入系统 0.退出系统 **\n"); printf("\n*****************************************\n"); printf("\n 请选择");}void menu1(){printf("\n*****************************************\n"); printf("\n** 1.进入图书查询系统 **\n"); printf("\n** 2.进入图书借还系统 **\n"); printf("\n** 3.保存所有图书信息 **\n"); printf("\n** 4.返回上级菜单 **\n"); printf("\n*****************************************\n"); printf("\n请选择");}void cxmenu(){printf("\n*****************************************\n"); printf("\n** 1.显示所有图书信息 **\n"); printf("\n** 2.按编号查询图书 **\n"); printf("\n** 3.按书名查询图书 **\n"); printf("\n** 4.按作者查询图书 **\n"); printf("\n** 5.返回上级菜单 **\n"); printf("\n****************************************\n"); printf("\n请选择");}void jhmenu(){printf("\n*****************************************\n"); printf("\n** 1.借书 **\n"); printf("\n** 2.还书 **\n"); printf("\n** 3.返回上级菜单 **\n"); printf("\n*****************************************\n"); printf("\n请选择");}void print(link *head){link *p;p=head;printf("\n");printf("\n****************************************** ********\n");printf("\n编号\t\t书名\t\t作者\t\t出版社\t\t出版时间\t\t价格\t\t状态\n");while(p!=NULL){printf("\n");printf("%s\t%s\t%s\t%s\t%s",p->number,p->bookname,p->author,p->publish,p->time);printf("\t\t%.2f",p->price);printf("\t\t%s",p->status);printf("\n");p=p->next;}}void hold(link *head){link *p;FILE *fp;fp=fopen("图书信息.txt","w+");if(fp==NULL){printf("文件操作出错!!!");exit(1);}p=head;for(;p!=NULL;p=p->next){fprintf(fp,"%s\t%s\t%s\t%s\t%s",p->number,p->booknam e,p->author,p->publish,p->time);fprintf(fp,"\t\t%.2f",p->price);fprintf(fp,"\t\t%s",p->status);fprintf(fp,"\n");}fclose(fp);printf("信息已保存。

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

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

C语言图书管理系统课程设计报告一、项目介绍本项目是一个基于C语言的图书管理系统,旨在提供一个管理图书信息的平台,包括图书的增删查改、借还管理等功能。

二、功能需求本项目的主要功能需求如下:1.用户登录/注册:用户可以输入用户名和密码登录系统,也可以进行注册。

2.图书增删查改:管理员可以录入图书信息,包括书名、作者、出版社、ISBN、分类、价格、剩余数量等。

管理员可以根据图书名称、作者等信息查询图书信息,也可以对图书进行修改或删除。

3.借还管理:用户可以进行借书、还书,系统将会记录借书人信息、图书信息以及借书时间、归还时间等信息。

4.归还提醒:系统将会在借书过期且未归还的情况下自动发送邮件或短信提醒用户归还图书。

三、开发环境及相关技术本项目的开发环境为Windows10,使用的开发工具是Visual Studio Code。

在开发该项目时,我们主要使用了C语言和相关库函数。

四、开发流程本项目的开发流程如下:1.需求分析:根据用户需求,进行需求分析,确定系统需求。

2.概要设计:初步设计出系统的结构框架、数据模型等。

3.详细设计:根据概要设计,进一步详细设计出系统的各个功能模块的具体实现方法。

4.编码实现:根据详细设计,使用C语言和相关库函数编写代码实现各个功能模块。

5.测试调试:在编写完代码后,进行测试调试,找出问题并进行修复和优化。

6.部署实施:完成测试调试后,进行项目上线和部署。

五、实现效果展示以下是系统的主界面和功能界面展示:1.登录/注册界面登录/注册界面登录/注册界面2.主界面主界面主界面3.图书管理界面图书管理界面图书管理界面4.借阅管理界面借阅管理界面借阅管理界面六、总结与展望本项目基于C语言,使用了相关库函数开发了一个图书管理系统。

通过该项目的开发,我们深刻理解了系统开发的整个流程。

同时,我们也了解到了C语言在系统开发上的应用及其局限性。

未来,我们还可以继续完善该系统,增加其他功能模块,如图书推荐、借阅排行等,从而进一步完善该系统,提高用户体验。

图书信息管理系统——C语言课程设计报告(1)

图书信息管理系统——C语言课程设计报告(1)

课程设计报告课程名称 语言程序设计课题名称 图书信息管理系统专 业 电子技术班 级学 号姓 名指导教师年 月 日湖南工程学院课 程 设 计 任 务 书课程名称 语言程序设计课 题 图书信息管理系统专业班级 电子技术学生姓名学 号指导老师审 批任务书下达日期 年 月 日任务完成日期 年 元 月 日目 录一.系统的主要思路 二、系统的主要功能、显示功能 、追加功能 、修改模块 、删除模块 、查询模块 、统计模块 、排序模块 、退出模块 三.系统功能模块的划分 总体模块功能框图 四.总流程图 总流程图 八大模块的流程图五.程序调试 显示模块 追加模块 修改模块 删除模块 查询模块 统计模块 排序模块 退出模块 六.心得与体会 七.参考文献: 错误!未定义书签。

八.附件:一.系统的主要思路此系统事用 语言实现一个图书馆信息管理系统;利用结构体数组实现图书馆信息的数据结构;例如,删除图书信息、追加图书信息、修改图书信息、图书信息的统计等等;系统的各个功能调用各个函数的形式实现;并提供一个界面来调用,各个功能的操作。

首先我们要对系统操作就必须先创建一个数据库,用来存放各图书的信息,如:图书编号、分类号、书名、作者名、出版单位、出版时间、入库时间、单价等。

并用读函数 读取数据,然后才能进入主控程序。

然后,运行该程序显示的为主菜单界面,并且主菜单界面显示调用各个功能函数的功能键;通过提示用户,调用各个功能操作。

按下相应的功能键,就会进入相应的功能模块系统,并进行相应的操作。

程序操作完并正常退出后,系统又会调用写函数 将修改过的数据存入一个新的文件。

图书馆信息管理系统存放了每种图书的图书编号、分类号、书名、作者名、出版单位、出版时间、入库时间、单价的数据库。

每本书的信息定义在一个结构体变量中。

其结构如下:系统通过显示程序、追加程序、查询程序、删除程序、修改程序、排序程序来实现图书馆信息管理系统的显示功能、追加功能、查询功能、删除功能、修改功能、排序功能和统计功能。

图书信息管理系统——C语言课程设计报告(1)

图书信息管理系统——C语言课程设计报告(1)

图书信息管理系统——C语言课程设计报告(1)课程设计报告课程名称C语言程序设计课题名称图书信息管理系统专业电子技术班级学号姓名指导教师2015年12月31 日湖南工程学院课程设计任务书课程名称C语言程序设计课题图书信息管理系统专业班级电子技术学生姓名学号201501040120指导老师审批任务书下达日期2015 年12月31日任务完成日期2016 年元月10日目录一.系统的主要思路 (1)二、系统的主要功能 (2)1、显示功能 (2)2、追加功能 (2)3、修改模块 (2)4、删除模块 (2)5、查询模块 (2)6、统计模块 (2)7、排序模块 (2)8、退出模块 (2)三.系统功能模块的划分 (3)1.总体模块功能框图 (3)四.总流程图 (3)1.总流程图 (3)2.八大模块的流程图 (5)五.程序调试 (13)1.显示模块 (14)2 . 追加模块 (15)3. 修改模块 (17)4. 删除模块 (19)5. 查询模块 (22)6. 统计模块 (24)7.排序模块 (26)8. 退出模块 (28)六.心得与体会 (28)七.参考文献:........................................ 错误!未定义书签。

八.附件: (29)一.系统的主要思路此系统事用C语言实现一个图书馆信息管理系统;利用结构体数组实现图书馆信息的数据结构;例如,删除图书信息、追加图书信息、修改图书信息、图书信息的统计等等;系统的各个功能调用各个函数的形式实现;并提供一个界面来调用,各个功能的操作。

首先我们要对系统操作就必须先创建一个数据库,用来存放各图书的信息,如:图书编号、分类号、书名、作者名、出版单位、出版时间、入库时间、单价等。

并用读函数fscanf读取数据,然后才能进入主控程序。

然后,运行该程序显示的为主菜单界面,并且主菜单界面显示调用各个功能函数的功能键;通过提示用户,调用各个功能操作。

图书信息管理系统——C语言课程设计报告

图书信息管理系统——C语言课程设计报告

课程设计报告课程名称C语言程序设计课题名称图书信息管理系统专业电子技术班级1101班学号201101040240姓名陈正军指导教师2012年6 月19 日湖南工程学院课程设计任务书课程名称C语言程序设计课题图书信息管理系统专业班级电子技术1101班学生姓名陈正军学号201101040240指导老师审批任务书下达日期2012 年6月19日任务完成日期2012 年7 月4 日一、设计内容与设计要求1.设计内容:图书信息管理系统设计涉及的知识点:①掌握并熟练运用C语言的基本数据类型与各种表达式,程序的流程控制语句;②掌握数组的基本概念。

熟练掌握一维数组、二维数组的应用、掌握字符数组与字符串的关系以及字符串的简单处理。

③掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数之间的关系;掌握变量的作用域与生存期,了解函数的作用域。

④掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示,结构体变量的赋值含义,结构体与指针、函数的关系。

⑤掌握文件、文件类型指针的基本概念,熟练掌握文件的打开与关闭以及文件的建立、读写等有关操作。

2.设计要求:1)用C语言实现系统;利用结构体数组实现图书信息的数据结构设计;系统的各个功能模块要求用函数的形式实现;应提供一个界面来调用各个功能, 调用界面和各个功能的操作界面应尽可能清晰美观。

2) 建立一个图书信息数据库,文件名为book.txt,并从该文件中读取数据;3) 图书信息管理系统应能提供以下功能:①系统以菜单方式工作②图书信息显示功能;能以表格形式显示图书库中所有信息,且应有表头。

③图书信息追加功能;追加一条(或多条)新记录,要求在追加过程中有相应的提示信息,完成追加后能重新排序和显示;④图书信息查询功能;a. 按书名查询;b. 按单价查询;c. 按出版单位查询;d. 按出版时间查询e. 按分类号查询;f. 按入库时间查询要求系统在上述查询方式中至少应有两种以上的查询方式,且能显示符合条件的所有记录。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图书信息管理系统设计一、【要求】图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。

设计一图书信息管理系统,使之能提供以下功能:(1)系统以菜单方式工作(2)图书信息录入功能(3)图书信息浏览功能(4)图书信息查询功能(5)图书信息的删除与修改功能二、【各功能模块】1、菜单模块主函数流程图《1》、主函数:建立menu( )函数将主函数功能提取出来,主函数main调用menu( )函数方便简捷。

void main(){menu();}void menu(){int a;do{printf(" ****** 毅******\n");printf("\n");printf("******中国地质大学******\n");printf("\n");printf("\n\n\n\n\n\t\t\t\t图书信息管理系统\t\t\t\t\n");printf("\t\t********************************************\n");printf("\t\t\t1 ----------------图书信息录入\n");printf("\t\t\t2 ----------------图书信息浏览\n");printf("\t\t\t3 ----------------图书信息查询\n");printf("\t\t\t4 ----------------图书信息删除\n");printf("\t\t\t5 ----------------图书信息修改\n");printf("\t\t\t6 ----------------图书信息追加\n");printf("\t\t\t0 ----------------退出图书信息系统\n");printf("\t\t********************************************\n");printf("\t\tplease choose: ");scanf("%d",&a);switch(a){case 1:input();break;case 2:list();break;case 3:search();break;case 4:del();break;case 5:revise();break;case 6:append();break;case 0:exit(0);default:printf("\n序号不对\n");}}while(a!=0);}【定义图书信息结构体】#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>void menu();#define N 3typedef struct system{long num;char name[20];char writer[10];char sort[10];char publisher[20];long time;float price;}BOOK;注:定义的BOOK结构体N为限定的录入图书个数(可依据不同要求变化围)long num为定义的登录号(长整形变量)char name[20]为定义的书名的数组char writer[10]为定义的作者的数组char sort[10]定义的分类号数组char publisher[20]定义的出版单位数组long time定义的出版时间长整形变量float price价格为浮点型变量。

《2》、【数据存储】整个程序没有利用保存save函数,而是利用txt.txt \ tab.txt 两个文件录入存取数据信息,并通过文件的读取、写入进行图书信息的修改/删除等功能。

(fopen fwrite fread写入及读取数据进行存储)。

《3》【图书信息录入】图书录入流程图【程序】void input() /*定义录入函数*/{int i;BOOK a;FILE *fp;if((fp=fopen("txt.txt","w"))==NULL){printf("error!\n");exit(0);}for(i=1;i<=N;i++){printf("\t请输入您所需书籍的登陆号:");scanf("%ld",&a.num);printf("\t请输入书名:");scanf("%s",);printf("\t请输入作者名:");scanf("%s",a.writer);printf("\t请输入分类号:");scanf("%s",a.sort);printf("\t请输入出版单位:");scanf("%s",a.publisher);printf("\t请输入出版时间:");scanf("%ld",&a.time);printf("\t请输入该书的价格:");scanf("%f",&a.price);fwrite(&a,sizeof(BOOK),1,fp);}fclose(fp);}《4》【图书信息浏览】该模块的功能是显示所有录入的图书信息,流程图如下:图书浏览流程【程序】void list() /*定义浏览函数*/{BOOK a;FILE *fp;if((fp=fopen("txt.txt","r"))==NULL){printf("error!\n");exit(0);}printf("\n\n\n\n\n\n\n\n\n登陆号\t书名\t作者名\t分类号\t出版单位\t 出版时间\t价格\n\n");while(fread(&a,sizeof(BOOK),1,fp)!=0)printf("\t%ld\t%s\t%s\t%s\t%s\t%ld\t%3.2f\n",a.num,,a.writer,a.sort,a.publisher,a.time,a.price);fclose(fp);printf("\n\t press any key to continue...");getch();}《5》【图书信息查询】[需求分析]用户需要查找的图书,调用函数:1、按书名查找search_by_name2、按作者名查找search_by_write,两种方式进行查询。

输入查询方式,进入功能选项,1、首先打开源文件txt.txt ,则按照输入书名进行for 循环查找,若查到则显示图书信息。

若无,则显示“file open error!!”。

按任意键结束。

2、与1、流程相同,按照作者名查询。

查询功能流程图【程序】void search() /*定义查询函数*/{int a;printf("\t\t******************************\n");printf("开始查询\n");printf("\t\t\t1---------------按书名查询\n");printf("\t\t\t2---------------按作者名查询\n");printf("\t\t\t0---------------exit\n");printf("\t\t******************************\n") ;printf("\t\t请选择你想要的查询方式:");scanf("%d",&a);switch(a){case 1:search_by_name();break;case 2:search_by_writer();break;case 0:return;}}void search_by_name() /*定义按书名查询*/{FILE *fp;int i;BOOK b[N];char s2[20];fp=fopen("txt.txt","r");if(fp==NULL){printf("file open error!!\n");exit(0);}for(i=0;i<N&&fp!=NULL;i++)//shanchufread(&b[i],sizeof(BOOK),1,fp);printf("请输入要查询的书名: ");scanf("%s",s2);for(i=0;i<N;i++){if(strcmp(s2,b[i].name)==0){printf("书号书名作者种类出版商出版日期价格\n");printf("\t%ld\t%s\t%s\t%s\t%s\t%ld\t%3.2f\n",b[i].num,b[i].name,b[i].writer,b[i].sort,b[i].publisher,b[i].time,b[i].price);}fclose(fp);}}void search_by_writer() /*定义按作者名查询*/{int i;FILE *fp;BOOK b[N];char s3[20];fp=fopen("txt.txt","r");if(fp==NULL){printf("file open error!!\n");exit(0);}for(i=0;i<N;i++)fread(&b[i],sizeof(BOOK),1,fp);printf("请输入要查询的书的作者: ");scanf("%20s",s3);for(i=0;i<N;i++)if(strcmp(s3,b[i].writer)==0){printf("书号书名作者种类出版商出版日期价格\n");printf("\t%ld\t%s\t%s\t%s\t%s\t%ld\t%3.2f\n",&b[i].num,b[i].name, b[i].writer,&b[i].sort,b[i].publisher,&b[i].time,&b[i].price);}fclose(fp);}《6》【图书信息删除】[需求分析]该模块功能是,先输入需要删除的图登陆号,打开存储文件for循环查找该图书信息,然后利用b[k]=b[k+1]语句进行删除,即将要删除的一列用后一列进行替换完成删除功能,最后将改后的信息在写入结构体存入文件,关闭文件夹。

相关文档
最新文档