學(xué)生社團(tuán)管理程序C++課程設(shè)計(jì)[1]_第1頁
學(xué)生社團(tuán)管理程序C++課程設(shè)計(jì)[1]_第2頁
免費(fèi)預(yù)覽已結(jié)束,剩余24頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、精品文檔交流合肥學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系課程設(shè)計(jì)報(bào)告20102011 學(xué)年第二學(xué)期課程C+課程設(shè)計(jì)課程設(shè)計(jì)名稱學(xué)生社團(tuán)管理程序?qū)W生姓名章丹學(xué)號1004013033專業(yè)班級計(jì)科(1)班指導(dǎo)教師華姍姍精品文檔交流課程設(shè)計(jì)目的:將理論教學(xué)中涉及到的知識點(diǎn)貫穿起來,對不同的數(shù)據(jù)類型、程序控制結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)作一比較和總結(jié),結(jié)合設(shè)計(jì)題目進(jìn)行綜合性應(yīng)用,對所學(xué)知識達(dá)到融會 貫通的程度。通過課程設(shè)計(jì),學(xué)生在下述各方面的能力應(yīng)該得到鍛煉:(1)進(jìn)一步鞏固、 加深學(xué)生所學(xué)專業(yè)課程 C+程序設(shè)計(jì)語言 的基本理 論知識,理論聯(lián)系實(shí)際,進(jìn)一步培養(yǎng)學(xué)生綜合分析問題,解決問題的能力。(2)全面考核學(xué)生所掌握的基本理論知識及其

2、實(shí)際業(yè)務(wù)能力, 從而達(dá)到提 高學(xué)生素質(zhì)的最終目的。(3) 利用所學(xué)知識,開發(fā)小型應(yīng)用系統(tǒng),掌握運(yùn)用C+語言編寫調(diào)試應(yīng)用 系統(tǒng)程序,訓(xùn)練獨(dú)立開發(fā)應(yīng)用系統(tǒng),進(jìn)行數(shù)據(jù)處理的綜合能力。(4)對于給定的設(shè)計(jì)題目,如何進(jìn)行分析,理清思路,并給出相應(yīng)的數(shù)學(xué) 模型。(5)掌握結(jié)構(gòu)化程序設(shè)計(jì)方法,熟悉面向?qū)ο蟪绦蛟O(shè)計(jì)方法。(6)熟練掌握C+語言的基本語法,靈活運(yùn)用各種數(shù)據(jù)類型。(7)進(jìn)一步掌握在集成環(huán)境下如何調(diào)試程序和修改程序。課程設(shè)計(jì)名稱:學(xué)生社團(tuán)管理程序設(shè)計(jì)內(nèi)容:編寫一個(gè)簡單的學(xué)生社團(tuán)管理程序,幫助管理學(xué)生社團(tuán)信息。要求具 有學(xué)生信息管理和社團(tuán)信息管理的功能。其中學(xué)生信息管理包括學(xué)生基本信息的 錄入、刪除和

