zoukankan      html  css  js  c++  java
  • 超星网站cc++

    1
    C/C ++程序设计
    • 1.1
      前 言
    • 1.2
      第一部分 基 础 篇
    • 1.2.1
      第1章 初识C
    • 1.2.1.1
      1.1 C语言的诞生与发展
    • 1.2.1.2
      1.2 C语言的特点
    • 1.2.1.3
      1.3 Vi sualC++6.0开发环境
    • 1.2.1.4
      1.4 简单的C程序介绍
    • 1.2.1.5
      1.5 C程序的构成
    • 1.2.1.6
      1.6 本章小结
    • 1.2.1.7
      1.7 练习题
    • 1.2.2
      第2章 变量和常量
    • 1.2.2.1
      2.1 计算机中的数据
    • 1.2.2.2
      2.2 数据的存储
    • 1.2.2.3
      2.3 数据角色
    • 1.2.2.4
      2.4 数据社会
    • 1.2.2.5
      2.5 本章小结
    • 1.2.2.6
      2.6 练习题
    • 1.2.3
      第3章 运算符与表达式
    • 1.2.3.1
      3.1 算术运算符
    • 1.2.3.2
      3.2 赋值运算符
    • 1.2.3.3
      3.3 关系运算符
    • 1.2.3.4
      3.4 逻辑运算符
    • 1.2.3.5
      3.5 条件运算符
    • 1.2.3.6
      3.6 逗号运算符
    • 1.2.3.7
      3.7 运算符的优先级
    • 1.2.3.8
      3.8 本章小结
    • 1.2.3.9
      3.9 练习题
    • 1.2.4
      第4章 控制流
    • 1.2.4.1
      4.1 顺序结构
    • 1.2.4.2
      4.2 选择结构
    • 1.2.4.3
      4.3 循环结构
    • 1.2.4.4
      4.4 本章小结
    • 1.2.4.5
      4.5 练习题
    • 1.2.5
      第5章 函数
    • 1.2.5.1
      5.1 函数概述
    • 1.2.5.2
      5.2 函数的类别
    • 1.2.5.3
      5.3 函数的使用
    • 1.2.5.4
      5.4 函数的参数传递
    • 1.2.5.5
      5.5 变量的作用域和存储类别
    • 1.2.5.6
      5.6 递归
    • 1.2.5.7
      5.7 本章小结
    • 1.2.5.8
      5.8 练习题
    • 1.2.6
      第6章 指针
    • 1.2.6.1
      6.1 指针
    • 1.2.6.2
      6.2 指针与函数
    • 1.2.6.3
      6.3 指针与数组
    • 1.2.6.4
      6.4 指针与字符串
    • 1.2.6.5
      6.5 结构体指针
    • 1.2.6.6
      6.6 void指针
    • 1.2.6.7
      6.7 本章小结
    • 1.2.6.8
      6.8 练习题
    • 1.2.7
      第7章 线性表
    • 1.2.7.1
      7.1 顺序表
    • 1.2.7.2
      7.2 链式表
    • 1.2.7.3
      7.3 本章小结
    • 1.2.7.4
      7.4 练习题
    • 1.2.8
      第8章 文件
    • 1.2.8.1
      8.1 打开和关闭文件
    • 1.2.8.2
      8.2 文本文件读写
    • 1.2.8.3
      8.3 二进制文件的读写
    • 1.2.8.4
      8.4 文件的随机读写
    • 1.2.8.5
      8.5 本章小结
    • 1.2.8.6
      8.6 练习题
    • 1.2.9
      第9章 位运算
    • 1.2.9.1
      9.1 位运算符
    • 1.2.9.2
      9.2 位运算应用
    • 1.2.9.3
      9.3 位域
    • 1.2.9.4
      9.4 本章小结
    • 1.2.9.5
      9.5 练习题
    • 1.2.10
      第10章 预编译指令
    • 1.2.10.1
      10.1 宏定义
    • 1.2.10.2
      10.2 文件包含
    • 1.2.10.3
      10.3 条件编译
    • 1.2.10.4
      10.4 本章小结
    • 1.2.10.5
      10.5 练习题
    • 1.2.11
      第11章 C ++
    • 1.2.11.1
      11.1 C++概述
    • 1.2.11.2
      11.2 C++程序设计
    • 1.2.11.3
      11.3 本章小结
    • 1.2.11.4
      11.4 练习题
    • 1.2.12
      第12章 调试技术
    • 1.2.12.1
      12.1 常见错误类型
    • 1.2.12.2
      12.2 调试技术
    • 1.2.12.3
      12.3 本章小结
    • 1.2.12.4
      12.4 练习题
    • 1.3
      第二部分 实 战 篇
    • 1.3.1
      简易计算器
    • 1.3.2
      趣味火柴棍
    • 1.3.3
      英汉小字典
    • 1.3.4
      贪吃蛇游戏
    • 1.3.5
      迷宫求解
    • 1.3.6
      图书管理系统
    • 1.4
      第三部分 附  录
    • 1.4.1
      附录A ASCII 字符码
    • 1.4.2
      附录B C 语言的关键字
    • 1.4.3
      附录C 运算符的优先级
    • 1.4.4
      附录D 库函数
    1.3.6 图书管理系统
     

    图书管理系统

    通过前面章节的学习,读者应该对C语言的基本概念、程序设计方法有了一个基本的认识和理解。前面章节系统地介绍了C的基本内容,并通过大量的例题来说明其使用方法。为了让读者更全面地掌握使用C语言进行程序设计的方法,本章以图书管理系统为例,系统地介绍如何使用C语言开发应用程序。

    一、需求分析

    所谓磨刀不误砍柴工,在接到项目任务时,需要对项目的开发背景、客户的需求以及项目的可行性进行分析,然后再根据分析的结果做出合理的项目规划,使项目能够按部就班进行,不至于出现顾此失彼的情况。

    一般来说,图书管理系统主要包括增加图书、删除图书、图书借阅、图书归还和图书查找等几方面的功能。事实上,一个完整的图书管理系统应该是一个数据库应用程序,需要具有数据库管理和用户管理等功能,为了突出C语言的重点,本章介绍的图书管理系统不考虑这些功能。

    根据以上的分析,下面给出图书管理系统主要实现的功能:

    (1)提供功能菜单,供用户选择;

    (2)图书的增加、删除和查找功能;

    (3)图书的借阅、归还功能;

    (4)图书信息保存和加载功能。

    二、总体设计

    总体设计即系统的概要设计,需要完成对系统的分析和设计,以及设计系统需要的主要数据结构。

    根据需要进行分析,本系统分成以下几个模块:主界面模块、增加图书模块、删除图书模块、查找图书模块、借阅图书模块、归还图书模块、图书信息保存模块和图书信息加载模块,具体功能模块如图6-1所示。

    img485

    图6-1 总体设计

    此外,由于该系统涉及图书信息、读者信息等数据结构的使用,声明相关结构体如下所示:

    img486

    三、功能模块实现

    下面将依次介绍主界面模块、增加图书模块、删除图书模块、查找图书模块、借阅图书模块、归还图书模块、图书信息保存模块和图书信息加载模块。

    (1)主界面模块

    通过循环语句实现菜单的循环显示,嵌套的选择语句根据用户键入的选项选择不同的功能。

    img487

    img488

    img489

    (2)查找图书模块

    使用顺序查找法遍历整个链表,如果查到满足要求的数据信息则输出,否则输出查询数据不存在。

    img490

    img491

    (3)增加图书模块

    增加图书首先判断待增加的书是否存在,如果该图书存在则增加一本,如果不存在则输入新增图书的相关信息。

    img492

    img493

    img494

    (4)删除图书模块

    根据书号进行判断,如果不存在则输出该图书不存在,如果存在则删除该图书相关信息,删除图书结点时,根据结点在链表中的位置(表头、表尾和表中间)进行不同的处理。

    img495

    img496

    img497

    (5)借阅图书模块

    借阅图书时根据图书不存在、图书全部借出和可借阅三种情况分别处理。在借阅时需要手动输入借阅和归还时间,此处读者可进一步完善。

    img498

    img499

    img500

    (6)归还图书模块

    归还图书时应先判断待归还图书是否存在,并根据归还图书的借阅时间、归还时间以及当前时间判断图书借阅是否超期。如何罚款,读者可进一步完善。

    img501

    img502

    img503

    (7)图书信息保存模块

    使用二进制文件读写方式,遍历链表保存每一个数据到文件“data.bin”中。

    img504

    (8)图书信息加载模块

    使用二进制文件读写方式,遍历链表读取数据到结构体数组中。

    img505

    img506

    四、系统运行

    系统设计好了,现在我们就来看看设计的成果。

    (1)单击【调试】工具栏中的编译按钮、链接按钮和运行按钮即可运行系统。系统运行后在命令行中显示了操作菜单,输入相应的数字,按【Enter】键后即可进入相应的功能模块,如图6-2所示。

    img507

    图6-2

    (2)增加图书。输入1,按【Enter】,即进入增加图书模块。根据提示依次输入书号、书名、作者、可借阅册数、馆藏总册数和简介,如图6-3所示。。

    img508

    图6-3

    (3)查找图书。输入3,按【Enter】,即进入查找图书模块。根据提示输入书号后按【Enter】,即可显示该书的书名、作者、当前可借阅册数、馆藏总册数和本书简介,如图6-4所示。

    img509

    图6-4

    (4)图书借阅。输入4,按【Enter】,即进入图书借阅模块。根据提示依次输入书号、借书证号、借出时间和归还时间,如图6-5所示。

    img510

    图6-5

    (5)图书归还。输入5,按【Enter】,即进入图书归还模块。根据提示依次输入书号、借书证号,如图6-6所示。

    img511

    图6-6

    (6)删除图书。输入2,按【Enter】,即进入删除图书模块。输入书号后按【Enter】即可删除该图书,如图6-7所示。

    img512

    图6-7

    (7)退出系统。输入8,按【Enter】,退出程序,如图6-8所示。

    img513

    图6-8

    五、小结

    本章通过一个综合的例题———图书管理系统的开发,介绍了开发一个C应用程序的流程和一些技巧。首先,本章根据软件工程的生命周期,简单地介绍了系统的需求分析,然后讨论了系统的构架和需要的数据结构。接着,再以模块为单元介绍各个功能模块的实现。本章的主要目的是让读者了解一个完整的C程序应该如何来建立,相信读者学习后会有自己的理解。

  • 相关阅读:
    Sprng Data JPA与hibernate的关系
    Exception in thread "main" java.io.FileNotFoundException: d:xxx.txt (拒绝访问。)
    Telnet测试BIO Socket
    计算机网络篇
    Postman测试接口发现时间少8个小时?添加这两行代码就解决!
    匿名内部类
    解决线程安全的三种方法
    equals和hashcode的区别
    postman测试springsecurity 登录鉴权,获取Cookie后进行其他接口测试
    (链表)求相交链表交点
  • 原文地址:https://www.cnblogs.com/SofuBlue/p/8270001.html
Copyright © 2011-2022 走看看