學生考勤管理系統課程設計報告_第1頁
學生考勤管理系統課程設計報告_第2頁
學生考勤管理系統課程設計報告_第3頁
學生考勤管理系統課程設計報告_第4頁
學生考勤管理系統課程設計報告_第5頁
已閱讀5頁,還剩29頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、-xOOOl.29合肥學院計劣機科禽鳥技術系課程設計報告20102011學年第二期課程C+程序設計語言課程設計名稱學生考勤管理系統學生姓名王兵學號1004032035專業班級網絡工程(2)班指導教師何立新、陳艷平2011年7月-xOOOl.29record學生考勤管理系統目錄No table of contents entries found. 需求分析開發一個好的軟件,進行深入細致的可行性研究是極其必要的,而且還必須做大量的,全 面的需求分析,需求分析是軟件定義時期的最后一個階段,它更是開發一個好的軟件的基礎。 它的基本任務是準確地回答“需要此軟件的人都需要哪些功能? ”這個問題。需求分析的

2、主要任務是確定系統必須完成哪些工作,也就是對U標系統提出完整的、準 確的、具體的、清晰的要求,確定系統必須具有的功能和性能,系統要求的運行環境,以及 預測系統發展的前景,并仔細分析系統中的數據,以便完善良好的軟件環境。在需求分析階 段系統分析員將仔細研究軟件所需要完成的具體功能。1功能需求:1、錄入學生的缺勤記錄;2、修改某個學生的缺勤記錄;3、查詢某個學生的缺勤情況;4、統訃某段時間內,缺勤學生學號及缺勤次數,按缺勤權值統計學生的負分值,并能 進行排序;5、統計某段時間內,有學生曠課的課程及曠課人次,按曠課人次由多到少排序;6、系統以菜單方式工作2數據需求本系統主要涉及的數據有學生缺課信息類

3、和有關信息排序類。學生缺課信息包括缺課時 間,學生姓名,課程名稱,第兒節,學生遲到次數,早退次數,請假次數,曠課次數。有關 信息排序類包括對課程排序和對姓名排序。3性能需求要求系統具有可靠性,速度要快二、算法設計1.設計思想學生考勤系統結構圖:基類的數 據成員和 成員描述-xOOOl.29String date, cname, sname; int eno, type;void set (); string tostr ();類名/函 數名描述類名/函 數名描述record基類edt()修改學生信 息records實現學生曠課情況 排序的類 del()刪除學生信 息wt/rd()實現對文件的輸

4、入 和輸出search ()查找學生信 息input ()錄入學生的缺課記 錄search_s()定范圍查 找學生信息edt ()修改學生信息main()主函數設計思想:此程序是過程性語言設汁的。運用多種條件語句,主體采用的是動態數組、指針。系統 的設計采用了數組語句、選擇語句和循環語句,在需要處理大量同類數據時,這樣就使程序書 寫更加簡潔。程序使用了布爾函數。選擇語句多采用辻多分支選擇結構與switch語句。首 先計算switch表達式,然后在Cdes子句中尋找值相等的常量表達式,并以此為入口符號, 由此開始順序執行。循環語句采用了 for語句等、do-while語句,for語句用于已知循環

5、次 數的循環結構,括號中的三個量分別用來表示循環變量初值、循環終值和循環增量。do-while 語句先循環后判斷,Break語句在switch語句中,保證多分支惜況的正確執行,在循環語 句中,強制終止本層循環。保存和讀取函數是典型的函數功能,一個程序是山若干個函數組 成的,保存和讀取函數是和其他函數互相調用的再有使用有關類的設計,學生缺課信息類和有關信息排序類,如下:class record/學生缺課信息類public:void set (string d, int eno,string c,string s,int type)date, assign(d);日期cname. assign(c

6、) ;/課程名字 sname. assign(s) ;/學生姓名-xOOOl.29this-cno=cno: /對缺課類型的選擇 為int型 thi s-type 二 type; / 缺課類型void set(record re)date, assign(re. date);cname. assign(re. cname);sname. assign(re. sname);this-cno=re. eno;this-type=re. type;string date, cname, sname;int eno,type;;class records/實現學生曠課情況排序的類public:rec