3、修改等功能。社團(tuán)信息管理包括社團(tuán)信息的錄入,查看,刪除,修 改等功能。二算法設(shè)計(jì)1設(shè)計(jì)思想:學(xué)生社團(tuán)管理程序(添加信息、修改信息、刪除信息,查詢信息,);要完成這個(gè)題目,主要是建立解決輸入的信息的存儲, 解決的方法是建立動(dòng) 態(tài)數(shù)組,用于存儲信息。解決了這個(gè)問題后就是如何建立聯(lián)系了, 解決的方法是 創(chuàng)建一個(gè)文件檔用來儲存輸入的信息。2功能要求在學(xué)生社團(tuán)管理系統(tǒng)中須實(shí)現(xiàn)以下功能:(1)添加社員信息:能夠社員的信息,添加信息如下圖;(2)修改社員信息:能對學(xué)生社團(tuán)管理系統(tǒng)中存儲的信息進(jìn)行修改;2011 年 6 月、需求分析:精品文檔交流(3)刪除社員信息:可以刪除學(xué)生社團(tuán)管理系統(tǒng)中所有社員的信息;(

4、4)查詢社員信息:按照每個(gè)社員的會員號可以進(jìn)行查詢社員的情況;(5)存儲信息:能夠記錄保存在設(shè)定的文件檔中,以便使用;(6)退出系統(tǒng):任務(wù)完成后,能夠正常退出系統(tǒng)。3.技術(shù)要求(1) 學(xué)生信息管理包括學(xué)生基本信息的錄入、 刪除和修改等功能。社團(tuán)信 息管理包括社團(tuán)信息的錄入,查看,刪除,修改等功能。(2) 信息以文件檔的形式存儲,存儲位置,文件名,文件格式由設(shè)計(jì)者確定。(3) 以菜單方式實(shí)現(xiàn)功能選擇控制。學(xué)生社團(tuán)管理程序的框圖設(shè)計(jì)1總體實(shí)現(xiàn)功能主要的數(shù)據(jù)結(jié)構(gòu):社員會員號、社員姓名,社員年齡,社員性別,社員專 業(yè),社員班級、社團(tuán)名稱。以這些數(shù)據(jù)來存儲學(xué)生的信息,能夠了解學(xué)生社團(tuán)的 各項(xiàng)情況。下圖給

5、出了學(xué)生社團(tuán)管理程序的功能結(jié)構(gòu):精品文檔交流(1 1)添加信息模塊社員進(jìn)入該模塊,輸入自己的相關(guān)信息,輸入后,保存自己的信息,這樣系 統(tǒng)就存儲了你的信息。添加服務(wù)信息社員會*社員姓名甘社員性別*社員年齡社員專業(yè)社員班級社團(tuán)名稱社員年齡社員會員號社員姓名社員性別社員專業(yè)社員班級社團(tuán)名稱精品文檔交流(2)修改信息模塊社員進(jìn)入該模塊,輸入自己的社員會員號,在進(jìn)入自己的信息區(qū)域,修改精品文檔交流自己的相關(guān)信息,再保存,即可(3)刪除信息模塊社員進(jìn)入模塊,可以刪除社員的所有信息,進(jìn)行查看(4)查詢信息模塊社員進(jìn)入該模塊,可以查詢自己的信息情況。(5)退出系統(tǒng)精品文檔交流2、設(shè)計(jì)功能的實(shí)現(xiàn)和分析(1)定義

6、結(jié)構(gòu)體struct Message / stri ng ID;stri ng n ame;stri ng sex;stri ng age;/社員年齡/(2)學(xué)生信息類class stude ntmessagepubliccharMenu();voidAdd();/void Cha nge();/voidDelate();/void Search();/void Write();void Read();private:vector mes;static int times;(3)顯示菜單函數(shù)/菜單/char stude ntmessage:Me nu()coute ndl;coute ndl;c

7、oute ndl;cout學(xué)生社團(tuán)管理系統(tǒng)-選項(xiàng)endl;構(gòu)造學(xué)生信息結(jié)構(gòu)體/社團(tuán)會員號社員姓名 社員性別社員專業(yè)社員班級社團(tuán)名稱stri ng professi on;stri ng grade;stri ng club;/菜單添加社員信息精品文檔交流retur n choose;函數(shù)的分析添加社員信息/錄入/ void stude ntmessage:Add()Read();/從文件檔中讀取已存的信息Message temp;/構(gòu)建一個(gè)臨時(shí)的tempcout 請依次輸入新社員的信息endl;cout社員會員號:tempD;cout社員姓名: temp .n ame;cout社員性別: te

