程序设计基础 第 10章 综合应用 案例 —学生学籍 管理系统 1 详细设计 需求分析 总体设计 第 10章 综合应用 案例 —学生学籍管理系统 编码实现 运行结果 2 设计一个利用 文件 处理方式,实现对学生学籍信息(包括:学号,姓名,性别,年龄,籍贯,系别,专业,班级)进行添加、修改、删除、查找、统计输出等操作。学生学籍管理系统的功能要求如下: ①增加数据 ② 更新数据 ③ 查询数据 ④ 删除数据 ⑤ 显示数据 ⑥ 重组文件 ⑦ 要求本系统采用结构体等数据结构。 需求分析 3 总体设计 系统总体设计 数据结构 4 系统 总体设计 增加数据 更新数据 查询数据 删除数据 显示数据 重组文件学生学籍管理系统按学号显示 按专业显示学生学籍管理系统 包含 6个模块。 ( 1)增加 数据模块 ( 2)更新数据模块。 ( 3)查询 数据模块 ( 4)删除数据模块。 ( 5)显示 数据模块 ( 6)重组文件 模块 5 数据结构 /*数据状态, 0:正常 1:删除 */ /*学生的学号 */ ]; /*姓名 */ ]; /*性别 */ /*年龄 */ 1]; /*籍贯 */ 1]; /*系别 */ 1]; /*专业 */ /*班级 */ }; 6 详细 设计 系统包含的函数 各个功能模块的软件功能 各个功能模块的程序流程图和算法描述 7 系统包含的函数 ( 1)主函数: 函数。 ( 2)子函数: ①增加数据函数: 函数 ②更新数据函数: 函数 ③查询数据函数: 函数 ④删除数据函数: 函数 ⑤显示数据函数: 函数 ⑥重组文件函数 : 函数 8 各个功能模块的软件功能 ( 1) 函数 函数原型: ; 函数功能:输入一个或多个学生的信息,并将所输入的学生信息存入到数据文件中。 ( 2) 函数 函数原型: ; 函数功能:更新已存在的学生的信息。 ( 3) 函数 函数原型: ; 函数功能:按学号查询未作删除标记的学生的信息。 ( 4) 函数 函数原型: ; 函数功能:对某学生信息作删除标记,只作逻辑删除。 ( 5) 函数 函数原型: ; 函数功能:按指定条件显示未作删除标记的学生的信息。 ( 6) 函数 函数原型: ; 函数功能:对作删除标记的学生信息作物理删除 。 9 各个功能模块的程序 流程图 和 算法描述 主函数 流程图 开始当 s e l e c t = ?输入所选择的功能 s e l e c d d _ d a t a () 函数调用u p d a t e _ d a t a ()函数调用s e a r c h _ d a t a ()函数调用d e l e t e _ d a t a ()函数调用l i s t _ d a t a () 函数调用 p a c k () 函数 1 2 3 4 5 6当 s e l e c t != 7打开文件10 各个功能模块的程序 流程图 和 算法描述 函数流程图 开始t a g != ’ y ’ && t a g != ’ n ’ ?输入学生的各种信息设置学生状态为正常s t u . s t a t u s = 0将学生信息写入当前存储文档中输入变量 t a g 的值是t a g == ’ y ’ ?是否否结束11 各个功能模块的程序 流程图 和 算法描述 函数流程图 开始输入要修改学生的学号在文件中读取相应学号学生查询成功输出更改前该学生的信息输入更改后该学生信息在存储文件中更新学生信息结束输出查询失败否是12 各个功能模块的程序 流程图 和 算法描述 函数流程图 开始输入要查询的学生的学号在文件中读取相应学号学生查询成功输出该学生的信息结束输出查询失败否是13 各个功能模块的程序 流程图 和 算法描述 函数流程图 开始输入要删除学生的学号在文件中读取相应学号的学生查询成功输出该学生的信息在存储文件中对该学生作删除标记结束输出查询失败否是14 各个功能模块的程序 流程图 和 算法描述 函数流程图 开始输入变量s e l e c t 的值s e l e c t 3 ?用读文件的方式计算文件中学生的数量当 s e l e c t = ?用冒泡排序法将学生信息按学号由小到大排序按学生学号由小到大输出学生信息用冒泡排序法将学生信息按专业 A S C I I 码顺序排序按学生的专业 A S C I e l e c t = 1s e l e c t = 2是否15 各个功能模块的程序 流程图 和 算法描述 函数流程图 开始用写的方式打开文件 s t u _ t m p . d a s t u . d a t 里的信息读取并写入文件s t u _ t m p . d a s t u . d a t 和文件 s t u _ t m p . d a s t u . d a s t u _ t m p 重命名为 s t u . d a t 用读的方式打开文件 s t u . d a 编码实现 运行结果 【思考】 请在该学生学籍管理系统的基础上再添加两个功能: ( 1)统计输出 ①按专业输出所有学生的学籍信息。 ②统计输出学生的平均年龄。 ③统计输出超过平均年龄的学生人数。 ( 2)排序 该模块按学生学号由低到高的顺序排序输出所有学生学籍信息。 17 18

