【正文】
等,顯示營(yíng)銷員的檔案,對(duì)營(yíng)銷員的信息進(jìn)行添加,查找,刪除,修改等操作??煽啃裕盒枰裱踩栽?,來提高本系統(tǒng)的可靠性。建立營(yíng)銷員信息檔案模塊實(shí)現(xiàn)對(duì)保險(xiǎn)公司營(yíng)銷員信息的存儲(chǔ),輸出營(yíng)銷員信息模塊實(shí)現(xiàn)輸出營(yíng)銷員的信息,添加模塊實(shí)現(xiàn)了對(duì)營(yíng)銷員信息的添加,查詢模塊實(shí)現(xiàn)了對(duì)營(yíng)銷員信息的按姓名、學(xué)歷、年齡范圍的查詢,修改模塊實(shí)現(xiàn)了按職工號(hào)對(duì)營(yíng)銷員信息進(jìn)行修改,刪除模塊實(shí)現(xiàn)了按職工號(hào)對(duì)營(yíng)銷員信息進(jìn)行刪除。(3)添加模塊:對(duì)添加的營(yíng)銷員信息進(jìn)行存檔。 系統(tǒng)設(shè)計(jì)方案(1) 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)struct person{long num。 /*定義營(yíng)銷員機(jī)構(gòu)*/char sex[2]。 /*定義營(yíng)銷員地址*/char tel[8]。(2) 菜單設(shè)計(jì)設(shè)計(jì)一個(gè)總菜單:;2. 按姓名查找營(yíng)銷員信息;3. 按學(xué)歷查找營(yíng)銷員信息;4 按年齡范圍查找營(yíng)銷員信息.;員信息;6 按營(yíng)銷員代碼修改營(yíng)銷員信息。否則執(zhí)行 p1num==0 條件語句。若 n==1,執(zhí)行 head=p1,p2=p1 ,否則 p2next=p1。具體實(shí)現(xiàn)程序流程如圖 3。p 1 = h e a dp 0 = p e rh e a d = = N U L L輸入營(yíng)銷員信息p 2 = p 1p 1 = p 1 n e x tp 0 n u m = p 1 n u mh e a d = = p 1p 2 n e x t = p 0p 0 n e x t = p 1h e a d = p 0p 0 n e x t = N U L Lp 1 n e x t = p 0p 0 n e x t = N U L Lh e a d = p 0n = n + 1r e t u r n ( h e a d )結(jié)束NYYp 0 n u m = p 1 n u m 以及 p 1 n e x t ! = N U L LYNNYN開始定義指針 b 變量P 0 , P 1 , P 2圖4 添加流程圖 查找模塊(1)采用查找鏈表實(shí)現(xiàn),定義指針變量 p1,先判斷 head 是否為空,若為空,返回到主函數(shù)。具體實(shí)現(xiàn)程序流程如圖 5。具體實(shí)現(xiàn)程序流程如圖6。具體實(shí)現(xiàn)程序流程如圖 7 所示開始定義指針變量 p 1 , p 2n u m輸入要?jiǎng)h除的營(yíng)銷員的代碼h e a d = = N U L Lp 1 = h e a d n u m ! = p 1 n u m p 1 n e x t ! = N U L Ln u m = = p 1 n u m結(jié)束h e a d = = p 1 n e x t輸出“ 空表 ! ”p 2 n e x t = p 1 n e x tp 2 = p 1p 1 = p 1 n e x tp 1 = = h e a dn = n 1r e t u r n ( h e a d )輸出要?jiǎng)h除的代碼輸出“ 沒有找到 ”YNNYYYNN圖 7 代碼刪除流程圖 修改模塊采用刪除鏈表,定義指針變量 P1,先判斷 head 是否為空,若為空,返回到主函數(shù)。具體實(shí)現(xiàn)程序流程如圖 8。然后仔細(xì)研究推斷代碼以確定問題的原因,并設(shè)法改正。建立模塊程序內(nèi),因判斷條件沒有被控制好,以及返回位置沒有準(zhǔn)確掌握,導(dǎo)致了出現(xiàn)錯(cuò)誤。原因是上一次的運(yùn)行界面沒有關(guān)閉,誤以為程序出現(xiàn)了異常。到測(cè)試后期,即使找到了錯(cuò)誤,然而付出了過高的代價(jià)。結(jié)束語通過對(duì)任務(wù)書的理解和參考書本的理解,我完成了程序,我進(jìn)一步了解了C 語言,對(duì) C 語言有進(jìn)一步的認(rèn)識(shí),我覺的這次課設(shè)實(shí)習(xí)很有意義,增長(zhǎng)了我的忍耐力,因?yàn)榫幊陶娴氖切枰托牡娜プ聊ッ恳粭l語句的實(shí)現(xiàn)過程,所以幫助我提高了心里素質(zhì)。 圖 9 初始圖第一步:開始輸入營(yíng)銷員信息,輸入 0,按回車結(jié)束,存檔運(yùn)行界面如圖10。出現(xiàn)圖 14。圖 13 姓名查找運(yùn)行圖進(jìn)行第四步:按 1 繼續(xù),選擇 3,再按回車,進(jìn)入按學(xué)歷查找營(yíng)銷員信息,出現(xiàn)提示語句,例如查找學(xué)歷為 3,出現(xiàn)按學(xué)歷查找運(yùn)行界面,如圖 14。繼續(xù)按 1。結(jié)束結(jié)束輸入 0,又出現(xiàn)“1 繼續(xù),0 結(jié)束” 。圖 17 職工號(hào)修改運(yùn)行圖進(jìn)入步驟八:進(jìn)入結(jié)束運(yùn)行程序,輸入 0,程序結(jié)束。 /*定義營(yíng)銷員名字*/int level。 /*定義營(yíng)銷員年齡*/char academic[30]。 /*定義營(yíng)銷員身份證號(hào)碼*/struct person *next。//輔助數(shù)組struct person *creat(void)/*建立營(yíng)銷員信息*/{struct person *head。scanf(%ld%s%d%s%s%d%s%s%s%s,amp。a[n]=p1num。in。p1level,p1argan,p1sex,amp。return head。p2=p1。p1level,p1argan,p1sex,amp。return head。if(head==NULL){head=p0。(p1next!=NULL)){p2=p1。p0next=p1。return head。if(head!=NULL)do{printf(%ld %s %d %s %s %d %s %s %s %s\n,p1num,p1name,p1level,p1argan,p1sex,p1age,p1academic,p1addr,p1tel,p1id)。printf(輸入要?jiǎng)h除的職工號(hào):\n)。if(head==NULL) {printf(\nlist null! \n)。amp。elsep2next=p1next。return(head)。return (head)。}p1=p1next。int flag=0。while(p1!=NULL){if(strcmp(academic_find,p1academic)==0){printf(%ld %s %d %s %s %d %s %s %s %s\n,p1num,p1name,p1level,p1argan,p1sex,p1age,p1academic,p1addr,p1tel,p1id)。return(head)。scanf(%d,amp。min)。while(p1!=NULL){if(p1age=maxamp。}p1=p1next。int flag=0。char argan[100]。char addr[30]。return head。num,name,amp。strcpy(p1name,name)。p1age=age。strcpy(p1id,id)。return head。char name_find[10],academic_find1[20]。while(i){printf(1 添加營(yíng)銷員信息\n2 按姓名查詢營(yíng)銷員信息 \n3 按學(xué)歷查詢營(yíng)銷員信息\n4 按年齡范圍查詢營(yíng)銷員信息 \n5 按職工號(hào)刪除營(yíng)銷員信息 \n6 按職工號(hào)修改營(yíng)銷員信息\n)。p1=(struct person *)malloc(LEN)。p1age,p1academic,p1addr,p1tel,p1id)。scanf(%ld%s%d%s%s%d%s%s%s%s,amp。j=1。head=insert(head,p1)。scanf(%ld%s%d%s%s%d%s%s%s%s,amp。}loop: print(head)。while(strcmp(name_find,0)!=0){find(head,name_find)。case 3:printf(輸入要查找的學(xué)歷 :\n)。scanf(%s,academic_find1)。 case 5:head=del(head)。scanf(%ld,amp。printf(輸入要修改的職工號(hào):\n)。}printf(\n1 繼續(xù),0 結(jié)束