C語言綜合實訓設計報告_第1頁
C語言綜合實訓設計報告_第2頁
C語言綜合實訓設計報告_第3頁
C語言綜合實訓設計報告_第4頁
C語言綜合實訓設計報告_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言綜合實訓設計報告實訓目的說明一.設計報告的基本內容至少包括封面、正文、參考文獻三部分。1.封面封面按照模版填寫,不得隨意更改。2.正文正文是設計報告的主體,具體由以下幾部分組成:(1)問題描述描述要求編程解決的問題。(2)基本要求給出程序要達到的具體的要求。(3)需求分析以無歧義的陳述說明程序設計的任務,強調的是程序要做什么?并明確規(guī)定:輸入的形式和輸入值的范圍;輸出的形式;程序所能達到的功能;測試數據:包括正確的輸入及其輸出結果和含有錯誤的輸入及其輸出結果。(4)概要設計說明本程序中主程序的流程以及各程序模塊之間的層次(調用)關系。(5)詳細設計實現概要設計中定義的所有數據類型,給出關鍵部分源程序的清單,要求程序有充分的注釋語句,至少要注釋每個函數參數的含義和函數返回值的含義。(6)調試分析內容包括:調試過程中遇到的問題是如何解決的以及對設計與實現的回顧討論和分析;(7)用戶使用說明說明如何使用你編寫的程序,詳細列出每一步的操作步驟。(8)測試結果設計測試數據,或具體給出測試數據。要求測試數據完整和嚴格,能全面地測試所設計程序的功能。(9)程序設計總結(10)參考文獻列出參考的相關資料和書籍。二.格式要求中文:宋體五號英文:TimeNewRoman五號行距:單倍行距標題: 每一個標題都要加粗問題描述本系統(tǒng)查詢數據庫中的個人履歷信息。用戶使用說明在運行系統(tǒng)后根據系統(tǒng)要進行操作。如要進行查詢功能,則輸入該功能前的序號后按ENTER后根據提示輸入要查詢的個人的姓名后按ENTER即可得到所需信息。二