8、mp.sex;cout社員年齡: temp.age;cout社員專業(yè): fessio n;cout社員班級: temp.grade;cout社團(tuán)名稱: temp.club;mes.push_back(temp);/運(yùn)用push_back把輸入的新信息存儲到文件檔中times+;Write();coute ndl;cout coutcout coutcout1.添加社員信息endl;2.修改社員信息endl;3.刪除社員信息endl;4.查詢社員信息endl;5.退出程序choose;endl;精品文檔交流將原有文件檔中的信息讀取出來,然后將信息添加在其后,再一起存入文件檔中 2

9、修改社員信息void stude ntmessage:Cha nge()Read();/從文件檔中讀取已存的信息string sign;/構(gòu)建一個(gè)臨時(shí)的signcout e ndl 輸入要修改的社員信息的會員號:sig n;for(int i=O;imes.size();i+)利用for循環(huán)查找文件檔中的已存入的會員號if (mesi .1 D=sig n)cout endl 你要修改的社員信息是:endlendl;cout社員會員號:mesi.IDendl;coutvv社員姓名:vvendl;cout社員性別:mesi.sexendl;coutvv社員年齡:mesi.age

10、endl;coutvv社員專業(yè):fessi onen dl;coutvv社員班級:vmesi.grade mesi.ID;coutvv社員姓名:vvendl;cin mesi. name; coutvv社員性別:vvendl;cin mesi.sex;coutvv社員年齡:vvendl;cin mesi.age;coutvv社員專業(yè):vve ndl;cin fessi on;coutvv社員班級:vvendl;cin mesi.grade;coutvv社團(tuán)名稱:vvendl;cin mesi.club;Write();break;先將文件檔中的信息讀取出來,然輸

11、入自己需要修改的會員號,利用for循環(huán)查找文件檔中是否存在該會員,如果不存在,則為空,跳出循環(huán),結(jié)束程序,如果 存在,先把信息顯示出來,然后改寫信息。精品文檔交流查找社員信息void stude ntmessage:Search()Read();/從文件檔中讀取已存的信息stri ng sig n;cout e ndl 輸入要查找的社員信息的會員號:sig n;bool flog=false;for(int i=O;imes.size();i+)/利用for循環(huán)查找文件檔中的已存入的會員號if (mesi .1 D=sig n)coutvvendlvv你要查找的教材信息是:endlvvendl

12、;cout社員會員號:mesi.IDendl;coutvv社員姓名:vvendl;cout社員性別:mesi.sexendl;coutvv社員年齡:mesi.ageendl; coutvv社員專業(yè):fessi onen dl; coutvv社員班級:vmesi.grade/寫入/void stude ntmessage:Write()ofstream os(clubmessage.txt,ios_base:out);for(int i=O;ivmes.size();i+)osvmesi.agevve ndlvmesi.clubve ndlmesi.gradee