展开阅读全文

学籍管理系统 c语言流程图,程序设计基础 ——C语言第10章 综合应用案例——学生学籍管理系统...相关推荐

  1. c语言程序设计武汉大学出版社编程题答案,C语言及程序设计基础

    商品描述: [图书描述]: 本书系统地介绍C语言的实验指导和习题解答.全书共分三个部分,下面简单介绍这些章节的内容: 第一部分:C语言上机指导 这个部分包括从第l章到第6章的内容.第l章到第4章分别介 ...

  2. 程序设计基础c语言第二版巫,程序设计基础 (C语言)---2版

    图书特色: 1. 实例丰富 本书不仅理论完备,还通过 100 多个实例夯实基础,100 多个课后习题巩固练习,并通过分布在本书第 6.8 和 10 章的 3 个综合应用案例 学生成绩统计程序.学生成绩 ...

  3. 科学出版社c语言实验答案,程序设计基础c语言第三章程序结构教材习题答案科学出版社...

    第 1 页程序设计基础-C 语言(科学出版社教材)第三章-程序结构教材习题答案1.0 编写程序使整形变量:a=3,b=4,c=5,p=0xfffe,q=0xffff;浮点型变量:x=1.2,y=2.4 ...

  4. 程序设计基础(c语言),程序设计基础(C语言)

    <程序设计基础(C语言)>由会员分享,可在线阅读,更多相关<程序设计基础(C语言)(26页珍藏版)>请在人人文库网上搜索. 1.程序设计基础(C语言),东北大学高级语言程序设计 ...

  5. c程序设计语言 qsort,【程序设计基础_C语言】北理工的恶龙(附qsort范例)

    [程序设计基础_C语言]北理工的恶龙(附qsort实例) 北理工的恶龙(附qsort实例) 背景:最近,北理工出现了一只恶龙,它长着很多 头,而且还会吐火,它将会把北理工烧成废墟, 于是,校长下令召集 ...

  6. C语言《程序设计基础课程设计》题库

    C语言<程序设计基础课程设计>题库 要求: 学生须按学号最后两位选择对应题目. 采用单链表和文件实现系统. 具体实现要求: (1) 从文件中读出数据,创建带头结点的单链表;将单链表中的数据 ...

  7. 程序设计基础c语言上机考试,程序设计基础C语言上机考试题第一套.DOC

    程序设计基础(C语言)上机考试题 ( 第一套A卷 ) 2006~2007学年冬学期 2007年1月 应试人声明: 我保证遵守<上海大学学生手册>中的<上海大学考场规则>,如有考 ...

  8. c语言程序设计科学出版社课后答案,程序设计基础C语言科学出版社.doc

    程序设计基础C语言科学出版社 程序设计基础--C语言 科学出版社 第六章--其他数据模型,教材习题答案. 东风冷雪 如果认为对自己不利那就离开. 你看了比没有看好,首先印象还是有的,如果自己不会你可能 ...

  9. 第12章实验1:学生成绩管理系统V5.0(c语言)

    第12章实验1:学生成绩管理系统V5.0 某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6门(具体门数由键盘输入).参考学生成绩管理系统V4.0,定义结构体类型,用结构体数组作函 ...

最新文章

  1. 使用随机森林(Random Forest)进行特征筛选并可视化
  2. 影响SDN和NFV部署速度的两个因素
  3. 模拟课----需求文本
  4. 文本分类入门(四)训练Part 1
  5. ES6新特性之class类的基本语法
  6. linux 串口最高速率,Uart 16c950 linux速度高于B4000000(4Mbps)
  7. java字符串最长回文串_Java中的字符串回文程序
  8. 用Python在Excel里画出蒙娜丽莎
  9. python远程备份mysql_python远程备份mysql并压缩
  10. php弹窗24小时一次,JS利用cookies设置每隔24小时弹出框
  11. .unl 文件 导入 mysql_mysql数据导出导入
  12. 使用GreenSock插件轻松制作精美的Web动画
  13. 转载--柯尔莫哥洛夫
  14. ngnix 端口映射
  15. RTX3070深度学习环境配置
  16. 如何做好线上活动策划及执行的思路与框架
  17. 大理石在哪里?(Where is the Marble?,UVa 10474 )
  18. Innovus零基础lab学习全面复盘总
  19. 向量旋转(或矢量旋转或坐标轴旋转)后xy坐标重定位(vivado+cordic ip核+matlab) - 适用于数学爱好者
  20. timer延迟1us_STM32 Systick定时器在实现1us延时的问题与解决

热门文章

  1. 你真的了解深度学习生成对抗网络(GAN)吗?
  2. Python设计模式-单例模式
  3. 使用pytorch构建一个神经网络、损失函数、反向传播、更新网络参数
  4. Flask的HelloWorld程序
  5. 集成学习之Boosting
  6. Matplotlib基础绘图功能 — 以折线图为例
  7. 网络工程师_记录的一些真题_2005下半年上午
  8. 理解透彻--802.1d,802.1w,802.1s与802.1q
  9. 史上最强:numpy实现全部机器学习算法
  10. 使用OpenCV进行直播(附代码)