码迷,mamicode.com
首页 > 其他好文 > 详细

C07 模块化开发信息管理系统案例

时间:2018-12-25 00:07:20      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:需求   查找   技术分享   bubuko   printf   查询   .com   实现   支持   

目录

  • 需求分析
  • 问题分析
  • 开发阶段

  

需求分析

总体需求

学员信息管理系统支持以下功能

  • 增加学员信息功能
  • 删除学员信息功能
  • 查询学员信息功能
  • 修改学员信息功能
  • 输出所有学员信息功能
  • 退出系统

其他需求

  • 学员信息需求
  • 学号4位数字
  • 姓名不能超过20个字符
  • 地址不能超过30个字符
  • 手机号码必须为11位数字
  • 成绩在0-100之间
  • 初始状态系统保持2名学员信息
  • 必要的信息提示
  • 例如:姓名长度不正确、手机号码长度不正确等。

 

问题分析

全局变量

Char  students[50][200];  //存储50个学员信息,每一行代表一个学员信息,每个信息项之间用”$“隔开

int  stu_num;  //当前已经存储的学员的个数

 

功能模块划分

 

技术分享图片

 

功能模块分析

 技术分享图片

开发阶段

阶段划分

 技术分享图片

 

第一阶段

实现界面搭建和数据初始化

实现效果

 技术分享图片

 

难点分析

1.变量和函数的定义

 技术分享图片

2.初始化函数init()

技术分享图片

 

3.输出学员信息的listStu()函数

 技术分享图片

 

 

第二阶段

实现输入学员信息

实现效果

 技术分享图片

 

变量和函数的定义

 技术分享图片

 

 

每项信息的存储

 技术分享图片

Flag用来标识前一项信息是否录入正确,本项信息是否录入完成。

整数转换成字符数组函数:sprintf(字符数组,”%d”,整数)

 

每项操作完成后返回主菜单

 技术分享图片

 

 

第三阶段

实现按照学号删除学员信息

实现效果

 技术分享图片

删除成功提示删除成功。

删除失败提示未找到该学员。

 

变量和函数的定义

 技术分享图片

 

getStuRowByNo()函数的实现

 技术分享图片

 

deleteByNo()函数的实现

删除原理:二维数组类似表格,删除所在行即把这一行之后的数据依次覆盖前一行的数据。注意:删除一行数据后,需要把stu_num变量减去1。

 技术分享图片

 

第四阶段

格式化显示学员信息

实现效果

 技术分享图片

 

变量和函数的定义

 技术分享图片

修改listStu()函数。增加数据数据格式转换函数analyse()。

 

analyse()函数的实现

功能:解析学员信息

 技术分享图片

实现:

技术分享图片

 

修改listStu()函数

 技术分享图片

 

 

第五阶段

根据学号查找学生信息

实现效果

 技术分享图片

 

变量和函数的定义

 技术分享图片

 

queryByNo()函数的实现

功能:根据学号,查找学员信息并显示

 技术分享图片

 

第六阶段

修改学员信息

实现效果

 技术分享图片

 

变量和函数的定义

 技术分享图片

 

modifyInfoByNo()函数的实现

功能:根据学号,修改该学员信息。如果存在该学员,则调用新增学生信息,覆盖之前的信息。

技术分享图片

 

C07 模块化开发信息管理系统案例

标签:需求   查找   技术分享   bubuko   printf   查询   .com   实现   支持   

原文地址:https://www.cnblogs.com/rask/p/10171731.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!