7、ords ()/構造函數r=new record100;n二0;void order_s ()/姓名的排序int i;int j;string *s=new stringn:int *c=new int n;s0. assign(rOj. sname);c0二 1;int k=l, flag;for( i二l;in;i+)flag=0;for( j=O;jk;j+)-xOOOl.29if(ri, sname二二sj)cj+;flag=l; break;if(!flag)sk=ri. sname: ck+=l;)for(i=l;iO;j)if (cjcj-l)int tmp二cj; cj=cj-

8、l;cj-l=tmp;string stmp二sj; sj=sj-l;sj-l=stmp;)cout“曠課學生姓名t曠課次數,endl;for(i=0;ik;i+)couts ili endl;void order_c ()/課程排丿了int i, j;string *s=new stringn: int *c=new int n;s0. assign(r0. cname);c0二 1;int k=l, flag;for( i二l;in;i+)xM0129flag=O;for(j=0;jk;j+)if(ri. cname二二sj)cj+;flag=l;break;if (!flag)sk=ri

9、. cname: ck+=l;for(i=l;icj-lj)int tmp二cj;cj=cj-l;cj-l:二 tmp;string stmp二sj;sj二sj-l;sj-lstmp;cout課程名t曠課人次,zendl;for(i=0;ik;i+)couts i ,t,c i endl;record *r;int n;;把所有的學生記錄都保存到一個文件里面,然后根據需要再將里面需要查找的元素進行 查找,相應的排序可能就是將他們盡可能壓進關聯式容器map,有的部分就壓入set里面, 這些都是根據模塊的功能來選定的。可以這么說,選擇好合理的數據結構查找與排序就可以 一勞永逸了。這點在后面部分會有

10、詳細的說明。還有就是對各功能子函數的編寫應用。-xOOOl.292.對功能的實現:(1) 、錄入學生的缺課記錄,函數代碼void input (records *r) 模塊中。首先提示用戶按 照正確的格式進行學生缺課記錄的錄入,這個步驟比較簡單,只需要不斷地將記錄的每個數 據項存入結構體對應的成員中。(2) 、修改某個學生的缺課記錄,函數代碼void edt (records *r) 模塊中。首先必須查找 到你所需要修改的那位的學生全部缺課記錄。這個模塊不需要定義新的結構體。在修改前當 然要檢查記錄是否為空了,不為空的話,可以設置下面這五個菜單供用戶選擇:1、缺課日期 2、第兒節課3、課程名稱

11、4、學生姓名5、缺課類型6、退出修改程序并返回系統主菜單。修 改很簡單,僅需要對該學生的某個部分進行替換即可。采用switch語句很快就解決。最后實 現對所選記錄的修改,完成后更新原有的學生記錄。(3) 、查詢某個學生的缺課情況,函數代碼void search (records *r) 模塊中。達到查詢 結果按照日期升序排序,同一天內按照所缺課程的時間升序排序的目的,(4) 、統計,函數代碼為void order_c () 和void order_s () 的類模塊中。其 中實現對課程排序和對學生姓名的排序。三、用戶手冊使用時根據提示進行選擇和輸入操作,當輸入有誤時會出現“輸入有誤,重新輸入!

12、 ”。首 先進入程序是會有提示輸入下面序號,序號后面的文字代表選擇某序號后的功能。1. 顯示所有學生的缺課記錄2. 錄入學生的缺課信息記錄3. 查詢某個學生的缺課情況4. 修改某個學生的缺課記錄5. 刪除某個學生的缺課記錄6. 統計某段時間內曠課情況7. 退出系統四、調試及測試當用戶執行程序時首先會出現如下界面也是主菜單界面:-xOOOl.29C:UseswbDesktop學生考勤管理卷統Debug學生考勤管淫殺統exe”MM-M歡迎訪間學生考勤管理系統六CD i回M-M-M系統主菜單:1212 3 3 4 4 5 5 6 6錄錄況錄錄況 記記It It記記It It 圉SB圉圉團 缺霜缺缺曠

