ImageVerifierCode 换一换
格式:DOCX , 页数:67 ,大小:1.05MB ,
资源ID:7773375      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7773375.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言实训大作业.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言实训大作业.docx

1、C语言实训大作业软件学院大作业任务书题 目: 图书馆管理系统 专 业: 软件工程 班 级: 133班 姓名学号: 高爽超* 学 号: * 完成人数: 1人 起讫日期: 2014. 2. 172014. 3. 18 任课教师: 刘伯成 职称: 讲师 部分管主任: 完成时间: 2014年 月 日 说 明1.本任务书由任课教师填写后,下达到学生。2.任务完成后,任课教师需填写小结表。3.任务书、学生成绩与学生完成后的大作业(纸质和电子两种)一并报送各教学研究部审核后转教务办。4.另附一份全班大作业总结大作业的要求和内容:(包括题目选择范围、技术要求、递交时间、考核方法等)请根据所学的C语言的内容,完

2、成一个完整的C语言程序,程序的内容和功能,可以自己根据需要进行自定义,但不能过于简单,代码行数要在1000行以上,且所设计的程序满足如下要求:1.程序中要具备结构体类型的数据操作、链表操作等;2.程序中要具备文件读取和写入的操作(含顺序、随机);3.程序中要具备常用的排序和查找功能;4.要有断点调试、改错过程及相应截图;5.要求程序具备简单的菜单功能,根据用户的输入,执行相应的操作;6.在菜单界面,必须显示程序的名称、版本信息,开发者的名字、班级、学号等信息。最终提交的作业,除提交完整的程序工程代码外,还必须以大作业报告的形式说明程序的流程、结构以及设计、实现过程,具体参见课程设计说明书和教材

3、。作业评分将以完成的程序质量和复杂程度为基础,并根据大作业报告进行综合评分。教师小结:成绩: 教 师 签 名: 教研部负责人: 学生姓名: 高爽超 NANCHANG UNIVERSITYC语言工程实训课程设计 题 目: 图书馆管理系统 学 院: 软件学院 专 业: 软件工程 班 级: 软工133班 完成人数: 1人 成 员: 1人 起讫日期: 2014. 2. 172014. 3. 18 任课教师: 刘伯成 职称: 讲师 完成时间: 2014年 3月15 日 填表日期: 2014 年 3 月 15 日一、需求分析(参考教材第2章)1.1项目介绍图书管理系统是一个高度集成的图书信息处理系统,通过

4、图书馆的各种功能进行整合,从而达到显示检索信息,提高工作效率,降低管理成本等目的。1.2功能需求一个完整的图书管理系统应该能管理所有的图书种类,图书信息以及读者信息,还要提供各种图书信息的检索和查询功能。该系统还需要对图书的借阅,归还进行管理,并对读者的罚款进行自动合计。主要实现以下几个功能:1读者信息功能2查询图书信息3查看以借图书4图书借阅5查看罚款6借阅历史7书目查询8图书编目管理二、系统分析(参考教材第2章)2.1本程序需解决的关键技术问题需要解决的关键继续包括以下几点:1程序中要具备结构体类型的数据操作、链表操作; 2程序中要具备文件读取和写入的操作(含顺序和随机) 3程序中要具备常

5、用的排序和查找功能; 4要会使用断点调试、改错; 5要求程序具备简单的菜单功能,根据用户的输入,执行相应的操作;2.2程序流程 Y N三、程序设计与实现(参考教材第3-7章)3.1程序设计#include#include #include #include FILE *fp;typedef struct Reader char Code20; /证件号 char Name30; /姓名 char Sex5; /性别 char Dept50; /工作单位 int Tag; /状态: 0-正常, 1-挂失 Reader;typedef struct ReaderLink char Code20;

6、/证件号 char Name30; /姓名 char Sex5; /性别 char Dept50; /工作单位 int Tag; /状态: 0-正常, 1-挂失 struct ReaderLink *next;ReaderLink;#ifndef Catalog_H #define Catalog_H #define MAX_TREE_SIZE 100typedef struct Catalog /目录结构类型 char Key20; /编号 char Caption80; /标题,类名 char Parent20; /父类编号 / int num; Catalog; typedef stru

