![《高級語言程序的設(shè)計(jì)》課程設(shè)計(jì)報(bào)告模板和示例_第1頁](http://file4.renrendoc.com/view/9fbfea9776ca34fd40eca242fa056291/9fbfea9776ca34fd40eca242fa0562911.gif)
![《高級語言程序的設(shè)計(jì)》課程設(shè)計(jì)報(bào)告模板和示例_第2頁](http://file4.renrendoc.com/view/9fbfea9776ca34fd40eca242fa056291/9fbfea9776ca34fd40eca242fa0562912.gif)
![《高級語言程序的設(shè)計(jì)》課程設(shè)計(jì)報(bào)告模板和示例_第3頁](http://file4.renrendoc.com/view/9fbfea9776ca34fd40eca242fa056291/9fbfea9776ca34fd40eca242fa0562913.gif)
![《高級語言程序的設(shè)計(jì)》課程設(shè)計(jì)報(bào)告模板和示例_第4頁](http://file4.renrendoc.com/view/9fbfea9776ca34fd40eca242fa056291/9fbfea9776ca34fd40eca242fa0562914.gif)
![《高級語言程序的設(shè)計(jì)》課程設(shè)計(jì)報(bào)告模板和示例_第5頁](http://file4.renrendoc.com/view/9fbfea9776ca34fd40eca242fa056291/9fbfea9776ca34fd40eca242fa0562915.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
/《高級語言程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告〔2014——2015年度第二學(xué)期題目通訊錄管理專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班級2014級B班小組成員李麗麗2009022899班級2009級計(jì)本四班《高級語言程序設(shè)計(jì)》課程設(shè)計(jì)成績評定學(xué)號姓名成績備注2009022899李麗麗指導(dǎo)教師:摘要:一級標(biāo)題黑體五號,頁面設(shè)置為上下左右頁邊距為2厘米裝訂時(shí)在左裝訂,用2個(gè)訂書針就可以通過本課程設(shè)計(jì),對程序控制結(jié)構(gòu)、數(shù)組、結(jié)構(gòu)體、函數(shù)、文件等的應(yīng)用進(jìn)行綜合訓(xùn)練,并初步接觸軟件設(shè)計(jì)的基本步驟。本設(shè)計(jì)實(shí)現(xiàn)后面簡要描述設(shè)計(jì)的功能一級標(biāo)題黑體五號,頁面設(shè)置為上下左右頁邊距為2厘米裝訂時(shí)在左裝訂,用2個(gè)訂書針就可以后面簡要描述設(shè)計(jì)的功能關(guān)鍵詞:控制結(jié)構(gòu),數(shù)組,結(jié)構(gòu)體,函數(shù),文件一、課程設(shè)計(jì)的目的與要求通過實(shí)踐訓(xùn)練,進(jìn)一步掌握C語言程序控制結(jié)構(gòu)、數(shù)組、結(jié)構(gòu)體、函數(shù)、文件的使用方法,提高程序編寫調(diào)試的實(shí)際能力,培養(yǎng)初步的工程設(shè)計(jì)能力和綜合分析、解決問題的能力。具體如下:學(xué)習(xí)和實(shí)踐在分析和設(shè)計(jì)計(jì)算機(jī)應(yīng)用系統(tǒng)所需要的知識,包括功能分析和模塊劃分、函數(shù)設(shè)計(jì)、數(shù)據(jù)的結(jié)構(gòu)分析、設(shè)計(jì)和存取操作;熟悉VisualC++的代碼編制和調(diào)試過程;初步培養(yǎng)文檔的編寫能力;培養(yǎng)協(xié)作能力和團(tuán)隊(duì)精神。二、設(shè)計(jì)正文概述二級及及其他標(biāo)題宋體五號,正文宋體五號,行間距固定值16磅二級及及其他標(biāo)題宋體五號,正文宋體五號,行間距固定值16磅1.1課題題目:通訊錄管理1.2系統(tǒng)的主要目標(biāo):本系統(tǒng)目標(biāo)是實(shí)現(xiàn)通訊錄管理的功能,對姓名、群組、住宅電話、手機(jī)、Email、地址和備注信息進(jìn)行輸入、刪除、查找和修改,數(shù)據(jù)存儲于二進(jìn)制文件。1.3系統(tǒng)的開發(fā)環(huán)境及運(yùn)行環(huán)境:操作系統(tǒng):WindowsXPProSP2開發(fā)工具:VisualC++6.0系統(tǒng)分析1.輸入記錄:將每一個(gè)職工的姓名、ID號以及基本工資、職務(wù)工資、崗位津貼、醫(yī)療保險(xiǎn)、公積金的數(shù)據(jù)作為一個(gè)記錄。該軟件能建立一個(gè)新的數(shù)據(jù)文件或給已建立好的數(shù)據(jù)文件增加記錄。2.顯示記錄:根據(jù)用戶提供的記錄或者根據(jù)職工姓名顯示一個(gè)或幾個(gè)職工的各項(xiàng)工資和平均工資。3.修改記錄:可以對數(shù)據(jù)文件的任意記錄的數(shù)據(jù)進(jìn)行修改并在修改前后對記錄內(nèi)容進(jìn)行顯示。4.查找記錄:可以對數(shù)據(jù)文件的任意記錄的數(shù)據(jù)進(jìn)行查找并在查找前后對記錄內(nèi)容進(jìn)行顯示。5.刪除記錄:可刪除數(shù)據(jù)文件中的任一記錄。6.恢復(fù)記錄:能恢復(fù)被刪除的任一記錄。7.統(tǒng)計(jì):<A>計(jì)算各項(xiàng)工資平均工資及總工資,<B>統(tǒng)計(jì)符合指定條件<如職工工資前三項(xiàng)之和在2000元以上、2000~1500元、1500~1000元>以內(nèi)的工資職工人數(shù)及占總職工人數(shù)的百分比。<C>按字符表格形式打印全部職工工資信息表及平均工資<包括各項(xiàng)總的平均工資>。保存數(shù)據(jù)文件功能。9.打開數(shù)據(jù)文件功能。系統(tǒng)設(shè)計(jì)3.1功能模塊劃分歡迎畫面歡迎畫面主菜單顯示功能查找功能刪除功能輸入功能
保存與讀取退出程序添加功能修改功能統(tǒng)計(jì)功能按ID號查找按姓名查找修改ID號修改姓名資資修改醫(yī)保修改津貼修改公積金3.2模塊接口設(shè)計(jì)<1>主程序模塊tel.cpp僅包含main<>函數(shù),提供對系統(tǒng)的主要控制。在用戶未選擇退出程序時(shí),通過一個(gè)循環(huán)不斷顯示菜單。當(dāng)用戶選中某個(gè)操作后,根據(jù)返回的菜單代碼select調(diào)用各函數(shù)完成相應(yīng)的操作。<2>菜單模塊menu.cpp將顯示菜單用單獨(dú)的函數(shù)實(shí)現(xiàn),使菜單界面獨(dú)立于其它程序代碼,便于修改和維護(hù)。Menu函數(shù)僅顯示主菜單,SubMenu2函數(shù)僅顯示更新聯(lián)系人子菜單,這樣各個(gè)菜單便于單獨(dú)顯示、清屏。用戶選擇操作后,函數(shù)返回對應(yīng)的菜單代碼。各函數(shù)功能描述如下:intMenu<void>;主菜單,顯示第一級菜單:查看通信錄、更新通信錄、備份通信錄、退出。intSubMenu2<void>;"更新通信錄"子菜單,顯示:新增聯(lián)系人、編輯聯(lián)系人、刪除聯(lián)系人、返回主菜單。menu.cpp模塊各函數(shù)之間的關(guān)系如圖8.28所示:menu.cpp圖8.28menu.cpp模塊各函數(shù)間的關(guān)系結(jié)構(gòu)圖MenuSubMenu2菜單代碼〔3查看模塊brows.cpp以列表或單條記錄的方式輸出通信錄。各函數(shù)功能描述如下:voidList<Teltel[],IndexpAlphabet>;按pAlphabet中指針數(shù)組的排序方式,調(diào)用PrintOne函數(shù)顯示tel中所有的聯(lián)系人,并顯示排序后的序號i,便于用戶選擇聯(lián)系人。voidPrintHead<void>;輸出表頭。voidPrintBottom<void>;
輸出表尾。voidPrintOne<Telr,inti>;
僅輸出一個(gè)聯(lián)系人r的信息,并顯示序號i,便于用戶選擇聯(lián)系人。voidPrint<Telr>;
調(diào)用PrintOne函數(shù)輸出表頭及一個(gè)聯(lián)系人的信息,不顯示序號?!?更新模塊edit.cpp各函數(shù)功能描述如下:voidNew<Teltel[],Index*pAlphabet>;
新增聯(lián)系人。添加到tel數(shù)組中第一個(gè)空著的位置。之后需要對pAlphabet重新排序。voidEdit<Teltel[],Index*pAlphabet>;
編輯聯(lián)系人。編輯之后需要對pAlphabet重新排序。voidDelete<Teltel[],Index*pAlphabet>;刪除聯(lián)系人。此處做邏輯刪除,僅將姓名賦空串。刪除之后需對pAlphabet重新排序。voidInput<Tel*r,Teltel[],intmenu>;
輸入聯(lián)系人信息。新增或編輯聯(lián)系人時(shí),調(diào)用該函數(shù)來輸入一個(gè)聯(lián)系人的信息。如果是新增〔此時(shí)菜單代碼menu=21,當(dāng)用戶選擇只輸入姓名時(shí),需要為除姓名以外的信息設(shè)置缺省值;否則,除姓名以外的信息缺省保持不變。intDuplicate<char*name,Teltel[],char*original>;
姓名查重。在新增或編輯聯(lián)系人前,調(diào)用該函數(shù)來檢查是否有重名的情況。新增聯(lián)系人時(shí),如果新輸入的串name與tel數(shù)組中已存在的姓名一樣則返回1;否則,返回0。編輯時(shí)可以輸入與聯(lián)系人原來的姓名original一樣的串。intSelect<>;選擇聯(lián)系人序號。刪除或修改用戶選擇的聯(lián)系人時(shí),調(diào)用該函數(shù)來限制序號在有效范圍內(nèi)。返回對應(yīng)的數(shù)組下標(biāo)?!?排序模塊sort.cpp利用指針數(shù)組對通信錄運(yùn)用選擇法排序。各函數(shù)功能描述如下:voidSortByAlphabet<Teltel[],Index*pAlphabet>;
調(diào)用SelectSort函數(shù),利用pAlphabet中的指針數(shù)組,對tel數(shù)組按音序排序。voidSelectSort<Index*p>;
用選擇法對指針數(shù)組p排序。〔6文件操作模塊file.cpp完成系統(tǒng)與文件有關(guān)的操作。各函數(shù)功能描述如下:intLoad<Teltel[],Index*pAlphabet>;讀取。將通信錄文件fName讀入內(nèi)存tel,并對pAlphabet排序。返回讀取的記錄數(shù)。intSave<Teltel[]>;保存。將通信錄tel以fName〔全局變量為名保存到磁盤。此時(shí)做物理刪除:姓名為空串的聯(lián)系人表示已刪除,不存入通信錄文件。返回寫入文件的記錄數(shù)。intCopy<void>;備份通信錄。復(fù)制通信錄文件。操作成功時(shí)返回1;否則返回0。3.3系統(tǒng)流程描述①輸入:輸入職工工資資料通過結(jié)構(gòu)體的數(shù)組來進(jìn)行操作,先頭定義數(shù)組em[],先輸入需要輸入的職工人數(shù)m,然后進(jìn)入循環(huán),每次循環(huán)將各項(xiàng)輸入結(jié)構(gòu)體數(shù)組對應(yīng)項(xiàng)的對應(yīng)成員中,當(dāng)循環(huán)次數(shù)等于人數(shù)時(shí),完成全部員工的資料輸入,退出循環(huán)。同時(shí)將數(shù)據(jù)儲存在ckerk_list文件中并自動保存至磁盤。注:如首次使用,尚未輸入數(shù)據(jù),請先輸入數(shù)據(jù)。輸入的數(shù)據(jù)將自動保存。再次選擇輸入功能時(shí)原數(shù)據(jù)將被覆蓋。②保存:將輸入的資料存入磁盤讀取文件clerk_list,若文件不存在,打印"打開失敗并退出。若存在,則通過循環(huán)語句將輸入到結(jié)構(gòu)體數(shù)組的數(shù)據(jù)逐個(gè)輸入磁盤。③讀取:讀取磁盤中的資料 打開文件clerk_list,若文件不存在,打印"打開失敗"并退出。若存在,讀取文件中的數(shù)據(jù),并返回職工人數(shù)。④顯示:顯示職工工資資料先通過讀取函數(shù)的返回值確定職工人數(shù)m,再通過循環(huán)將員工工資資料逐個(gè)打印,當(dāng)循環(huán)次數(shù)達(dá)到m時(shí)退出循環(huán)。其中總工資由程序計(jì)算,總工資=基本工資+職務(wù)工資+津貼-醫(yī)療保險(xiǎn)-公積金⑤刪除:刪除某員工的資料打印員工資料并提示輸入要?jiǎng)h除職工的姓名,輸入后若該職工不存在則打印"查無此人";若存在,則顯示該職工資料并詢問是否確定刪除。若確定,則刪除。刪除時(shí),通過對比輸入的姓名與資料中的姓名做對比從而確定要?jiǎng)h除的項(xiàng)i,從第i項(xiàng)開始,將后一項(xiàng)的各成員的值賦給前一項(xiàng)各對應(yīng)的成員,完成對第i項(xiàng)的刪除。⑥添加:添加新的員工資料而不覆蓋原有資料打印原有職工資料,詢問要添加的職工人數(shù)并詢問是否確定添加。逐個(gè)逐項(xiàng)輸入員工信息,之后程序計(jì)算其總工資。完成后顯示"添加成功",打印新的員工資料并自動保存。添加的方法為:定義一個(gè)相同類型的結(jié)構(gòu)體數(shù)組,將原有項(xiàng)復(fù)制后增添新的項(xiàng),并保存新的數(shù)組。⑦查找:按ID好查詢與按姓名查找員工資料根據(jù)提示輸入要查詢的ID號或姓名,程序通過循環(huán)語句將輸入的數(shù)字與以保存的結(jié)構(gòu)體數(shù)組中的數(shù)據(jù)對比,若相同,則打印"已找到"及該員工的資料;當(dāng)循環(huán)次數(shù)等于人數(shù)時(shí)結(jié)束循環(huán),若至結(jié)束循環(huán)時(shí)也沒有找到相同的,則打印"查無此人"。⑧修改:修改特定員工的特定資料打印員工信息并提示輸入要修改資料的職工姓名。按提示確定要修改,確定要修改的項(xiàng)目,輸入要修改成的結(jié)果并將該結(jié)果賦給對應(yīng)項(xiàng)的對應(yīng)成員,完成對特定職工特定項(xiàng)目的修改。⑨統(tǒng)計(jì)通過循環(huán)對結(jié)構(gòu)體數(shù)組中的每一項(xiàng)經(jīng)行統(tǒng)計(jì),計(jì)算工資總額為,將工資總額除以人數(shù)計(jì)算出平均工資。根據(jù)每名職工的資料計(jì)算基本工資、職務(wù)工資、津貼之和在1000-1500圓1500-2000圓2000圓以上的員工占總員工的百分比詳細(xì)設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)系統(tǒng)的主要功能是管理聯(lián)系人的信息,大部分模塊中都用到聯(lián)系人的信息。聯(lián)系人的結(jié)構(gòu)定義如下:typedefstructTelephone{ charname[20];//姓名 intgroup;//群組:1.朋友2.同事3.家人4.其他 charhome[15];//住宅電話 charmobile[15];//手機(jī) charemail[20];//Email charadd[20];//地址 charmemo[20];//備注}Tel;sort.cpp模塊中利用指針數(shù)組對通信錄排序,排序用的索引結(jié)構(gòu)的定義如下:typedefstructindex{ intlen;//數(shù)組長度 Tel*tel[MaxLen];//指針數(shù)組,}Index;菜單代碼菜單項(xiàng)代碼子菜單項(xiàng)代碼查看通信錄1更新通信錄2新增聯(lián)系人21編輯聯(lián)系人22刪除聯(lián)系人23返回主菜單20備份通信錄3退出0聯(lián)系人分組方式代碼分組方式朋友同事家人其他代碼1234全局變量constintMaxLen=500;//最多可存放500個(gè)聯(lián)系人信息charfName[20]="tel.dat";//磁盤文件:通信錄文件名intLen;//全局變量,通信錄中當(dāng)前聯(lián)系人總數(shù)4.2人機(jī)對話〔輸入/輸出格式設(shè)計(jì)<1>菜單操作考慮使用鍵盤方式,用戶輸入菜單項(xiàng)前的0,1,2等數(shù)字字符來選擇對應(yīng)的菜單項(xiàng),由menu.cpp模塊轉(zhuǎn)換成相應(yīng)的菜單代碼。用戶選擇菜單項(xiàng)并完成相應(yīng)的操作后刷新菜單。<2>顯示與選擇聯(lián)系人對通信錄更新時(shí)系統(tǒng)自動按音序排序。顯示整個(gè)通信錄時(shí)在每個(gè)聯(lián)系人前面顯示排序后的序號,用戶按序號選擇聯(lián)系人進(jìn)行操作。對于操作結(jié)果為單個(gè)聯(lián)系人的情況不顯示序號。<3>輸入聯(lián)系人信息通過新增或更新輸入聯(lián)系人信息時(shí),可以選擇只輸入姓名還是輸入聯(lián)系人的完整信息。當(dāng)用戶選擇只輸入聯(lián)系人姓名時(shí),其余部分系統(tǒng)自動設(shè)成空值。系統(tǒng)只提供了"1.朋友2.同事3.家人4.其他"四種聯(lián)系人分組方式。用戶輸入[1..4]來指定聯(lián)系人的分組。當(dāng)用戶未指定時(shí),系統(tǒng)自動設(shè)為4,代表"其他"分組。輸入聯(lián)系人姓名時(shí)系統(tǒng)自動檢查有無重名的情況。更新輸入時(shí)可以輸入原來的姓名。4.3控制結(jié)構(gòu)設(shè)計(jì)對每個(gè)函數(shù)的控制結(jié)構(gòu)進(jìn)行設(shè)計(jì),以PAD圖描述可以改為流程圖、偽代碼、自然語言描述均可可以改為流程圖、偽代碼、自然語言描述均可<1>主程序模塊<2>更新模塊新增voidNew<Teltel[],Index*pAlphabet>:修改voidEdit<Teltel[],Index*pAlphabet>:刪除voidDelete<Teltel[],Index*pAlphabet><3>排序模塊voidSortByAlphabet<Teltel[],Index*pAlphabet>:選擇排序voidSelectSort<Index*p><4>文件操作模塊從磁盤讀
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美發(fā)店員工合同范本(7篇)
- 2024-2025學(xué)年第2課諸侯紛爭與變法運(yùn)動-勤徑學(xué)升高中歷史必修上同步練測(統(tǒng)編版2019)
- 2025年企業(yè)市場營銷合作伙伴協(xié)議
- 2025年酒店客房用品訂購合同模板
- 2025年不動產(chǎn)權(quán)益讓與擔(dān)保協(xié)議版
- 2025年電動車維修服務(wù)合同示范
- 2025年水文測量儀器項(xiàng)目立項(xiàng)申請報(bào)告模范
- 2025年企業(yè)銷售專員合同格式
- 2025年戀愛雙方保密協(xié)議策劃模板
- 2025年度股權(quán)變更持有人協(xié)議
- 燒烤店選址標(biāo)準(zhǔn)
- 中國餐飲供應(yīng)鏈行業(yè)現(xiàn)狀及趨勢(附市場規(guī)模、產(chǎn)業(yè)鏈及重點(diǎn)企業(yè))
- 溫度均勻性測試報(bào)告
- 會陰擦洗課件
- 呼吸道疾病的健康宣教
- 2024-2030中國半導(dǎo)體閥門及管接頭市場現(xiàn)狀研究分析與發(fā)展前景預(yù)測報(bào)告
- 動物生產(chǎn)與流通環(huán)節(jié)檢疫(動物防疫檢疫課件)
- 繽紛天地美食街運(yùn)營方案
- 2024年青島港灣職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及答案解析
- 裝配式建筑預(yù)制構(gòu)件安裝-預(yù)制構(gòu)件的吊裝
- 2024年山東泰安市泰山財(cái)金投資集團(tuán)有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論