第一范文网 - 专业文章范例文档资料分享平台

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

来源:用户分享 时间:2025/5/30 17:48:18 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

东莞理工学院

《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

struct tsxx A struct tsxx B

struct tsxx C struct tsxx D NULL 各功能独立自定义的函数:

1、插入图书信息(按登录号从大到小排序):

struct tsxx * zengjia(struct tsxx * head)

//传递链表的首地址,并返回链表的首地址 //传递链表的首地址

2.、浏览全部的图书信息:

void Ptrint_Stu_Doc(struct tsxx *head) void Check(struct tsxx * head)

3、查询图书信息(包括书名查询和作者名查询):

//传递链表的首地址

//传递链表的首地址,并返回链表的首地址 //传递链表的首地址,并返回链表的首地址

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; //定义选择变量

四 详细设计

1、 设计思路:

首先,输入一些图书信息,申请一个结构类型的动态内存,把图书信息赋值到动态内存内,每一快动态内存存放一本图书的信息,并形成一条链表,比较登录号的大小,按登录号从大到小排列;

然后,建立并打开一个文件,把链表中的数据写入文件中,然后关闭文件;

最后,插入功能:先把所有的数据从文件中读出来,申请动态内存来存放,形成链表,输入你想要插入的图书信息,比较登录号的大小,然后把新的图书信息按照登录号的大小顺序插入链表里面,新建一个文间,把新的链表写入文件中;

浏览功能:先把所有的数据从文件中读出来,申请动态内存来存放,形成链表,然后链表头开始,把结构中的数据一个一个输出到界面上;

查询功能:先把所有的数据从文件中读出来,申请动态内存来存放,形成链表;选择你要查询的方式:1是按书名查询,2是按作者名查询。输入你的选择,判断你的查询方式。

书名查询:输入你要查询的书名,在链表中查找你这本书,然后把这本书的信息输出到界面上;

作者名查询:输入你要查询的作者名,在链表中查找对应作者名的图书的信息,并把信息输入到界面上;

修改功能:先把所有的数据从文件中读出来,申请动态内存来存放,形成链表,输入你要修改的图书的登录号,在链表中查找对应登录号的图书信息的结构,重新输入你要修改的图书的全部信息,并把这些新的图书信息赋值给找到的结构,覆盖旧的图书信息,新建一个文件,存放新的图书信息;

删除功能:先把所有的数据从文件中读出来,申请动态内存来存放,形成链表,输入你要删除的图书的登录号,在链表中查找对应登录号的图书信息的结构与前一个结构,让前一个结构的next指向对应登录号结构的下一个结构,释放动态内存,新建一个新的文件,存放新的图示信息;

2、数据结构的选择:

据图书信息表特点,决定选用链表这种数据结构(也可用其它的数据结构)来作为组成成绩数据库的基本框架。链表是最简单也是最常用的一种动态数据结构。它是对动态获得的内存进行组织的一种结构。选用链表有得好处: 1.即用即申请,不会造成内存空间的浪费;

2.是数据之间既有独立性,又便于数据的相互连系; 3.便于数据的添加及删除等优点。

3、设计思想的选择:

用模块化程序设计理念,对各个功能定义不同函数,分块处理,这样有利于后期调试及今后对功能的完善。

《C语言程序设计》课程设计报告(图书信息管理系统).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1wu268ct2g2xzhu2kzn0175lm26kup009z6_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top