7、ct CatalogTree /目录顺序存储结构类型Catalog NodeMAX_TREE_SIZE;int root; /根节点位置,根节点默认在0号单元;int num; /最后一个结点的数组编号CatalogTree;#ifndef Book_H #define Book_H #define MAX_BOOK_SIZE 5000#define true 1#define false 0typedef int bool ;typedef struct Book char ISBN50; /ISBN号 char Title200; /书名 char Author200; /作者 char

8、Publisher100; /出版社 char Date20; /出版日期 float Price; /价格 char CatalogNum200; /分类编号Book; typedef struct BookLink /图书单链表存储结构类型 char ISBN50; /ISBN号 char Title200; /书名 char Author200; /作者 char Publisher100; /出版社 char Date20; /出版日期 float Price; /价格 char CatalogNum200; /分类编号struct BookLink *next;BookLink;ty

9、pedef struct BookList /图书顺序存储结构类型 Book *Node; int Num; /图书个数BookList;#ifndef Lend_H #define Lend_H #define MAX_BOOK_LEND 4 /最多借15本#define MAX_DAY_LEND 90 /*最长借期90天*/typedef struct LendInfo char Code20; /证件号 char ISBN50; char LendDate20 ; /借书日期 char LastDate20; /应还日期 char ReturnDate20; /归还日期 int Tag;

10、 /状态0;借出,1:归还LendInfo;typedef struct LendInfoLink char Code20; /证件号 char ISBN50; char LendDate20 ; /借书日期 char LastDate20; /应还日期 char ReturnDate20; /归还日期 int Tag; /状态0;借出,1:归还 struct LendInfoLink *next;LendInfoLink;void MainMenu();void ReadMenu();void ReadMenuChoose();void CatalogMenu();void CatalogM

11、enuChoose();void BookMenu();void BookMenuChoose();void CirculMenu();void CirculMenuChoose();void AddCatalog( ); /增加分类void PrintCatalog( ); /输出目录,(编号,类名,父类号)void CreatCatalogTree( ); /建立分类目录树,调用PrintCatalogTree( )void PrintCatalogTree(CatalogTree *tree ); /输出分类目录树,调用PreOrder( );void PreOrder(CatalogT

12、ree* ,int ,int ); /递归遍历结构体数组输出树void AlterCatalog( ); /修改分类#endifvoid BrowseReader( ) ; /浏览所有读者信息ReaderLink * InputReader( ); /输入读者信息,建立链表void SaveReader(ReaderLink *); /保存读者链表到文件void FindReader_Code(); /从文件中按照证件号查找void FindReader_Name(); /从文件中按照姓名查找 void AlterReader( ); /修改读者信息,从文件中读取信息, /建立链表,查找并修改

13、,再写回文件ReaderLink * CreatReaderLink( );/从文件读取读者信息并创建链表void SaveReaderW(ReaderLink * );/读者信息写入文件,删除旧信息浏览void LostReader( );/证件挂失#endif/*从文件读出数据,建立单链表,删改查后,重新写回文件增加图书就直接追加写入文件*/BookLink *InputBook( ); /输入多个图书目录,建立链表void SaveBook( BookLink * ); /保存图书链表到文件BookLink *CreatBookLink( ) ; /读取文件信息,建立图书目录链表void

14、 SaveBookW( BookLink * ); /保存链表到文件,重写BookLink *InsertSortBook( BookLink *head ); /图书目录直接插入排序void DeleteBook( ) ; /删除图书目录void AlterBook( ) ; /修改图书目录#endifvoid BookBrowseCatalog( ); /图书分类浏览BookList CreatBookList( ) ; /建立图书结构体数组void FindISBN( ); /BookList BubbleSort(BookLis );int BinSearchISBN(BookList

15、 B,char ) ;void FindISBN_BubbleSort( );void FindISBN_SelectSort( );void FindISBN_InsertSort( );BookList SelectSort(BookList );int BinSearchTitle(BookList ,char ) ;void FindAuthor( );BookList InsertSort(BookList );int SearchAuthor(BookList ,char ) ; /顺序查找多个void FindPublisher( );BookList BInsertSort(B

16、ookList );int SearchPublisher(BookList ,char ); /顺序查找多个void FindTitle( );void LendBook( ); /借阅图书Reader FindReaderL(char); /查询读者/int LendBookNum(char);/计算已借本数void SaveLendInfo(LendInfo ); /保存借阅信息到文件void ReturnBook( ) ;/还书LendInfoLink* CreatLendLink();/建立借阅信息链表void SaveLendInfoW(LendInfoLink *);/保存借阅信