13、 ndl精品文檔交流vvmesi.IDve ndlmesi. namee fessi onendlmesi.sexe ndl;os.close();創(chuàng)建一個(gè)clubmessage.txt用于儲存社員信息。運(yùn)用ofstream os將信息儲存起來。/讀取/void stude ntmessage:Read()Message tempstude nt;ifstream is(clubmessage.txt,ios_base:i n);while(!is.eof()/當(dāng)字符長度部位空時(shí)運(yùn)行下例讀取文件檔中的信息istempstude nt.agetempstude nt.clu

14、btempstude nt.gradetempstude nt.lDtempstude nt. nametempstude fessi ontempstude nt.sex;mes.push_back(tempstude nt);times+;上面已經(jīng)創(chuàng)建一個(gè)clubmessage.txt用于儲存社員信息。運(yùn)用ifstream os將信息讀 取出來。刪除社員信息void stude ntmessage:Delate()Read();stri ng sig n;cout e ndl 輸入要?jiǎng)h除的社員信息的會員號:sig n;int i; stri ng sig nstr; for(i

15、=0;imes.size();i+) if (mesi .1 D=sig n)精品文檔交流coutendlvv你要?jiǎng)h除的社員信息是:endlendl; cout社員會員號:mesi.IDendl;coutvv社員姓名:vvendl;coutvv性另廿:mesi.sexendl;cout年齡:mesi.agee ndl;coutvv專業(yè):fessionendl;cout班級:vmesi.gradevendl;coutvv社團(tuán)名稱:vmesi.clubve ndl;cout sig nstr;if(signstr=y|signstr=Y) mes.erase(&a

16、mp;mesi);Write();break;先將文件檔中的信息讀取出來,然輸入自己需要?jiǎng)h除的會員號,利用for循環(huán)查找文件檔中是否存在該會員,如果不存在,則為空,跳出循環(huán),結(jié)束程序,如果 存在,確定刪除按“y”把該會員的信息刪除。主函數(shù)int main()stude ntmessage stude nt;while(1)switch(student.Menu()運(yùn)用switch產(chǎn)生循環(huán)操作。case 1:stude nt.Add(); break;case 2:stude nt.Cha nge(); break;case 3:stude nt.Delate(); break;case 4:s

17、tude nt.Search(); break;case 5:exit(0);default:cout輸入有誤endl;break;return 0;四、 用戶手冊首先根據(jù)你在菜單中選擇的類型進(jìn)入,輸入會員號,找到相對應(yīng)的信息。 然后根精品文檔交流據(jù)顯示的提示依次進(jìn)行輸入。用戶利用該系統(tǒng)時(shí)可根據(jù)該利用手冊進(jìn)行運(yùn) 用。五、 調(diào)試及測試出現(xiàn)問題:在修改信息函數(shù)中,開始并不能將原有信息進(jìn)行修改,只能覆蓋掉第一個(gè) 會員信息,而且并沒有把修改之前的信息刪除,顯示時(shí)同時(shí)顯示了修改前后 的信息;文件操作時(shí)不知道如何將輸入的信息進(jìn)行保存,怎樣取出文件的信 息,不能很好的運(yùn)用文件操作;題目提示的運(yùn)用鏈表不會用,

18、數(shù)組類模版不 會用。解決問題:通過問同學(xué),查書籍,上網(wǎng)查看,了解可以創(chuàng)建一個(gè)文件檔來解決問題, 能夠很好的存儲信息在文件檔中,將信息取出,調(diào)用等;文件的操作我利用 一個(gè)函數(shù)編寫保存信息的函數(shù),每次輸入一個(gè)客戶的信息就進(jìn)行保存。數(shù)據(jù)用一個(gè)動(dòng)態(tài)數(shù)組分配一定的內(nèi)存存儲服務(wù)信息在文件檔中;設(shè)計(jì)本程序了解到類和對象、動(dòng)態(tài)數(shù)組、創(chuàng)建文檔等知識的用途,學(xué)到了 新的知識點(diǎn),也看到了自己的不足,要學(xué)好自己的專業(yè)課程看來不是那樣的 簡單,在學(xué)習(xí)階段并沒有寫過這樣大的程序,開始有些手忙腳亂的,所以說 還是要多多看看這的程序,試著寫寫,提高自己的編程能力。六、 小結(jié)這次基礎(chǔ)強(qiáng)化訓(xùn)練的課程設(shè)計(jì)對于我們來說,有一定的難度

19、。因?yàn)樗?求我們較完整的去實(shí)現(xiàn)一個(gè)比較可行的程序。將其應(yīng)用到實(shí)際的生活中去。 我被分配到的題目是售后服務(wù)管理系統(tǒng)的實(shí)現(xiàn)與設(shè)計(jì)。這個(gè)題目相對來說貼 近生活,比較容易理解。但是設(shè)計(jì)一個(gè)較為完整的程序卻不是這么簡單的。首先我分析了相關(guān)的題目內(nèi)容,并由此而進(jìn)行了相關(guān)資料和書籍的查詢 工作然后才開始正式進(jìn)行設(shè)計(jì)。一開始不知從何下手但后來分析了一下題 目,并結(jié)合這學(xué)期所學(xué)的知識,再加上相關(guān)提示我決定用類和對象、對象指 針和文件的內(nèi)容來編寫程序。服務(wù)管理主要就是有一些操作來完成,這些操 作包括:添加社員信息,修改社員信息,刪除社員信息,查詢社員信息,等 等。用C+勺知識來實(shí)現(xiàn)函數(shù):添加,查詢,修改,刪除。

