工資管理系統(tǒng)課程設計報告-2_第1頁
工資管理系統(tǒng)課程設計報告-2_第2頁
工資管理系統(tǒng)課程設計報告-2_第3頁
工資管理系統(tǒng)課程設計報告-2_第4頁
工資管理系統(tǒng)課程設計報告-2_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

工資管理系統(tǒng)—課程設計報告PAGEPAGE2共4頁、第1頁工資管理系統(tǒng)課程設計報告編寫人:同組成員、0922305026(課程設計負責人)0922305023、0922305022完成日期:2011、6、23

輔導教師:批閱日期:分數(shù):1功能描述本程序主要的數(shù)據(jù)結構是單鏈表,它由四大模塊組成(如下圖所示):工資管理系統(tǒng)工資管理系統(tǒng)本程序主要的數(shù)據(jù)結構是單鏈表,它由五大模塊組成(如下圖所示):工資管理系統(tǒng)輸入記錄模塊查詢記錄模塊更新記錄模塊輸出記錄模塊從鍵盤讀入 按編號查詢按姓名查詢插入資料刪除資料排序資料輸出至屏幕工資管理系統(tǒng)功能模塊圖(1)輸入記錄模塊:輸入記錄模塊主要完成數(shù)據(jù)存入單鏈表的工作了從鍵盤讀入。即從鍵盤一一輸入員工的信息(包括編號,姓名,性別,年齡,工資等)并且讀入過程會顯示在屏幕上。(2)查詢記錄模塊:查詢也提供了兩種關鍵字方式,按編號和按姓名查詢。該模塊的主要工作是在單鏈表中查找滿足關鍵字的員工信息,用戶可以選擇以中方式進行查詢,如果找到返回該員工節(jié)點并且打印該員工的工資信息,否則返回空指針NULL,并打印沒有找到的提示。(3)更新記錄模塊:更新數(shù)據(jù)包括對員工工資信息的刪除、插入、和排序(排序是對鏈表節(jié)點的修改而不修改員工信息)。刪除功能是徹底刪除掉某員工的工資信息,也就是單鏈表的刪除操作,在刪除某員工的同時也要修改他所在的部門的信息;插入功能是增添以員工的工資信息,采用的是鏈表的插入操作,在插入的同時也修改他所在部門的工資信息;排序功能用到的是冒泡排序,可以按照工資的實發(fā)和應發(fā)升序排序。(4)輸出記錄模塊:輸出功能是將所有員工的工資信息輸出到屏幕中,輸出在屏幕上的為表格形式,以便讀取方便。2總體設計2.1功能模塊設計1.主函數(shù)main()執(zhí)行流程本系統(tǒng)提供了5個選項供用戶選擇,先顯示目錄菜單,提示用戶輸入選擇。有效值為0到4,輸入1則進入鍵盤輸入員工信息功能模塊,系統(tǒng)將會循環(huán)調用ADD()函數(shù)鍵盤添加員工信息。輸入2進入查詢記錄模塊,主要工作是在單鏈表中查找滿足關鍵字的員工信息。輸入3進入更新記錄模塊:更新數(shù)據(jù)包括對員工工資信息的刪除、插入、和排序(排序是對鏈表節(jié)點的修改而不修改員工信息)。輸入4進入輸出記錄模塊:輸出功能是將所有員工的工資信息輸出到屏幕中,輸出在屏幕上的為表格形式,以便讀取方便。輸入0退出本系統(tǒng),操作結束。main()會循環(huán)顯示主界面直到輸入0。(如下圖所示)否否是開始進入主函數(shù)調用menu()菜單函數(shù)進入主界面進入switch函數(shù)輸入[0~6]中的一數(shù)值,選擇相應操作輸入是否為0?判斷鍵值,調用相應函數(shù),完成相應功能結束主控函數(shù)流程圖2.輸入記錄模塊輸入記錄模塊主要實現(xiàn)將數(shù)據(jù)存入單鏈表中,這部分的操作較為簡單。從鍵盤輸入,鍵盤輸入則是循環(huán)調用Add()函數(shù)一一提示用戶輸入員工各項信息包括(姓名,編號,性別,年齡,工資等),也同時修改部門信息。這里的字符串和數(shù)值的輸入分別采用了函數(shù)來實現(xiàn),在函數(shù)中完成輸入數(shù)據(jù)任務,并對數(shù)據(jù)進行條件判斷,直到滿足條件判斷為止,這樣減少了代碼的重復和冗余,符合模塊化程序設計的特點。3.查詢記錄模塊查詢記錄模塊主要實現(xiàn)了在單鏈表中按員工姓名和編號查找滿足相關條件的員工記錄。在查詢函數(shù)Sq()中,調用了Query()函數(shù),根據(jù)*name查詢信息,結果保存于link指針數(shù)組中,避免找到的姓名相同的員工被覆蓋。4.更新數(shù)據(jù)模塊更新數(shù)據(jù)包括插入、刪除、排序,前二項用ADU()函數(shù)控制,刪除調用Del()函數(shù)刪除滿足要求的員工信息,該操作需要遍歷單鏈表,時間復雜度為O(n);插入是調用Add()函數(shù)從鍵盤一一輸入員工節(jié)點信息,然后插入到鏈表中時間復雜度為O(1);排序調用Sort()函數(shù)采用冒泡排序的算法對鏈表排序,時間復雜度為O(n*n)。5.輸出信息模塊輸出模塊屏幕輸出,屏幕輸出為Display()函數(shù)按照TFORM2的格式按表格輸出所有鏈表中的員工信息。文件輸出是Save()函數(shù)將信息以TFORM3的格式寫入C盤的data.txt中,以方便下次讀取。3數(shù)據(jù)結構體設計1、工資信息結構體typedefstruct//員工工資信息結構體;{chargonghao[100];//工人工號;charname[100];//工人姓名;charbumen[1000];//工人部門;intphone[100];//工人基本工資;charaddr[100];//工人特殊津貼;}datatype;2、單鏈表node結構體typedefstructnode{datatypedata;structnode*next;}listnode;4程序實現(xiàn)源代碼分析⑴程序預處理#include<stdio.h>//標準輸入輸出頭文件;#include<stdlib.h>//開辟空間頭文件;#include<string.h>//字符串處理函數(shù)頭文件;typedefstruct//員工工資信息結構體;{chargonghao[100];//工人工號;charname[100];//工人姓名;charbumen[1000];//工人部門;intphone[100];//工人基本工資;charaddr[100];//工人特殊津貼;}datatype;typedefstructnode{datatypedata;structnode*next;}listnode;typedeflistnode*linklist;linklisthead;//定義一全局變量head計鏈表頭指針;listnode*p;//定義一全局變量p;intcount=0;//定義一全局變量count統(tǒng)計工人的總數(shù);⑵主函數(shù)main()voidmain()//主函數(shù){inthh,uu;while(1){system("colorD");//顏色調用;menu();printf(":請輸入你的選擇:\n");scanf("%d",&hh)switch(hh){case1:system("colorF");//顏色調用;head=createlist();system("pause");//系統(tǒng)暫停調用;system("cls");break;case2:system("color2");//顏色調用;printf("********************信息添加*******************\n");printf("**工號姓名部門基本工資特殊津貼**\n");printf("*************************************************\n");p=(listnode*)malloc(sizeof(listnode));scanf("%s%s%s%d%s",p->data.gonghao,p->,p->data.bumen,p->data.phone,p->data.addr);insertnode(head,p);count+=1;printf("工人總數(shù)為%d\n",count);system("pause");//系統(tǒng)暫停調用;system("cls");break;case3:system("color3");//顏色調用;printf("**************信息查詢***********\n");p=listfind(head);if(p!=NULL){printf("工號姓名部門基本工資特殊津貼\n");printf("\n");printf("%s%s%s%d%s\n",p->data.gonghao,p->,p->data.bumen,*(p->data.phone),p->data.addr);printf("\n"); }elseprintf("沒有找到!\n");system("pause");//系統(tǒng)暫停調用;system("cls");break;case4:system("color6");//顏色調用;delnode(head);system("pause");//系統(tǒng)暫停調用;system("cls");break;case5:system("color8");//顏色調用;sort_worker(head);printf("排序完成!\n");system("pause");//系統(tǒng)暫停調用;system("cls");break;case6:system("colorA");//顏色調用;printlist(head);system("pause");//系統(tǒng)暫停調用;system("cls");break;default:system("colorB");//顏色調用;printf("\t對不起,請輸入指定的功能,謝謝!\n");system("pause");//系統(tǒng)暫停調用;system("cls");break;}printf("\n是否退出,是->1,否->0\n");//是否退出程序,進行判斷;scanf("%d",&uu);system("pause");//系統(tǒng)暫停調用;system("cls");if(uu==1){xx();system("colorC");//顏色調用;system("pause");//系統(tǒng)暫停調用;system("cls");break;}else;}}⑶主菜單界面voidmenu()//菜單函數(shù);{printf("\n");printf("\n");printf("\n");printf("工資管理系統(tǒng)\n");printf("\n");printf("========================\n");printf("==1.工資管理系統(tǒng)建立==\

溫馨提示

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

評論

0/150

提交評論