13、 的番的的內統 生缺生生生呼爾 學的董季時岀 有生幫 事某某某某 示人詢改除計? 顯錄杳_修呼oo請選擇你所需要的操作oo:當輸入序號1時會出現所有學生記錄:.C:UserswbDesktop學生考勤管理泵統Debug學生考勤管理殺統exe”歡迎訪冋學生考勤管理系統*CD I回系統王菜單錄錄況錄錄況 記記骨記記青 缺尊缺缺曠 的番的的內統 生缺生生生累 學的蓋辜時岀 有生更子某某某某 示人詢改除計2 2 毘嚐-遲1 1 2 2 3 3 4 4 5 5 6 6on_Qo請選擇你所需要的操作oo: i序號缺課日期0100412110062321004013100613410071551006011

14、006021006031006048091001Fl10是否返回主菜單? 稱程*語理路語路語理數*數 課C+C+英物蟲央恵央物亠咼高一白 次 6317345632963173456329 節生三四亦詩小依宀WW龍 學奎劉劉肇朱養1 1竺型類課 課課課課假B諭 BfBnDfBriSFBriBriariari潮再選擇y就會乂回到主菜單界面,選n時就會退出。 當在主菜單是選擇序號2時就會出現如下界面:-xOOOl.29-xOOOl.29.C:UserswbDesktop學生考勤管理泵統Debug學生考勤管湮殺統exe”歡迎訪間學生考勤管理系統六M-M-MCZD 回系統主菜單:1212 3 3 4 4

15、 5 5 6 6錄錄況錄錄況 記記It It記記| 缺霜缺缺曠 的番的的內統 生缺生生生 學的董爭時岀 畢某某某某 示人詢改除計7 7 顯錄查修縷爭衛弱丈 ? 選鬣節稱生型?/n/n單 墜星日幾拿類入3菜 O O學讐課課常?王 nn條缺缺缺缺缺續改回 _n_n一入入入入人繼修返 n n入*理SS-SS-議否存否 00nnnnno: 2R 4曠課)按照提示進行輸入,如果要繼續輸入則選擇滬否則選n推出并會提示是否保存錄入的內容。 當在主菜單是選擇序號3時會出現界面:C:UserswbDesktop學生考勤管理泵統Debug學生考勤管裁統exe”K-M-M歡迎訪間學生考勤管理系統六CD i回S系統主

16、菜單:WWWX XMM-MK-M-MK-M-MK-M-M1212 3 3 4 4 5 5 6 6K-M-M錄錄況錄錄況 記記It It記記骨 團期團楽圉團 缺霜缺缺曠 的番的的內統 生缺生生生累 學的瓷S-T-S-T-時岀 舉某某某某 ;收余十7 7 顯錄查修墨備狀&籬辜鱷聲的操作如C 胡欲序號缺課日期節次遅猿名稱01107018高數是否返回主菜單? 3小一一你的選擇J蠶姓名嬲類型-xOOOl.29-xOOOl.29MM-M歡迎訪間學生考勤管理系統六S系統主菜單:KMMK-M-MK-M-MK-M-M1212 3 3 4 4 5 5 6 6WWWX X錄錄況錄錄況 記記It It記記骨 缺篇缺缺

17、曠 的番的的內統 生缺生生生呼爾 學的宀S-S-S-S-于時岀 畢某某某某 示人詢改除計7 7 顯錄查修鄭“三三弟兒節課:8 ? y5 缺課類型6 全部2-C:Use廠swbDesktop學生考勤管理卷統Debug學生考勤管理殺統exe”oS_Qo請選擇你所需要的操作oo: 3鶴矍痢瞌選擇:.此時就要求輸入查詢的學生姓名,輸入之后如果記錄沒有就會出現“沒有查到該學生的缺課 紀錄”,如果有的話就會顯示次學生的記錄。當在主菜單是選擇序號4時,就會提示輸入需要修改的姓名,如果此學生有會出現:C:UseswbDesktop學生考勤巷理親爼Debug學生考勤管理殺統exe”no: 4請談要修改的題目訂J