17、息到文件,覆盖旧信息void FindLendInfo( );/查询个人借阅记录void main() int MenuNum; do MainMenu(); printf(请输入你的选择!0-4 : ); scanf(%d,&MenuNum); switch(MenuNum) case 1: ReadMenu( ); ReadMenuChoose(); printf(n-回车继续操作!-n); getch( ); system(cls); break; case 2: CatalogMenu( ); CatalogMenuChoose(); printf(n-回车继续操作!-n); getc

18、h( ); system(cls); break; case 3: BookMenu(); BookMenuChoose(); printf(n-回车继续操作!-n); getch( ); system(cls); break; case 4: CirculMenu(); CirculMenuChoose(); printf(n-回车继续操作!-n); getch( ); system(cls); break; case 0: ; break; while(MenuNum!=0); void MainMenu( ) printf( * n); printf( 南昌大学图书馆管理系统 n); p

19、rintf( 主菜单 n); printf( * n); printf( * 1.读者管理 *n); printf( * 2.图书分类管理 *n); printf( * 3.图书编目管理 *n); printf( * 4.图书流通管理 *n); printf( * 0.退出系统 *n); printf( * n); printf( 版权所有 南昌大学 软件工程 高爽超 n); printf( 学号:8000113177 时间:2014 /3/15 n); printf( * n);void ReadMenu( ) printf( * n); printf( 读者管理菜单 n); printf(

20、 * n); printf( * 1.浏览所有读者 *n); printf( * 2.增加读者 *n); printf( * 3.查询读者 *n); printf( * 4.修改读者 *n); printf( * 5.证件挂失 *n); printf( * 0.返回上级 *n); printf( * n); void CatalogMenu( ) printf( * n); printf( 分类管理菜单 n); printf( * n); printf( * 1.增加分类 *n); printf( * 2.输出分类 *n); printf( * 3.输出树形分类树 *n); printf( *

21、 4.修改分类 *n); printf( * 0.返回上级 *n); printf( * n); void BookMenu( ) printf( * n); printf( 图书编目管理菜单 n); printf( * n); printf( * 1.新书录入 *n); printf( * 2.删除图书目录 *n); printf( * 3.修改图书目录 *n); printf( * 4.查询图书目录 *n); printf( * 0.返回上级 *n); printf( * n); void CirculMenu( ) printf( * n); printf( 图书流通管理菜单 n); p

22、rintf( * n); printf( * 1.图书分类浏览 *n); printf( * 2.图书检索 *n); printf( * 3.借书 *n); printf( * 4.还书 *n); printf( * 5.查询借阅记录 *n); printf( * 0.返回上级 *n); printf( * n); void CirculMenuChoose() int MenuNum; int num; printf(请输入你的选择!0-5 : ); scanf(%d,&MenuNum); switch(MenuNum) case 1: BookBrowseCatalog( ); break

23、; case 2: printf(n输入选择(ISBN 1,书名2,作者3,出版社4):); scanf(%d,&num); switch(num) case 1: FindISBN_BubbleSort();break; case 2: FindTitle();break; case 3: FindAuthor();break; case 4: FindPublisher();break; break; case 3: LendBook( ); break; case 4: ReturnBook(); break; case 5: FindLendInfo(); break; case 0:

24、 ;break; void CatalogMenuChoose() int MenuNum; int num; printf(请输入你的选择!0-4 : ); scanf(%d,&MenuNum); switch(MenuNum) case 1: AddCatalog( ); break; case 2: PrintCatalog( ); break; case 3: CreatCatalogTree(); break; case 4: AlterCatalog( ); break; case 0: ;break; void ReadMenuChoose() int MenuNum; int

25、num; printf(请输入你的选择!0-5 : ); scanf(%d,&MenuNum); switch(MenuNum) case 1: BrowseReader( ); break; case 2:InputReader( ); break; case 3: printf(n输入选择(证件号:1,姓名:2):); scanf(%d,&num); if(num=1) FindReader_Code(); else FindReader_Name(); break; case 4: AlterReader( ); break; case 5: LostReader( ); break; case 0: ; break; void BookMenuChoose() int MenuNum; int num; printf(请输入你的选择!0-4 : ); scanf(%d,&MenuNum);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1