20、最后編寫退出系統(tǒng) 的函數(shù)。在具體編寫程序時(shí)考慮只要編寫前三個(gè)函數(shù),后面的函數(shù)幾乎差不多。添加社員信息:考慮到社員的信息較多,所以用類對其定義。又考慮到信息 量大,所以添加后要保存到文件中去。信息查詢:用構(gòu)建文件檔來寫。修改 信息:把保存到文件中的內(nèi)容寫到文件檔中去, 把其讀取出來,再進(jìn)行修改, 再保存。同時(shí)通過這幾天的程序及報(bào)告編寫,我也發(fā)現(xiàn)了自己的很多不足,自 己知識的很多漏洞, 看到了自己的實(shí)踐經(jīng)驗(yàn)還是比較缺乏, 理論聯(lián)系實(shí)際的 能力還是比較脆弱。尤其是編寫大型的程序所要擁有的知識和技能比較缺 乏。程序編好了,還要經(jīng)過調(diào)試和修改,這步也很關(guān)鍵,好的程序是經(jīng)過了 無數(shù)次的修改和調(diào)試才產(chǎn)生的。

21、我的程序基本上能夠滿足要求,但還有一些 地方需要改進(jìn),在今后我應(yīng)該在多看書的同時(shí)還要加強(qiáng)實(shí)踐的練習(xí)。才能進(jìn) 一步提高自己的編程能力。最后,還要感謝我們實(shí)驗(yàn)室指導(dǎo)老師的細(xì)心指導(dǎo)、熱心幫助。路漫漫 其修遠(yuǎn)兮,雖然本學(xué)期數(shù)據(jù)結(jié)構(gòu)課程結(jié)束了,但仍覺得自己還有很多東西 要學(xué),我會在自己在精品文檔交流以后的學(xué)習(xí)生活中不斷努力、不斷提高,爭取更大的 進(jìn)步。七、參考文獻(xiàn)1閔聯(lián)營,何克右.C+程序設(shè)計(jì)教程.武漢理工大學(xué)出版社;2嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C語言版).清華大學(xué)出版社;3 張文祥,肖四友.C+實(shí)驗(yàn)與案例分析.科學(xué)出版社;4譚浩強(qiáng).C+程序設(shè)計(jì).清華大學(xué)出版社;5朱戰(zhàn)立.數(shù)據(jù)結(jié)構(gòu)(C+語言描述)(第二

22、版本).高等教育出版社。附錄1#in clude#i nclude#in clude#in clude#in clude using n amespace std;struct Message精品文檔交流stri ng ID;/stri ng sex;/stri ng age;/stri ng professi on;/stri ng grade;/stri ng club;/;class stude ntmessagepublic:charMe nu();/菜單voidAdd();/添加社員信息voidCha nge();/修改社員信息voidDelate();/刪除社員信息voidSear

23、ch();/查詢社員信息voidWrite();/寫入文件voidRead();/從文件中讀取private:vector mes;static int times;int stude ntmessage:times=O;/菜單/char stude ntmessage:Me nu()coute ndl;coute ndl;coute ndl;社員姓名社員性別社員年齡社員專業(yè)社員班級社團(tuán)名稱精品文檔交流cout學(xué)生社團(tuán)管理系統(tǒng)-選項(xiàng)endl;cout*endl;coute ndl;精品文檔交流添加社員信息endl;修改社員信息endl;刪除社員信息endl;查詢社員信息endl;退出程序 ch

