![學生社團管理程序C++課程設計[1]_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/0dbd442e-a1e4-4470-895c-932447cb278c/0dbd442e-a1e4-4470-895c-932447cb278c1.gif)
![學生社團管理程序C++課程設計[1]_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/0dbd442e-a1e4-4470-895c-932447cb278c/0dbd442e-a1e4-4470-895c-932447cb278c2.gif)
![學生社團管理程序C++課程設計[1]_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/0dbd442e-a1e4-4470-895c-932447cb278c/0dbd442e-a1e4-4470-895c-932447cb278c3.gif)
![學生社團管理程序C++課程設計[1]_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/0dbd442e-a1e4-4470-895c-932447cb278c/0dbd442e-a1e4-4470-895c-932447cb278c4.gif)
![學生社團管理程序C++課程設計[1]_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/0dbd442e-a1e4-4470-895c-932447cb278c/0dbd442e-a1e4-4470-895c-932447cb278c5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、【精品文檔】如有侵權,請聯系網站刪除,僅供學習與交流學生社團管理程序C+課程設計1.精品文檔.合肥學院計算機科學與技術系課程設計報告20102011學年第二學期課程 C+課程設計課程設計名稱學生社團管理程序學生姓名章 丹學號1004013033專業班級計科(1)班 指導教師華姍姍2011年6月一、 課程設計目的:將理論教學中涉及到的知識點貫穿起來,對不同的數據類型、程序控制結構、數據結構作一比較和總結,結合設計題目進行綜合性應用,對所學知識達到融會貫通的程度。通過課程設計,學生在下述各方面的能力應該得到鍛煉:(1)進一步鞏固、加深學生所學專業課程C+程序設計語言的基本理論知識,理論聯系實際,進
2、一步培養學生綜合分析問題,解決問題的能力。 (2)全面考核學生所掌握的基本理論知識及其實際業務能力,從而達到提高學生素質的最終目的。 (3)利用所學知識,開發小型應用系統,掌握運用C+語言編寫調試應用系統程序,訓練獨立開發應用系統,進行數據處理的綜合能力。(4)對于給定的設計題目,如何進行分析,理清思路,并給出相應的數學模型。 (5)掌握結構化程序設計方法,熟悉面向對象程序設計方法。(6)熟練掌握C+語言的基本語法,靈活運用各種數據類型。(7)進一步掌握在集成環境下如何調試程序和修改程序。二、需求分析:課程設計名稱:學生社團管理程序設計內容:編寫一個簡單的學生社團管理程序,幫助管理學生社團信息
3、。要求具有學生信息管理和社團信息管理的功能。其中學生信息管理包括學生基本信息的錄入、刪除和修改等功能。社團信息管理包括社團信息的錄入,查看,刪除,修改等功能。二 算法設計1設計思想:學生社團管理程序(添加信息、修改信息、刪除信息,查詢信息,); 要完成這個題目,主要是建立解決輸入的信息的存儲,解決的方法是建立動態數組,用于存儲信息。解決了這個問題后就是如何建立聯系了,解決的方法是創建一個文件檔用來儲存輸入的信息。2功能要求 在學生社團管理系統中須實現以下功能:(1) 添加社員信息:能夠社員的信息,添加信息如下圖;(2) 修改社員信息:能對學生社團管理系統中存儲的信息進行修改;(3) 刪除社員信
4、息:可以刪除學生社團管理系統中所有社員的信息;(4) 查詢社員信息: 按照每個社員的會員號可以進行查詢社員的情況;(5) 存儲信息:能夠記錄保存在設定的文件檔中,以便使用;(6) 退出系統:任務完成后,能夠正常退出系統。3. 技術要求(1)學生信息管理包括學生基本信息的錄入、刪除和修改等功能。社團信息管理包括社團信息的錄入,查看,刪除,修改等功能。 (2)信息以文件檔的形式存儲,存儲位置,文件名,文件格式由設計者確定。(3)以菜單方式實現功能選擇控制。 三 學生社團管理程序的框圖設計1 總體實現功能 主要的數據結構:社員會員號、社員姓名,社員年齡,社員性別,社員專業,社員班級、社團名稱。以這些
5、數據來存儲學生的信息,能夠了解學生社團的各項情況。 下圖給出了學生社團管理程序的功能結構:社 員選擇1、添加社員信息2、修改社員信息5、退出系統4、查詢社員信息3、刪除社員信息社員會員號社員姓名社員年齡社員性別社員專業社員班級社團名稱(1) 添加信息模塊社員進入該模塊,輸入自己的相關信息,輸入后,保存自己的信息,這樣系統就存儲了你的信息。添加服務信息社員會員號社員姓名社員性別社員年齡社員專業社員班級社團名稱存儲信息(2) 修改信息模塊社員進入該模塊,輸入自己的社員會員號,在進入自己的信息區域,修改自己的相關信息,再保存,即可。輸入要修改的社員會員號(正確)社員會員號社員姓名社員性別社員年齡社員
6、專業社員班級社團名稱存儲信息修改社員信息(3)刪除信息模塊社員進入模塊,可以刪除社員的所有信息,進行查看。(4)查詢信息模塊 社員進入該模塊,可以查詢自己的信息情況。輸入要查詢的社員的會員號(正確)社員會員社員姓名社員年齡社員性別社員專業社員班級 社團名稱查詢社員信息(5)退出系統2、設計功能的實現和分析(1)定義結構體struct Message /構造學生信息結構體 string ID; /社團會員號 string name; /社員姓名 string sex; /社員性別 string age; /社員年齡 string profession; /社員專業 string grade; /
7、社員班級 string club; /社團名稱(2)學生信息類class studentmessagepublicchar Menu(); /菜單 void Add(); /添加社員信息 void Change(); /修改社員信息 void Delate(); /刪除社員信息 void Search(); /查詢社員信息void Write(); /寫入文件void Read(); /從文件中讀取private:vector mes; static int times;(3) 顯示菜單函數/菜單/char studentmessage:Menu() coutendl; coutendl;co
8、utendl;cout 學生社團管理系統-選項endl;cout*endl;coutendl;cout 1.添加社員信息endl;cout 2.修改社員信息endl; cout 3.刪除社員信息endl; cout 4.查詢社員信息endl;cout 5.退出程序choose; return choose;(4) 函數的分析添加社員信息/錄入/void studentmessage:Add()Read(); /從文件檔中讀取已存的信息Message temp; /構建一個臨時的tempcout 請依次輸入新社員的信息 endl; cout社員會員號:temp.ID; cout社員姓名:temp
9、.name; cout社員性別:temp.sex;cout社員年齡:temp.age; cout社員專業:fession; cout社員班級:temp.grade;cout社團名稱:temp.club;mes.push_back(temp); /運用push_back把輸入的新信息存儲到文件檔中times+;Write();將原有文件檔中的信息讀取出來,然后將信息添加在其后,再一起存入文件檔中。2修改社員信息void studentmessage:Change()Read(); /從文件檔中讀取已存的信息string sign; /構建一個臨時的sign cout endl 輸
10、入要修改的社員信息的會員號: sign;for(int i=0;imes.size();i+) /利用for循環查找文件檔中的已存入的會員號 if (mesi.ID=sign) cout endl 你要修改的社員信息是: endlendl; cout社員會員號:mesi.IDendl; cout社員姓名:endl; cout社員性別 :mesi.sexendl; cout社員年齡:mesi.ageendl; cout社員專業:fessionendl; cout社員班級:mesi.gradeendl; cout社團名稱:mesi.clubendl; couten
11、dl; coutendl; cout 請依次輸入新教材的信息 endl; cout社員會員號:mesi.ID; cout社員姓名:; cout社員性別:mesi.sex;cout社員年齡:mesi.age;cout社員專業:fession;cout社員班級:mesi.grade;cout社團名稱:mesi.club;Write();break;先將文件檔中的信息讀取出來,然輸入自己需要修改的會員號,利用for循環查找文件檔中是否存在該會員,如果不存在,則為空,跳出循環,結束程序,如果存在,先把信息顯示出來,然后改寫信息。查找社員信息void studentme
12、ssage:Search()Read(); /從文件檔中讀取已存的信息string sign; cout endl 輸入要查找的社員信息的會員號: sign;bool flog=false; for(int i=0;imes.size();i+) /利用for循環查找文件檔中的已存入的會員號 if (mesi.ID=sign) coutendl你要查找的教材信息是: endlendl; cout社員會員號:mesi.IDendl;cout社員姓名:endl; cout社員性別 :mesi.sexendl; cout社員年齡:mesi.ageendl; cout社員專業:mes
13、fessionendl; cout社員班級:mesi.gradeendl; cout社團名稱:mesi.clubendl;flog=true;break;if(flog=false) coutnounendl; 先將文件檔中的信息讀取出來,然輸入自己需要查找的會員號,利用for循環查找文件檔中是否存在該會員,如果不存在,則為空,跳出循環,結束程序,如果存在,把該會員的信息顯示出來。/寫入/void studentmessage:Write()ofstream os(clubmessage.txt,ios_base:out);for(int i=0;imes.size();i+)osm
14、esi.ageendlmesi.clubendlmesi.gradeendlmesi.IDfessionendlmesi.sexendl;os.close();創建一個clubmessage.txt用于儲存社員信息。運用ofstream os將信息儲存起來。/讀取/void studentmessage:Read()Message tempstudent; ifstream is(clubmessage.txt,ios_base:in); while(!is.eof() /當字符長度部位空時運行下例讀取文件檔中的信息istempstudent.
15、agetempstudent.clubtempstudent.gradetempstudent.IDfessiontempstudent.sex;mes.push_back(tempstudent);times+;上面已經創建一個clubmessage.txt用于儲存社員信息。運用ifstream os將信息讀取出來。刪除社員信息void studentmessage:Delate()Read();string sign; cout endl 輸入要刪除的社員信息的會員號: sign;int i;string signstr;for
16、(i=0;imes.size();i+) if (mesi.ID=sign) coutendl你要刪除的社員信息是: endlendl;cout社員會員號:mesi.IDendl;cout社員姓名:endl; cout性別 :mesi.sexendl; cout年齡:mesi.ageendl; cout專業:fessionendl; cout班級:mesi.gradeendl; cout社團名稱:mesi.clubendl;couty/n?signstr;if(signstr=y|signstr=Y)mes.erase(&mesi);Write();break
17、;先將文件檔中的信息讀取出來,然輸入自己需要刪除的會員號,利用for循環查找文件檔中是否存在該會員,如果不存在,則為空,跳出循環,結束程序,如果存在,確定刪除按“y”,把該會員的信息刪除。主函數int main()studentmessage student;while(1) switch(student.Menu()/運用switch產生循環操作。 case 1:student.Add(); break; case 2:student.Change(); break; case 3:student.Delate(); break; case 4:student.Search(); break
18、; case 5:exit(0); default:cout輸入有誤endl;break;return 0;四、 用戶手冊首先根據你在菜單中選擇的類型進入,輸入會員號,找到相對應的信息。然后根據顯示的提示依次進行輸入。用戶利用該系統時可根據該利用手冊進行運用。五、 調試及測試 出現問題:在修改信息函數中,開始并不能將原有信息進行修改,只能覆蓋掉第一個會員信息,而且并沒有把修改之前的信息刪除,顯示時同時顯示了修改前后的信息;文件操作時不知道如何將輸入的信息進行保存,怎樣取出文件的信息,不能很好的運用文件操作;題目提示的運用鏈表不會用,數組類模版不會用。解決問題:通過問同學,查書籍,上網查看,了解
19、可以創建一個文件檔來解決問題,能夠很好的存儲信息在文件檔中,將信息取出,調用等;文件的操作我利用一個函數編寫保存信息的函數,每次輸入一個客戶的信息就進行保存。數據用一個動態數組分配一定的內存存儲服務信息在文件檔中;設計本程序了解到類和對象、動態數組、創建文檔等知識的用途,學到了新的知識點,也看到了自己的不足,要學好自己的專業課程看來不是那樣的簡單,在學習階段并沒有寫過這樣大的程序,開始有些手忙腳亂的,所以說還是要多多看看這的程序,試著寫寫,提高自己的編程能力。六、 小結 這次基礎強化訓練的課程設計對于我們來說,有一定的難度。因為他要求我們較完整的去實現一個比較可行的程序。將其應用到實際的生活中
20、去。我被分配到的題目是售后服務管理系統的實現與設計。這個題目相對來說貼近生活,比較容易理解。但是設計一個較為完整的程序卻不是這么簡單的。 首先我分析了相關的題目內容,并由此而進行了相關資料和書籍的查詢工作然后才開始正式進行設計。一開始不知從何下手但后來分析了一下題目,并結合這學期所學的知識,再加上相關提示我決定用類和對象、對象指針和文件的內容來編寫程序。服務管理主要就是有一些操作來完成,這些操作包括:添加社員信息,修改社員信息,刪除社員信息,查詢社員信息,等等。用C+的知識來實現函數:添加,查詢,修改,刪除。最后編寫退出系統的函數。 在具體編寫程序時考慮只要編寫前三個函數,后面的函數幾乎差不多
21、。添加社員信息:考慮到社員的信息較多,所以用類對其定義。又考慮到信息量大,所以添加后要保存到文件中去。信息查詢:用構建文件檔來寫。修改信息:把保存到文件中的內容寫到文件檔中去,把其讀取出來,再進行修改,再保存。 同時通過這幾天的程序及報告編寫,我也發現了自己的很多不足,自己知識的很多漏洞,看到了自己的實踐經驗還是比較缺乏,理論聯系實際的能力還是比較脆弱。尤其是編寫大型的程序所要擁有的知識和技能比較缺乏。程序編好了,還要經過調試和修改,這步也很關鍵,好的程序是經過了無數次的修改和調試才產生的。我的程序基本上能夠滿足要求,但還有一些地方需要改進,在今后我應該在多看書的同時還要加強實踐的練習。才能進
22、一步提高自己的編程能力。 最后,還要感謝我們實驗室指導老師的細心指導、熱心幫助。路漫漫其修遠兮,雖然本學期數據結構課程結束了,但仍覺得自己還有很多東西要學,我會在自己在以后的學習生活中不斷努力、不斷提高,爭取更大的進步。七、參考文獻1 閔聯營,何克右.C+程序設計教程.武漢理工大學出版社; 2 嚴蔚敏,吳偉民.數據結構(C語言版).清華大學出版社; 3 張文祥, 肖四友.C+實驗與案例分析. 科學出版社; 4 譚浩強.C+程序設計. 清華大學出版社; 5 朱戰立.數據結構(C+語言描述)(第二版本).高等教育出版社。 附錄1 #include#include#include#include#i
23、ncludeusing namespace std;struct Message string ID; /社員姓名 string sex; /社員性別 string age; /社員年齡 string profession; / 社員專業 string grade; /社員班級 string club; /社團名稱class studentmessagepublic:charMenu();/菜單 voidAdd(); /添加社員信息 voidChange(); /修改社員信息 voidDelate(); /刪除社員信息 voidSearch(); /查詢社員信息voidWrite(); /寫入
24、文件voidRead();/從文件中讀取private:vector mes; static int times;int studentmessage:times=0;/菜單/char studentmessage:Menu() coutendl; coutendl;coutendl;cout 學生社團管理系統-選項endl;cout*endl;coutendl;cout 1.添加社員信息endl;cout 2.修改社員信息endl; cout 3.刪除社員信息endl; cout 4.查詢社員信息endl;cout 5.退出程序choose; return choose;/錄入/void s
25、tudentmessage:Add()Read();Message temp;cout 請依次輸入新社員的信息 endl; cout社員會員號:temp.ID; cout社員姓名:; cout社員性別:temp.sex;cout社員年齡:temp.age; cout社員專業:fession; cout社員班級:temp.grade;cout社團名稱:temp.club;mes.push_back(temp);times+;Write();void studentmessage:Change()Read();string sign; cout endl 輸入要修
26、改的社員信息的會員號: sign;for(int i=0;imes.size();i+)if (mesi.ID=sign) cout endl 你要修改的社員信息是: endlendl; cout社員會員號:mesi.IDendl; cout社員姓名:endl; cout社員性別 :mesi.sexendl; cout社員年齡:mesi.ageendl; cout社員專業:fessionendl; cout社員班級:mesi.gradeendl; cout社團名稱:mesi.clubendl; coutendl; coutendl; cout 請依次輸入新教材
27、的信息 endl; cout社員會員號:mesi.ID; cout社員姓名:;cout社員性別:mesi.sex;cout社員年齡:mesi.age;cout社員專業:fession;cout社員班級:mesi.grade;cout社團名稱:mesi.club;Write();break;void studentmessage:Search()Read();string sign; cout endl 輸入要查找的社員信息的會員號: sign;bool flog=false;for(int i=0;imes.size();i+) if (mesi.ID=sig
28、n) coutendl你要查找的教材信息是: endlendl; cout社員會員號:mesi.IDendl; cout社員姓名:endl; cout社員性別 :mesi.sexendl; cout社員年齡:mesi.ageendl; cout社員專業:fessionendl; cout社員班級:mesi.gradeendl; cout社團名稱:mesi.clubendl;flog=true;break;if(flog=false) coutnounendl; /寫入/void studentmessage:Write()ofstream os(clubmes
29、sage.txt,ios_base:out);for(int i=0;imes.size();i+)osmesi.ageendlmesi.clubendlmesi.gradeendlmesi.IDfessionendlmesi.sextempstudent.agetempstudent.clubtempstudent.gradetempstudent.IDfessiontempstudent.sex;mes.push_back(tempstudent);times+;void studentmessage:Delate()Read();string sign;cou
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 股權轉讓交易資金監管與新興產業扶持政策應用合同
- 股權代持解除及股份回購服務協議
- 生物醫藥股東股權研發投入與利益共享協議
- 生物科技股份合作研究合同
- 高端美容院技師雇傭服務協議
- 股權與債權雙重轉讓的房地產項目開發合作協議
- 四股東共同投資農業科技合作協議
- 生物科技股東合作協議大全
- 通信設備股份公司股權轉讓與網絡基礎設施建設合同
- 2024-2025學年浙江省溫州市八年級(下)期末數學試卷
- 煤礦在用安全設備檢測檢驗制度
- JJG 781-2019數字指示軌道衡
- JJG 30-2012通用卡尺
- GB/T 9729-2007化學試劑氯化物測定通用方法
- GB/T 8196-2018機械安全防護裝置固定式和活動式防護裝置的設計與制造一般要求
- GB/T 24632.2-2009產品幾何技術規范(GPS)圓度第2部分:規范操作集
- GB/T 20428-2006巖石平板
- GB/T 11363-1989釬焊接頭強度試驗方法
- 內調焦準距式望遠系統光學設計2022年
- 緊急采購申請單
- 核磁共振的發展史課件
評論
0/150
提交評論