C語言課程設計 學生證管理系統(tǒng)_第1頁
C語言課程設計 學生證管理系統(tǒng)_第2頁
C語言課程設計 學生證管理系統(tǒng)_第3頁
C語言課程設計 學生證管理系統(tǒng)_第4頁
C語言課程設計 學生證管理系統(tǒng)_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

C 語言課程設計報告 2010 年 11 月 26 日 報告目錄 一、 課程設計 目的 3 二、 實習內(nèi)容及要求 3 三、 需 求分析 3 四、 總體分析 3 五、 詳細設計 4 頭文件及 結(jié)構(gòu)體 4 主函數(shù) 5 - 2 - 菜單 模塊 5 添加模塊 6 修改模塊 10 瀏覽 模塊 14 查詢模塊 15 學號查詢 15 名字查詢 16 班級查詢 17 統(tǒng)計 模塊 18 生信息 19 生信息 21 體學生信息 23 刪除模塊 23 六、 上機 操作 26 統(tǒng) 說明 26 統(tǒng)測試 26 七、總結(jié) 32 八、源代碼 32 一、課程設計 目的 通 過實踐, 學會 編制結(jié) 構(gòu)清晰、風格良好、數(shù)據(jù)結(jié)構(gòu)適當?shù)?C 語言程序, 加深 對 C 語言基礎知識 的理解 和掌握 ,進一步鞏固 C 語言編程實踐能力 ,鍛煉思維邏輯 和解決綜合性實際問題的能力 。 二、實習內(nèi)容及要求 1、 用 系統(tǒng)具有以下功能: ( 1) 錄入某位學生的學生證信息; - 3 - ( 2) 給定學號,顯示某位學生的學生證信息; ( 3) 給定某個班級的班號,顯示該班所有學生的學生證信息; ( 4) 給定某位學生的學號,修改該學生的學生證信息; ( 5) 給定某位學生的學號,刪除該學生的學生證信息; ( 6) 提供一些統(tǒng)計各類信息的功能; ( 7) 提供 瀏覽所有學生的學生證信息 的功能 。 2、輸入要求 應用程序運行后,在屏幕上顯示一個菜單;用戶可以根據(jù)要求,選定相應的操作項目;進入某個操作后,根據(jù)應用程序的提示,從鍵盤輸入相應的信息。 3、輸出 要求 ( 1)應用程序運行后,要在屏幕上顯示一個菜單; ( 2)要求用戶輸入數(shù)據(jù)時,給出清晰、明確的提示信息,包括輸入的數(shù)據(jù)內(nèi)容、格式 及結(jié)束方式等。 三、需求分析 根據(jù)題目要求, 學生信息要從 文本文件中 存取 ,所以 本程序 應 該 提 供 讀寫 文件 , 顯示、 統(tǒng)計、查詢、修改 記錄, 保存 文件 等操作 , 此外, 還應該提供鍵盤式選擇菜 單實現(xiàn)功能 。 四、總體設計 根據(jù)需求分析,可以把 這個系統(tǒng)的設計分為 添加、修改、查詢、瀏覽、統(tǒng)計、刪除六大 模塊, 其中查詢模塊 可以分為三個子模塊,統(tǒng)計模塊可以分為三個子模塊,子模塊下面還有子 函數(shù); 系統(tǒng)功能模塊圖如下所示: - 4 - 五、詳細設計 文件及結(jié)構(gòu)體 # 100 /班級 0; /班名 0; /班號 ; /學生 0; /姓名 0; /性別 0; /學號 /年齡 /嵌套結(jié)構(gòu)體,表示班級信息 ; /結(jié)構(gòu)體數(shù)組, 用作讀取和 存放臨時數(shù)據(jù) 函數(shù) ; /菜單 ; - 5 - 單 ntttt 學生證管理系統(tǒng) n); ); 菜單 :n); ); 請輸入數(shù)字選擇 :); %d,& if( ; 輸入錯誤,請重新輸入 !n); ; ; 1); - 6 - :; /添加 模塊 :; /修改 模塊 :; /瀏覽 模塊 :; /查詢 模塊 :; /統(tǒng)計 模塊 :; /刪除 模塊 :); /退出 加模塊 首 先 要 判 斷 文 果存在就以讀寫( r+)的方式打開,如果不存在,就以寫( w)輸入格式要求:性別為男或女,學號為11 位且不能重復,年齡在0級號為 6位,程序提供了完善的驗證機制,輸入錯誤時將提示重新輸入直到正確為止。此外,如果以讀寫的方式打開 ,還要判斷記錄數(shù) 年齡應在 0間,請重新輸入年齡 !n); ; ; ; 1); n 班號( 6 位) :); %s, if(=6) 輸入錯誤, 班號長度應為 6 位數(shù) !n); ; ; ; 1); no, n 班名 :); %s,& n%st%st%st%dt%st%s, n 保存成功! n); n 請按 返回主菜單 !n); ; ; ; /以上的輸入是以寫的方式輸入 ,下面是以 讀 寫的方式輸入數(shù)據(jù) i=0;!i+) %s%s%s%d%s%s,&iiiiii i; /記錄數(shù) - 9 - if(N) n 保存記錄數(shù)超出結(jié)構(gòu)體數(shù)組數(shù)的大小,請先修改 N 的值 ! n); n 請按 返回主菜單 !n); ; ; ; n 請按照提示輸入學生信息 :nn); 姓名 :); %s,& n 性別(男或女) :); %s, 男 )!=0)&(女 )!=0) 輸入錯誤,請輸入男或女 !n); ; ; ; 1); n 學號( 11 位) :); %s, if(=11) 輸入錯誤,學號長度應為 11 位數(shù) !n); ; ; ; i=0; 年齡應在 0間,請重新輸入年齡 !n); ; ; ; 1); n 班號( 6 位) :); %s, if(=6) 輸入錯誤,班號長度應為 6 位數(shù) !n); ; ; ; 1); n 班名 :); %s,& /把該記錄寫到文件末尾 n%st%st%st%dt%st%s, n 保存成功! n); n 請按 返回主菜單 !n); ; ; ; 改模塊 - 11 - i; 0; 0; 0; 1; 0; r)= 文件打不開! n); ; i=0;!i+) / %s%s%s%d%s%s,&iiiiii i; n 請輸入學號選擇要修改的記錄 : ); %s, 先 判斷文件 讀( r)的方式能否打開 , 不能就返回,可以就讀入記錄;然后輸入學號查找記錄,沒找到就返回,找到就按照提示修改該記錄,與輸入模塊一樣,輸入的格式要求:性別為男或女,學號為 11 位且不能與除當前修改的記錄的學號外的記錄的學號重復,年齡在0間,班級號為 6 位,程序提供了完善的驗證機制,輸入錯誤時將提示重新輸入直到正確為止。輸入完成后,再以寫( w)的方式創(chuàng) 建文件,不能創(chuàng)建就返回,可以就將結(jié)構(gòu)體數(shù)組中的所有記錄保存到文件中,這與添加稍有差別,最后返回主菜單。 開 始( f p r = f o p e n ( S t u I n f o . t x t , r ) ) = = N U L 文 件輸 入 學 號根 據(jù) 提 示 輸入 新 信 息( f p w = f o p e n ( S t u I n f o . t x t , w ) ) = = N U L 數(shù) 據(jù)主 菜 單是 否 存 在 該 學 號 的 記 錄否是否是否是 - 12 - i=0; 年齡應在 0間,請重新輸入年齡 !n); ; ; ; 1); n 班號( 6 位) :); %s, if(=6) 輸入錯誤,班號長度應為 6 位數(shù) !n); ; ; ; 1); n 班名 :); %s,& w)= 文件打不開,保存失??! n); ; i=0; ; ; ; 1); :;:;:;:; 據(jù)學號查找某學生的學生證信息: 1; i; 0; fp=r)= 文件打不開! n); ; - 16 - i=0;!i+) %s%s%s%d%s%s,&i&iii&ii i; n 請輸入學生學號 :); %s, i=0; - 19 - ; ; ; 1); : ; /男生的統(tǒng)計信息 n 請按 返回上級菜單 !n); ; ; ; : ; /女生的統(tǒng)計信息 n 請按 返回上級菜單 !n); ; ; : ; /全體學生的統(tǒng)計信息 n 請按 返回上級菜單 !n); ; ; :; 計 男生 信息子模塊 /人數(shù) /平均年齡 ; ; n 男生總?cè)藬?shù)為: %dn 平均年 齡為: %fn, 回 男生人數(shù)子函數(shù) - 20 - ; i; fp=r)= 文件打不開! n); ; i=0;!i+) %s%s%s%d%s%s,&iiiiii i; i=0; 計女生信息子模塊 ; ; n 女生總?cè)藬?shù)為: %dn 平均年齡為: %fn, 回女生人數(shù)子函數(shù) ; i; fp=r)= 文件打不開! n); ; i=0;!i+) %s%s%s%d%s%s,&iiii - 22 - ii i; i=0; 體學生統(tǒng)計信息子模塊 ; G(); n 學生總?cè)藬?shù)為: %dn 學生平均年齡為: %fn, ; ; 回全體學生的人數(shù)子函數(shù) +; 回全體學生的平均年齡 子函數(shù) G() *+*)/(+); 除模塊 i; 1; - 24 - 0; r)= 文件打不開! n); ; i=0;!i+) %s%s%s%d%s%s, &ii&ii&i&i i; n 請輸入學號選擇你要刪除的記錄 :); %s, i=0;i # 100 /班級 0; /班名 0; /班號 ; /學生 0; /姓名 0; /性別 0; /學號 /年齡 /嵌套結(jié)構(gòu)體,表示班級信息 ; ; /主菜單 ; /添加模塊 ; /修改模塊 ; /刪除模塊 ; /瀏覽模塊 ; /查詢模塊 ; /統(tǒng)計模塊 ; /按姓名查詢,子模塊 ; /按學號查詢,子模塊 ; /按班號查詢,子 模塊 - 33 - ; /返回全體學生統(tǒng)計信息,子模塊 ; /女生統(tǒng)計信息,子模塊 ; /男生統(tǒng)計信息,子模塊 ; /返回女生人數(shù),子函數(shù) ; /返回女生平均年齡,子函數(shù) ; /返回男生人數(shù),子函數(shù) ; /返回男生平均年齡,子函數(shù) ; /返回全體學生人數(shù),子函數(shù) G(); /返回全體學生的平均年齡,子函數(shù) ; ; /菜單 ; /清屏 ntttt 學生證管理系統(tǒng) n); ); 菜單 :n); ); 請輸入數(shù)字選擇 :); %d,& if( 輸入錯誤,請重新輸入 !n); ; ; ; 1); :; :; :; :; :; - 34 - :; :); /添加學生信息,一次添加一條記錄 i; 0; 0; 0; fp=r+)= /以 讀寫方式打開 fp=w)= n 文件不存在且創(chuàng)建失敗 ,返回! n); ; n 請按照提示輸入學生信息 :nn); 姓名 :); %s,& n 性別(男或女) :); %s, 男 )!=0)&(女 )!=0) 輸入錯誤,請輸入男或女 !n); ; ; ; 1); n 學號( 11 位) :); %s, if(=11) - 35 - 輸入錯誤,學號長度應為 11 位數(shù) !n); ; ; ; 1); n 年齡 :); %d,& if( 年齡應在 0間,請重新輸入年齡 !n); ; ; ; 1); n 班號( 6 位) :); %s, if(=6) 輸入錯誤,班號長度應為 6 位數(shù) !n); ; ; ; 1); no, n 班名 :); %s,& n%st%st%st%dt%st%s, n 保存成功! n); n 請按 返回主菜單 !n); ; ; ; - 36 - i=0;!i+) /讀取文件 %s%s%s%d%s%s,&iiiiii i; if(N) n 保存記錄數(shù)超出結(jié)構(gòu)體數(shù)組數(shù)的大小,請先修改 N 的值 n); ; n 請按照提示輸入學生信息 :nn); 姓名 :); %s,& n 性別(男或女) :); %s, 男 )!=0)&(女 )!=0) 輸入錯誤,請輸入男或女 !n); ; ; ; 1); n 學號( 11 位) :); %s, if(=11) 輸入錯誤,學號長度應為 11 位數(shù) !n); ; ; ; i=0; 年齡應在 0間,請重新輸入年齡 !n); ; ; ; 1); n 班號( 6 位 ) :); %s, if(=6) 輸入錯誤,班號長度應為 6 位數(shù) !n); ; ; ; 1); n 班名 :); %s,& /把該記錄寫到文件末尾 n%st%st%st%dt%st%s, n 保存成功! n); n 請按 返 回主菜單 !n); ; ; - 38 - ; /修改學生信息 i; 0; 0; 0; 1; 0; r)= 文件打不開! n); ; i=0;!i+) /讀取文件 %s%s%s%d%s%s,&iiiiii i; n 請輸入學號選擇要修改的記錄 :); %s, i=0; 年齡應在 0間,請重新輸入年齡 !n); ; ; - 40 - ; 1); n 班號( 6 位) :); %s, if(=6) 輸入錯誤,班號長度應 為 6 位數(shù) !n); ; ; ; 1); n 班名 :); %s,& w)= 文件打不開,保存失敗! n); ; i=0; - 42 - ; ; ; 1); :;:;:;:; 1; i; 0; fp=r)= 文件打不開! n); ; i=0;!i+) /讀取文件 %s%s%s%d%s%s,&iiiiii i; n 請輸入學生學號 :); %s, i=0; ; ; ; 1); : ; n 請按 返回上級菜單 !n); ; ; ; : ; n 請按 返回上級菜單 !n); ; ; ; : ; - 46 - n 請按 返回上級菜單 !n); ; ; ; :; /男生基本統(tǒng)計信息 ; ; n 男生總?cè)藬?shù)為: %dn 平均年齡為: %fn, /男生人數(shù) ; i; fp=r)= 文件打不開! n); ; i=0;!i+) /讀取文件 %s%s%s%d%s%s,&iiiiii i; i=0; /女生人數(shù) ; - 48 - i; fp=r)= 文件打不開! n); ; i=0;!i+) /讀取文件 %s%s%s%d%s%s,&iiiiii i; i=0; /全體學生基本統(tǒng)計信息 ; G(); n 學生總?cè)藬?shù)為: %dn 學生平均年齡為: %fn, ; ; /全體學生人數(shù) +; - 50 - G() /全體學生平均年齡 *+*)/(+); i; 1; 0; r)= 文件打不開! n); ; i=0;!i+

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論