、功能分析設計一個人履歷管理系統(tǒng)系統(tǒng),實現以下功能:系統(tǒng)以菜單方式工作,個人履歷信息錄入功能(個人文件保存);個人履歷信息包括:人名、性別、年齡、學校、電話號等;個人履歷信息瀏覽功能(輸出所有個人履歷信息);查詢功能;個人履歷信息的刪除與修改。三、程序設計(1)用文本編輯器編寫一個name.txt的文件,文件中應包含20條以上記錄,包含數據信息即個人履歷信息。在運行程序時自動載入,若文件不存則創(chuàng)建一個空文件。(2)用文本編輯器編寫一個school.txt的文件,文件中應包含20條以上記錄,包含數據信息即個人履歷信息。在運行程序時自動載入,若文件不存則創(chuàng)建一個空文件。(3)用文本編輯器編寫一個year.txt的文件,文件中應包含20條以上記錄,包含數據信息即個人履歷信息。在運行程序時自動載入,若文件不存則創(chuàng)建一個空文件。(4)用文本編輯器編寫一個sex.txt的文件,文件中應包含20條以上記錄,包含數據信息即個人履歷信息。在運行程序時自動載入,若文件不存則創(chuàng)建一個空文件。(5)用文本編輯器編寫一個number.txt的文件,文件中應包含20條以上記錄,包含數據信息即個人履歷信息。man類中含有個人的姓名及性別數據,其余數據由主函數從TxT文件中獲得,再需要查詢或修改個人的信息時,個人的信息會錄入相應的數組,查詢時則有序的顯示需要的信息,修改時則直接修改數組中的數據在程序結束時存入并覆蓋相應TXT文件中的數據實現數據存儲。個人的姓名與性別儲存在man類中的string數組中,個人的年齡,手機號.儲存在對應的的TXT文件中,在程序開始后,讀取數據到long類型的和int類型數組中,在查詢個人信息時由對應模塊按照輸入的姓名來查找對應的數組序號再按此序號輸出各類數據數組中儲存的信息。在修改個人信息時,修改相應數組位置的信息,然后再程序結束時覆蓋原TXT文件中完成數據的儲存并將數組中的數據保存。四、程序代碼#include<iostream>#include<fstream>#include<string>usingnamespacestd;classman{public:stringName[5];//創(chuàng)建一個字符為5的名為Name的字符串stringSex[5];//創(chuàng)建一個字符為5的名為Sex的字符串stringSchool[5];//創(chuàng)建一個字符為5的名為School的字符串longNumber[5];//創(chuàng)建一個字符為5的名為Number的字符串intYear[5];//創(chuàng)建一個字符為5的名為Year的字符串};intmain(){ manA; ifstreamfin("Name.txt");//在運行程序時自動載入Name.txtfor(inti=0;i<5;i++){ fin>>A.Name[i];} ifstreamx("Sex.txt");//在運行程序時自動載入Sex.txtfor(inti=0;i<5;i++){ x>>A.Sex[i];} ifstreama("School.txt");//在運行程序時自動載入School.txtfor(inti=0;i<5;i++){ a>>A.School[i];} ifstreamc("Number.txt");//在運行程序時自動載入Number.txtfor(inti=0;i<5;i++){ c>>A.Number[i];} ifstreaml("Year.txt");//在運行程序時自動載入Year.txtfor(inti=0;i<5;i++){ l>>A.Year[i];} while(1){ cout<<"*************歡迎使用C語言個人履歷管理系統(tǒng)****************"<<endl; cout<<"****************請輸入要使用功能的序號********************"<<endl; cout<<"******************1.錄入個人信息**************************"<<endl; cout<<"******************2.查詢個人信息**************************"<<endl; cout<<"******************3.修改個人信息**************************"<<endl; cout<<"******************4.保存并退出****************************"<<endl; cout<<"請輸入要使用的功能序號:"; intn; cin>>n; switch(n){ case1: { stringname; stringsex; stringschool; longnumber; intyear; cout<<"請輸入姓名:"; cin>>name; cout<<"請輸入性別:"; cin>>sex; cout<<"請輸入學校:"; cin>>school; cout<<"請輸入手機號碼:"; cin>>number; cout<<"請輸入年齡:"; cin>>year; for(inti=0;i<5;i++){ if(A.Year[i]==0){ A.Name[i]=name; A.Sex[i]=sex; A.School[i]=school; A.Number[i]=number; A.Year[i]=year; A.Year[i+1]=0; break; } } break;//年齡 } case2: { cout<<"請輸入要查詢的個人的姓名:"; stringM; intt; cin>>M; for(inti=0;i<5;i++)//確定該姓名所在的數組元素的序號輸入姓名 { if(A.Name[i]==M) { t=i; break; } } cout<<"姓名性別年齡手機號碼畢業(yè)大學"<<endl;//確定其他元素的位置根據所得的序號來 cout<<A.Name[t]<<""<<A.Sex[t]<<""<<A.Year[t]<<""<<A.Number[t]<<""<<A.School[t]<<endl; break; } case3: { cout<<"請輸入要修改的個人的姓名:";//獲得要修改的所有數組元素的序號根據姓名 stringW; intp; cin>>W; for(inti=0;i<5;i++) { if(A.Name[i]==W) { p=i; } } intk; cout<<"**********1.修改姓名***********"<<endl; cout<<"**********2.修改性別***********"<<endl; cout<<"**********3.修改年齡***********"<<endl; cout<<"**********4.修改號碼***********"<<endl; cout<<"**********5.修改大學***********"<<endl; cout<<"請輸入要進行的操作前的序號:"; cin>>k; switch(k) { case1: { cout<<"請輸入修改后的姓名:"; stringN; cin>>N; A.Name[p]=N; break;//修改姓名成新的姓名 } case2: { cout<<"請輸入修改后的性別:"; stringS; cin>>S; A.Sex[p]=S; break;//修改姓別成新的姓別 } case3: { cout<<"請輸入修改后的年齡:"; intY; cin>>Y; A.Year[p]=Y; break;//修改年齡成新的年齡 } case4: { cout<<"請輸入修改后的號碼:"; charNb; cin>>Nb; A.Number[p]=Nb; break;//修改號碼成新的號碼 } case5: { cout<<"請輸入修改后的大學:"; stringSc; cin>>Sc; A.School[p]=Sc; break;//修改大學成新的大學 } } break; } case4: { ofstreammycout("Name.txt"); for(inti=0;i<5;i++){ mycout<<A.Name[i]<<"";}mycout.close();ofstreamqycout("Sex.txt"); for(inti=0;i<5;i++){ qycout<<A.Sex[i]<<"";}qycout.close(); ofstreamwycout("Number.txt"); for(inti=0;i<5;i++){ wycout<<A.Number[i]<<"";}wycout.close();ofstreamrycout("Year.txt"); for(inti=0;i<5;i++){ rycout<<A.Year[i]<<"";}rycout.close();ofstreamiycout("School.txt"); for(inti=0;i<5;i++){ iycout<<A.School[i]<<"";}iycout.close();exit(0);break; } } }}錄入個人信息錄入了1,小琴,女,西安財經大學,156,20查詢個人信息小剛輸出:小剛男341336西安財經大學修改個人信息將小剛年齡修改為66開始菜單實行步驟開始菜單本系統(tǒng)通過在while循環(huán)中套用switch函數來實現系統(tǒng)功能的循環(huán)與選自,如程序正常運行會出現以下主菜單:cout<<"***歡迎使用C語言個人履歷管理系統(tǒng)****"<<endl; cout<<"******請輸入要使用功能的序號*********"<<endl; cout<<"**********1.錄入個人信息**************"<<endl; cout<<"**********2.查詢個人信息**************"<<endl; cout<<"**********3.修改個人信息**************"<<endl; cout<<"**********4.保存并退出****************"<<endl; cout<<"請輸入要使用的功能序號:";通過輸入一個數字,讓系統(tǒng)將其獲取,并進入switch循環(huán)中,以此來進行功能的選則。錄入功能當系統(tǒng)執(zhí)行錄入時,會生成5個變量,分別為三個string變量name,sex,School,和long變量number一個int變量year,而后用戶根據系統(tǒng)的提示將一個人的信息輸入進去。當用戶看到“請輸入姓名:”后輸入新的姓名,系統(tǒng)會執(zhí)行cin>>name;語句,將輸入的姓名保存到name中,以此模式輸入所有信息后:for(inti=0;i<5;i++){ if(A.Year[i]==0){ A.Name[i]=name; A.Sex[i]=sex; A.School[i]=school; A.Number[i]=number; A.Year[i]=year; A.Year[i+1]=0;break; } }由for循環(huán)與if來確定Year數組中從哪一位開始為零,獲得這一位的下標,下表來將輸入的信息存入到各個數組的空位中,最后一句用A.Year[i+1]=0;來將此數組的下一位的值賦0,確保下一次執(zhí)行時沒有亂碼的干擾導致系統(tǒng)運行出錯。查詢功能系統(tǒng)執(zhí)行查詢功能時,用戶看到“請輸入要查詢的個人的姓名:”的提示后輸入要查詢的人的姓名,系統(tǒng)會執(zhí)行該語句:

