1. 程式人生 > >C07 模組化開發資訊管理系統案例

C07 模組化開發資訊管理系統案例

目錄

  • 需求分析
  • 問題分析
  • 開發階段

  

需求分析

總體需求

學員資訊管理系統支援以下功能

  • 增加學員資訊功能
  • 刪除學員資訊功能
  • 查詢學員資訊功能
  • 修改學員資訊功能
  • 輸出所有學員資訊功能
  • 退出系統

其他需求

  • 學員資訊需求
  • 學號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()函式的實現

功能:根據學號,修改該學員資訊。如果存在該學員,則呼叫新增學生資訊,覆蓋之前的資訊。