18、 宀“ i .Bl B期2 錄錄況錄錄況 記記骨記記| 缺霜缺缺曠 的番的的內統 生缺生生生累 學的宀S-S-ES-S-E時岀 煩-T-T-某某某某 示人詢改除計7 7 - -S S遂怡嚟 1212 3 3 4 4 5 5 6 6系統主菜單-xOOOl.29缺課節次3缺課名稱4. 賺瀟雪i - I魯I直仝菜單? 3小你的選擇:如果沒有此學生就會出現:-xOOOl.29.C:UserswbDesktop學生考勤管理系統Debug學生考勒管淫殺統exe”KM-M歡迎訪間學生考勤管理系統六M-M-M系統主菜單:1212 3 3 4 4 5 5 6 6錄錄況錄錄況 記記It It記記It It 團SB

19、圉圉團 缺霜缺缺曠 的番的的內統 生缺生生生型爾 學的宀X-S-T-X-S-T-時岀 有生畢某某某某 示人詢改薛? 顯錄查修鄭k y/n)-你的選擇:同樣在主菜單選擇5時會出現:C:UserswbDesktop學生考勤管理泵統Debug學生考勤管理殺統exe”歡迎訪間學生考勤管理系統六系統主菜單:1212 3 3 4 4 5 5 6 6錄錄況錄錄況 記記|記記骨 缺霜缺缺曠 的番的的內統 生缺生生生聖 學的號S-S-T-S-S-T-時岀 有生畢某某某某 - -X.U7X.U7 顯錄查修鄭CD I回oo慰擇你鱷要的請輸入要刪除的記錄的序號:10保存修改? y皇否返回主菜單? 3如一一你的選擇:半

20、:選擇6時則會出現界面:-xOOOl.29-xOOOl.29CZ) I 回MM-M歡迎訪問學生考勤管理系統六M-M-MS系統主菜單:K-M-MK-M-MK-M-M1212 3 3 4 4 5 5 6 6MM-M錄錄況錄錄況 記記骨記記青 缺第缺缺曠 的畫的的內統 生缺生生生回爾 學的號SKSK時出 畢某某某某 示人詢改除計? 顯修聖K-M-M歡迎訪間學生考勤管理系統M-M-M系統主菜單:1212 3 3 4 4 5 5 6 6錄錄況錄錄況 記記骨記記青 缺第缺缺曠 的番的的內統 生缺生生生累 學的蓋S-T-S-T-時岀 有生髯 畢某某某某 示人詢改除計? 顯錄杳修縷 9UserswbDeskt