stringM;cin>>M;將輸入的姓名保存進string型的M變量中,之后執(zhí)行intt;for(inti=0;i<5;i++){ if(A.Name[i]==M) { t=i; break; } }創(chuàng)建int型的t變量,通過for循環(huán)與if來找出與輸入姓名相同的Name數組中的元素的下標,并將此下標賦予t,之后執(zhí)行:

cout<<A.Name[t]<<""<<A.Sex[t]<<"<<A.Year[t]<<""<<A.Number[t]<<""<<A.School[t]<<endl;用與相應Name數組元素下標相同的數字表示其他數組的下標,從而打印出想要查詢的個人的所有信息。修改功能系統(tǒng)執(zhí)行這項功能時,輸入需要修改的個人的姓名,系統(tǒng)執(zhí)行將輸入的姓名保存到string型的變量W中,之后執(zhí)行創(chuàng)建int型的p變量,通過for循環(huán)if來找出與輸入姓名相同的Name數組中的元素的下標,將此下標賦予pstringW;cin>>W;intp;for(inti=0;i<5;i++) { if(A.Name[i]==W) { p=i; } }cout<<"**********1.修改姓名***********"<<endl; cout<<"**********2.修改性別***********"<<endl; cout<<"**********3.修改年齡***********"<<endl; cout<<"**********4.修改號碼***********"<<endl; cout<<"**********5.修改大學***********"<<endl; cout<<"請輸入要進行的操作前的序號:";