24、oose; retur n choose;/錄入/void stude ntmessage:Add()Read();Message temp;cout 請依次輸入新社員的信息endl; cout社員會員號:tempD;cout社員姓名: temp .n ame;coutvv社員性別: temp.sex;cout社員年齡: temp.age;cout社員專業(yè): fessio n;cout社員班級: temp.grade;cout社團(tuán)名稱: temp.club;mes.push_back(temp);times+;Write();void stude ntmessage:Cha n

25、ge()Read();stri ng sig n;cout e ndl 輸入要修改的社員信息的會員號:sig n;cout1.cout2.cout3.cout4.cout5.精品文檔交流for(int i=O;imes.size();i+)if (mesi .1 D=sig n)cout endl 你要修改的社員信息是:endlendl;cout社員會員號:mesi.IDendl;cout社員姓名:endl;cout社員性別:mesi.sexe ndl;cout社員年齡:mesi.ageendl;cout社員專業(yè):fessio nen dl;cout社員班級:

26、mesi.gradee ndl;cout社團(tuán)名稱:mesi.clube ndl;coute ndl;coute ndl;cout 請依次輸入新教材的信息endl; cout社員會員號: mesi.ID;cout社員姓名:mesi. name;cout社員性別: mesi.sex;cout社員年齡: mesi.age;cout社員專業(yè): fessi on;cout社員班級: mesi.grade;cout社團(tuán)名稱: mesi.club;Write();break;void stude ntmessage:Search()Read();精品文檔交流stri ng sig n;cou

27、t e ndl 輸入要查找的社員信息的會員號:sig n;bool flog=false;for(int i=O;imes.size();i+)if (mesi .1 D=sig n)coute ndlvv你要查找的教材信息是:endlendl;cout社員會員號:mesi.IDendl;cout社員姓名:vvendl;cout社員性別:mesi.sexe ndl;cout社員年齡:mesi.ageendl;cout社員專業(yè):fessi onen dl;cout社員班級:mesi.gradeendl;cout社團(tuán)名稱:mesi.clube ndl;flog=t

28、rue;break;if(flog=false) cout nounen dl;/寫入/void stude ntmessage:Write()ofstream os(clubmessage.txt,ios_base:out);for(int i=0;imes.size();i+)osmesi.agee ndl精品文檔交流vmesi.clubve ndl vmesi.gradeve ndl vvmesi.IDve ndl e ndl fessi onendl mesi.sextempstude nt.clubtempstude nt.gradetempstud

29、e nt.lDtempstude nt. nametempstude fessi ontempstude nt.sex; mes.push_back(tempstude nt); times+;void stude ntmessage:Delate()Read();stri ng sig n;cout e ndl sig n;int i;stri ng sig nstr;for(i=0;imes.size();i+)if (mesi .1 D=sig n)coutendlvv你要?jiǎng)h除的社員信息是:endlendl;cout社員會員號:mesi.IDendl;cout社員姓名:mes

30、i. namee ndl;:endl;精品文檔交流cout社員性別:mesi.sexe ndl;cout社員年齡:mesi.agee ndl;cout社員專業(yè):fessi onen dl;cout社員班級:mesi.gradee ndl;cout社團(tuán)名稱:mesi.clube ndl;coutvy/n?v sig nstr;if(sig nstr=y|sig nstr=Y)mes.erase(&mesi);Write();break;int mai n()stude ntmessage stude nt;while(1)switch(stude nt.Me nu()case 1:stude nt.Add(); break;case 2:stude nt.Cha nge(); break;case 3:stude nt.Delate(); break;case 4:stude nt.Search(); break;case 5:exit(0); default:cout輸入有誤endl;break;return 0;精品文檔交流附錄2:1.本系統(tǒng)可以在VC6.0,turbeC2.0,C+Build中運(yùn)行。2運(yùn)行進(jìn)入使用界面,按界面提示進(jìn)行操作 界面如下:CAUse rsuDe s

溫馨提示

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

評論

0/150

提交評論