21、op學生琴勤管理棗統Debug學生考勤管理殺統exe”Pn_Qo常選擇你巫需要旳操作oo: 6 請輸入要檢索的時間祀圍: 080101-1106029 請氓擇繞計芳我:學生曠課情況降序顯示2.課程曠課情況降序顯示1 融捫嚨蕎曠課情況如W |:陳小春1性安妮1區否道回主菜單?(n -你的選擇:在統方式選1的話會出現上面的界面,選2的話界面如下:-C:UserswbDesktop學生考勤管理M統Debug學生考勤管悪統exe”oo w選擇你質需要的操作oo: 6請輸入要檢索的時間氾圍:例如110610-110612 080101-110629 十青氓擇繞計芳我:.學生曠課情況降序顯示2-課程曠課情

22、況降序顯示2孵01鮒翼間課程曠課情況如z物理 2C+1是否返回王菜單?(”n 你的選擇:X選擇7時:就會退出系統如果想再次使用就必須再次打開程序選擇功能使用。-xOOOl.29五、小結本次課程設計主要使用到了 C+中的一些比較基本的算法,總體上感覺比之前做過的實 驗綜合性比較強。在這里我主要總結一下我設計這個學生考勤管理系統的心得和在編譯程序 的過程中遇到的問題以及解決的辦法。為了使得程序的編寫更加有條理,閱讀更加明了,在寫每個模塊的時候都將自己的思路 寫在每個函數的第一行,告訴自己(讀者)我這個函數將要做的是什么事情。這是一個很好 的編程規范,值得繼續發揚。對于這次的程序的編寫,花了不少時間

23、,原因很可能是自己對C+的總體認知還不夠, 還有在上學期一個月對C+的學習知識量很有限,在編寫調試的這個過程中很多新的語法知 識都是在網上搜索的。當然錯誤自然是非常多的,比如bool型的,在網上看過了,感覺用的 人比較多,也覺得挺好用的,在本程序中也使用了 bool型的,如bool timechk ();知道 bool為布爾型,只有一個字節,取值false和true,是0和1的區別,不過在使用的時候老是 出錯。還有使用append ()添加文本常用方法:直接添加另一個完整的字符串,如 strl. append(str2);添加另一個字符串的某一段子串:如 strl. append(str2,

24、11, 7);添加兒個相同的字符:如strl. append(5,;注意,個數在前字符在后.上面的代碼意思為 在strl后面添加5個再比如類的數據成員的初始化可以采用初始化表或函數體內賦值兩種方式,這兩種方式 C:UserswbDesktop學生考勤管理泵統Debug學生考勤管湮殺統exe”M-M-M|回MM-M歡迎訪問學生考勤管理系統六系統主菜單:顯錄查修一1 1 2 2 3 3 4 4 5 5 6 6錄錄況錄錄況 記記骨記記青 圉爲制圉圉團 缺第缺缺曠 的番的的內統 生缺生生生回爾 學的當時出oo請選擇你所需要的操作oo:Press any key to continue-xOOOl.29

25、的效率不完全相同。非內部數據類型的成員對象應當釆用第一種方式初始化,以獲取更高的 效率。內部數據類型的數據成員而言,兩種初始化方式的效率兒乎沒有區別,但后者的程序 版式似乎更清晰些。不能在類聲明中初始化const數據成員,類的const常量只能在初始化 表里被初始化。在設計好思路以后就是測試數據的設計,不過本次實驗的測試數據比較死板,沒什么好變動 的。我學習編程一直有自己的一點想法:用任務來牽引,在實踐中學習。也就是說,我沒有 按照某種固定的順序去學習編程,而是經常有一些小的程序想法或是想編一個滿足特定功能 的程序。這樣剛開始兒乎每次都是在對所編程序一無所知的基礎上進行,山簡單到復雜,一 個問

26、題一個問題地去解決。當然,很多時候我失敗了,但在這過程中,我學到了很多。問題 一個個地解決,知識一點點地積累,經驗一點點地豐富,想法一點點地成熟,成功概率也一 點點地提高。現在編寫一些簡單的桌面應用程序也基本上沒有問題了。首先聲明,雖然我不是什么高手,不過通過這次編寫這樣的系統的學習我還是有一點心 得的。學編程急不得,上來就學VC肯定碰一頭灰,說VC難就難在這點上了。如果硬上,意 志堅強的話也許能挺過來,但也是會缺乏后勁,不得不回過頭來補習基礎知識。意志不堅強 的話,很有可能就此放棄了,并留下一個VC難得不得了的印象。其實,只要踏踏實實一步一 步來,VC也就是很簡單點事。在這里我說一下,如果你

27、還只是一個初中生,那么你就應當仔 細考慮一下了。首先,限于你的知識和思維能力,學學C語言還應該沒問題,但要學VC是要 下相當大的功夫的。而且,你現在學到的東西將來一定會過時,所以不如把精力放在算法的 研究上,畢竟這些東西永遠都不會過時。由于時間把握不好,這個系統是在兒天空余時間寫出來的,難免有點倉促,任然有許多 需要改進的方向,但基本的功能已經達到了。最后,通過完成編程,我達到了:1.加深對本課程理論知識的理解,提高實際應用能力:2.樹立自身對理論聯系實際的工作作風、嚴肅認真的科學態度;3.進一步訓練和提高自身的分析設計能力、理論計算能力、實驗研究能力、外文閱 讀、查閱文獻資料和文字表達等基本

28、技能;4.培養自身獨立分析、解決實際問題的能力,培養自身的創新意識和創新能力。六、參考文獻1 .鄭莉等編著C卄語言程序設計(第三版)北京:清華大學出版社2 .鄭莉等編著C卄語言程序設計(第三版)學生用書北京: 清華大學出版社 31.李春葆等編著C+程序設計學習與上機實驗指導北京:清華大學出版社4 .范輝等編著Visual C+6.0程序設計簡明教程高等教育出版社5 .李龍潮C+程序設計實訓教程北京:清華大學出版社61.洪國勝等編著C+ Builder程序設計輕松上手北京:清華大學出版社7.嚴蔚敏等數據結構(c語言版)北京:清華大學出版社,1997年4月笫1版。 -xOOOl.2981.胡學鋼等

29、數據結構算法設計指導北京:清華大學出版社,1999年第1版。附錄源程序代碼第一部分:學生考勤管理系統.cppinclude stdlib. hinclude hanshushixian. h#include record h-xOOOl.29cout/z 水*endl;cout水*endl;cout水*endl;cou t 水*endl;cou t 水*endl;cou t 水*endl;cou t 水*endl;cout/z*2.錄入學生的缺課信息記錄*3.查詢某個學生的缺課情況*4.修改某個學生的缺課記錄*5.刪除某個學生的缺課記錄*6.統計某段時間內曠課情況*7.退出系統include

30、#include include #include using namespace std;#include recordh int main()cl: 主菜單實現 system(cls); coutz/o(n_n)o 請選擇你所需要的操作 o(n_n)o: z,fiush; int chose;c2:cinchose;i.f (chose二二7) exit (0);records *r=new records ();rd(r);cout,zcout,z歡迎訪問學生考勤管理系統*cout,z*系統主菜單: 1 顯示所有學生的缺課記錄-xOOOl.29switch (chose)case 1:p

31、ri (r);break;case 2:input (r);break;case 3:search (r):break;case 4:edt(r);break;case 5:del (r);break;case 6:search_s(r):break;default:goto c2;)cout/,是否返回主菜單?(y/n) -你的選擇:flush;char yn;c3:cinyn;if (yn=, y )goto cl;else if (yn=n) exit (0);else goto c3;return 0;第二部分:record, h(類的設計部分)nclude #include usin

32、g namespace std;#ifndef record_class#define record_classclass record /關于學生考勤基本信息類public:void set(string d,int eno,string c,string s,int type)date, assign (d);cname. assign(c);sname. assign(s);this-eno二eno;-xOOOl.29this-type二type;void set (record & re)date, assign (re. date) ;/assign可以避免不必要的內存分配,可以提高

33、效率 cname. assign (re. cname);sname. assign (re. sname);this-eno二re eno;this-type二re type;st ring tos tr()string s;char tmp3;s. assign (date);itoa(cno, tmp, 10);s. append (#);s. append(tmp) ;/直接添加另一個完整的字符串s. append (#);s. append (cname);s. append (#);s. append(sname);itoa(type, tmp, 10);s. append(#);

34、s. append (tmp);return s;string date:string cname;string sname;int eno;int type:;#endif record_class#ifndef records_class-xOOOl.29#define records_classclass records/實現學生曠課情況排序的類public:records ()/構造函數r二new record100;n二 0;void order_s ()/姓名的排序int i;int j;string 水s二new stringn;int *c二new int n;s0. assi

35、gn(r0. sname);c0二 1;int k=l, flag;for( i二l;in;i+)flag=0;for( j=O;jk;j+)if(ri. sname=sj)cj+;flag=l;-xOOOl.29break;if(!flag)sk=ri. sname:ck+=l;for(i=l;i0; j)if (cjcj-lj)int tmp二cj;cj=cj-l;cj-l=tmp;string stmp二sj; sj=sj-l;sj-l=stmp;)coutz/曠課學生姓名t曠課次數,endl; for(i=0;ik;i+)couts i,tt,/c i endl;void order_

36、c ()/課程排序int i, j;string *s=new stringn;int *c二new int n;s0. assign(r0. cname);c0二 1;int k=l, flag;for( i二l;in;i+)flag=0;for(j=0;jk;j+)if (ri. cname=sj)-xOOOl.29cj+;flag=l;break;if(!flag)sk=ri. cname: ck+=l;)for(i=l;i0; j)if (cjcj-lj)int tmp二cj;cj=cj-l;cj-l=tmp;string stmp二sj;sj=sj-l;sj-l=stmp;)cout

