c 課程設計學生考勤管理系統報告 2

2021-10-01 21:32:43 字數 2659 閱讀 2351

根據分析整個系統主要劃分為7個功能模組,分別執行要求中的功能。資料管理中可以對學生的基本資訊、課程的基本資訊、學生缺課的查詢、新增、刪除和修改。查詢管理通過根據學生姓名,課程姓名時間段兒等資訊,查詢單個學生的缺課記錄,單科課的曠課記錄,單個學生的曠課記錄。

功能模組圖如圖1所示:

圖1功能模組圖

這個程式是過程性語言設計的。運用多種條件語句,主體採用的是鍊錶指標。系統的設計採用了陣列語句、選擇語句和迴圈語句,在需要處理大量同類資料時,這樣就使程式書寫更加簡潔。

程式使用了布林函式。選擇語句多採用if多分支選擇結構與switch語句。首先計算switch表示式,然後在caes子句中尋找值相等的常量表示式,並以此為入口符號,由此開始順序執行。

迴圈語句採用了for語句等、do-while語句,for語句用於已知迴圈次數的迴圈結構,括號中的三個量分別用來表示迴圈變數初值、迴圈終值和迴圈增量。do-while語句先迴圈後判斷, break語句在switch語句中,保證多分支情況的正確執行,在迴圈語句中,強制終止本層迴圈。儲存和讀取函式是典型的函式功能,乙個程式是由若干個函式組成的,儲存和讀取函式是和其他函式互相呼叫的。

struct xueke

;這是定義了乙個xueke結構體,用來存放乙個學科名及其相應的曠課人數;

struct student

;這是定義了乙個student的結構體,用來存放乙個學生的考勤記錄,

其中有,字元陣列name[50],lesson_name[50],分別存放學生名字,

缺課課程名字;int型變數lesson_time,chidao_num,zaotui_num,qingjia_numkuangke_num,分別來存放,缺課節次,遲到次數,早退次數,請假次數,曠課次數 long型變數time,記錄時間。

要建立的學生人數,學生基本資訊(包括缺課時間、學生姓名、課程名稱、節次、遲到次數、早退次數、請假次數、曠課次數)可用creat()函式如圖1. 圖1

根據要修改的學生姓名以及科目名稱找到相應的資訊,再選擇要修改的專案進行單項修改如圖2

圖2根據人名可以查出該學生的所有缺課記錄如圖3

圖3根據學科名稱和時間範圍查出所有在該範圍內曠課的學生以及次數如圖4

圖4根據要查詢的學科名稱及時間段查出在改時間段內該門課上曠課的人數如圖5

圖5可以載入實現儲存在當前資料夾中txt檔案中所儲存的資料如圖6

圖6進入系統介面,順序的完成各項操作,進行資料的輸入,資訊的儲存呼叫相應的函式開啟相應的位址,查詢各項資訊。如圖7

圖7開始選單

圖1 開始選單

主選單 圖2 主選單

建立學生缺課記錄

圖2建立學生缺課記錄

儲存學生曠課記錄

圖3儲存學生曠課記錄

課程設計順利完成,題目所要求的功能基本實現,可以對學生的缺課資訊進行新增,修改,刪除以及查詢的顯示。不過這個程式還不夠完善,例如不能往當前資料夾中的txt檔案中新增記錄。

整個系統的設計過程對於我來說是個學習、探索的過程,通過借鑑別人,學習設計程式,在整個設計過程中,出現過很多的問題,很多繁瑣的東西都需要反覆的修改,主要是因為前期的學習不認真,對系統的需求分析的要求認識不清楚,使得在後邊的工作中不得不經常反覆請教別人去修改。使我體會到設定中每一步的重要性。所以在分析乙個問題時,我們需要站在乙個有遠見的高度。

通過此次設計,我對c++語言程式設計有了深刻的認識,積累了使用軟體工程的思想來開發軟體的經驗,更重要的是學會了在對待問題時應該考慮到哪些方面和怎麼解決問題。

雖然時間緊迫但我學會了不少,感到自身知識的貧乏,希望在日後積極學習並嘗試努力中能做出完善的系統。

#include //cstdio是將stdio.h的內容用c++標頭檔案的形式表示出來

#include

#include //malloc的全稱是memory allocation,中文叫動態記憶體分配,當無法知道記憶體具體位置的時候,想要繫結真正的記憶體空間,就需要用到動態的分配記憶體。

#include //當呼叫庫函式,客戶程式提供的是string型別引數,而庫函式內部實現用的是c-串,因此需要將string物件,轉化為char*物件,而c_str()提供了這樣一種方法,它返回乙個客戶程式可讀不可改的指向字元陣列的指標。

#include //i/o流控制標頭檔案

#define null 0

#define guding 10

#define len sizeof(struct student)

using namespace std;

int student_num;

file *fp1;

struct xueke

;struct student

;void chaxun(struct student *head)

p=p->next; }

}struct student *xiugai(struct student *head)

while((strcmp(xiugai_name,p1->name)!=0||strcmp(xiugai_xueke_name,p1->lesson_name)!=0)&&(p1->next!

=null))

p1=p1->next;

if(strcmp(xiugai_name,p1->name)==0&&strcmp(xiugai_xueke_name,p1->lesson_name)==0)

{ cout《修改資訊n";

C語言課程設計任務 學生考勤系統

c語言程式設計 課程設計報告 設計題目 學生考勤管理系統設計 院系 生命科技學院 班級 農學122 姓名 劉玉柱 學號 20120114203 河南科技學院 2013 年冬季學期 一 總體設計 1 程式的總體設計 確定介面,使使用者可選擇操作專案 錄入,修改,查詢,評分,介面美化 錄入功能 使用結構...

學生考勤管理系統課程設計

高階語言程式設計 課程設計報告 計算機與資訊工程系 2013年6月30日 目錄1設計內容及要求3 1.1設計內容3 1.2設計任務及具體要求3 2概要設計4 2.1該系統的功能簡介4 2.2 總體程式框圖4 2.3各個模組之間的主要關係5 3 設計過程或程式 5 3.1各個模組的程式流程圖及執行介面...

C學生成績管理系統課程設計報告

課程設計報告 課程設計名稱 學生成績管理系統 系部名稱 中印計算機軟體學院 學生姓名 班級 13級應1 學號 2013010700 成績指導教師 開課時間 2013 2014 學年第二學期目錄第一章緒論1 1.1 設計目的 1.2 開發工具選擇 1.3 開發環境 1.4 本報告的主要內容 第二章需求...