在用戶根據系統(tǒng)提示選擇要進行操作,此處使用了一個switch循環(huán),例如選則1號的話就執(zhí)行修改姓名的操作,再輸入了1后會看到系統(tǒng)提示:“請輸入修改后的姓名:”在輸入了修改后的姓名后,系統(tǒng)會執(zhí)行以下語句:stringN; cin>>N; A.Name[p]=N;創(chuàng)建string型的N變量來接收出入的新的姓名,根據之前確定的數組元素位置來用新的元素覆蓋原本的位置所在的元素完成數據的修改,其他修改選項與之類似。保存功能自動執(zhí)行ofstreammycout("Name.txt"); for(inti=0;i<5;i++){ mycout<<A.Name[i]<<"";}mycout.close();ofstreamqycout("Sex.txt"); for(inti=0;i<5;i++){ qycout<<A.Sex[i]<<"";}qycout.close(); ofstreamwycout("Number.txt"); for(inti=0;i<5;i++){ wycout<<A.Number[i]<<"";}wycout.close();ofstreamrycout("Year.txt"); for(inti=0;i<5;i++){ rycout<<A.Year[i]<<"";}rycout.close();ofstreamiycout("School.txt"); for(inti=0;i<5;i++){ iycout<<A.School[i]<<"";}iycout.close();exit(0);ofstreamiycout("School.txt"); for(inti=0;i<5;i++){ iycout<<A.School[i]<<"";}iycout.close();模塊對應的數組保存到對應的TXT文件中并覆蓋原本的數據,來完成對數據的保存。六、調試與測試隨著科學技術的迅猛發(fā)展和社會各方面的需要,人事管理工作已經處在越來越突出的位置了,所以建立一個完善的健全的人事管理系統(tǒng)是非常必要的。人事管理就是通常所說的人事工作,在現代管理學中被稱作人力資源管理。在現代管理中,運用現代化的科學方法,對管理系統(tǒng)中的人事進行合理的組織、調配、培訓,協(xié)調人的因素與物的因素的關系,使兩者經常保持最佳比例,從而保證人主觀能動性得到最大的發(fā)揮,也就是人盡其才、事得其人、人事相宜的管理狀態(tài)。人事管理的任務是要協(xié)調人與人的關系、組織成員與組織目標的關系,創(chuàng)造有益于組織也有益于組織成員個人的環(huán)境,使管理系統(tǒng)的目標與組織成員個人的目標結合起來,充分調動起全體組織成員的積極性。在一些發(fā)達國家已經形成相當的規(guī)模和體系,在我國也得到社會的普遍認可,許多大型企業(yè)和中小型企業(yè)已采用這種方式來進行管理。它的出現,對現有的企業(yè)管理是一次強有力的沖擊,而且對人們舊有的管理觀念產生了深刻的影響?;谏鲜龅挠绊?,根據企業(yè)的實際需要我們對該系統(tǒng)進行全面的設計!正是實訓短學期給了我這樣的機會,在現在這個普遍浮躁的社會我能為自己能獲得到這個幾個星期靜下心來學習的機會而感到榮幸,雖然在正式學期的時候也學到了很多知識但是正是因為有了實訓短學期這樣的機會能讓我自習思考這其中的原因,代碼的原理。從大學剛入學開始我就一直期待這次實訓短學期對我能力的提升,而老師充滿趣味的講課方式也讓我更好的吸收了知識。現在當程序員的門檻很低了,普遍是在外面報個班就能打基礎的碼農,而我們在校大學生和他們不同的就是我們會獨立思考而不是一味地只是個打代碼的機器。我們學習了高等數學,學習了離散數學,學習了線性代數,這些課程都能打開我們的思維,從更多方面的優(yōu)化代碼,使得我們的代碼獲得與別人完全不同的效果。而實訓短學期給我的正是這樣的幫助,帶我們學習除了上課教學的c語言,c++語言之外的更多語言,擴寬我們的思路,實現用不同的代碼實現功能,取其所長,挑選最優(yōu)的語言,最優(yōu)的代碼。我個人從小就對計算機感興趣而代碼證是計算機的生命,是代碼讓計算機“活”了起來。所以大學我選上了軟件工程這個專業(yè)是異常興奮的。我希望有一天我能寫出我自己的軟件,能讓更多人體驗到我的軟件,哪怕為他們的生活添減一點點便利。曾經有人說過這樣一句話“最棒的科技就是讓人們感受不到科技的存在”。如果不是特別指出誰又能知道空氣的存在呢,我希望有一天網絡就像空氣一樣能讓讓人感覺不到。大學就是一個小社會,我們都在為了進入最后的準備,而大學教我們的就是這樣的知識,在參觀了真正的軟件園之后我更加堅定了我寫程序的夢想。于是在實訓短學期的后半程我和另外兩個小伙伴便編寫了這個程序,我們借鑒了我們本學期程序設計期末作業(yè)

溫馨提示

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

評論

0/150

提交評論