37、,z課程名t曠課人次endl;for(i=0;ik;i+)coutsi,t,c i endl;record *r;int n;;#endif records_class第三部分:hanshushixian. h(功能子函數的實現部分)Sinclude record h -xOOOl.29#include include #include include stdHb. h #include using namespace std;void wt (records *r)/實現對文件的輸出 ofstream outf (z,data. txt);for(int i=0;in;i+)outfr-r

38、i to str ()endl; outf! endl;void rd (records *r) /實現對文件的輸入 ifstream inf(data txt);if (inf. eof ()cout記錄為空! n=0;while(true)inf. getline (tmp, 10, #); if (tmp 0 =!) break;tl assign(tmp);inf. getline(tmp, 3, ;t2=atoi(tmp);inf. getline (tmp, 30, ;t3 assign (tmp);inf. getline (tmp, 30, ;t4 assign(tmp);in

39、f. getline(tmp, 3);-xOOOl.29t5=atoi(tmp);r-rr-n+ set (tl, t2, t3, t4, t5);bool timechk(string tl)int year=atoi (tl substr (0, 2) c_str ();int month=atoi (t 1. substr (2, 2) c_str ();int day=atoi(tl substr(4, 2) c_str();if(!(tl. length()=6&year0&year0&month0&dayt2;if(t210)coutz/節次錄入有誤!請重新錄入:endl;goto

40、 m2;cout,/請輸入缺課名稱:flush;cint3;cout請輸入缺課學生姓名:flush;cint4;-xOOOl.29m3:cout請輸入缺課類型:(1.遲到2.早退3.請假4.曠課)flush;cint5;if(t54)cout類型輸入有誤!請重新錄入:endl;goto m3;for (int i=0;in;i+)if(r-ri date=tl&r-ri eno二二t2&r-ri cname=t3&r-ri sname=二t4& r-ri type=t5)cout該條記錄已存在,是否添加為新記錄?(y/n) flush;nl:cinyn;if (yn=,y)break;else

41、 if(yn二二n)goto n2;else goto nl;r-r r-n+. set (tl, t2, t3, t4, t5);n2:cout,/是否繼續輸入?(y/n) flush;n3:cinyn;if (yn=, y,)goto ml;else if(yn=,n )cout保存修改?(y/n) flush;cinyn;if (yn=, y )wt (r);else :return;else goto n3;void prione(record r)-xOOOl.29coutr. date,tt,/r. cnotr. cname,tt,/r. snamen=0)cout/,記錄為空!,

42、endl;return;coutn序號t缺課日期節次t課程名稱t學生姓名t缺課類型endl;for(int i二0;ir-n;i+)coutril);void edt (records *r)/修改學生信息int i;if(r-n=0)-xOOOl.29coutz,記錄為空!,endl;return;cout請輸入要修改缺課記錄的學生姓名:flush;string tl, t3, t4;char tmp30;int t2,t5,flag=0;cintmp;tl. assign(tmp);for(i=0;in;i+)if (r-ri sname=tl)flag=7;break;if(!flag)coutri date;t2=r-ri eno;t3=rri cname;t4二r-ri sname;t5=rri type;cout請輸入要修改的項目:n(l.缺課日期2.缺課節次3.缺課名稱4.學生姓名5. 缺課類型6.全部)flush;e0:cinflag;switch(flag)case 1:goto el:case 2:goto e2;case 3:goto e3;case 4:goto e4;case 5:goto e5;-xOOOl.29case 6:

溫馨提示

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

評論

0/150

提交評論