freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設計工資管理系統(tǒng)-可編輯(更新版)

2025-07-04 17:38上一頁面

下一頁面
  

【正文】 intf(HEADER3)。 if(n==0) /*表示沒有職工工資記錄 */ { printf(\n=====Not employee record!\n)。 void printheader() /*格式化輸出表頭 */ { printf(HEADER1)。 gotoxy(8,13)。 gotoxy(8,9)。 /*按鍵有誤,必須數(shù)值 0~9*/ } } } 3. 主菜單界面 用戶進入工資管理系統(tǒng)時,需要顯示主菜單,提示用戶進行選擇,完成相應任務。 /*排序職工工資記錄 */ case 8:Save(gz,count)。 /*查詢職工工資記錄 */ case 4:Modify(gz,count)。 getchar()。 scanf(%c,amp。 menu()。 /*保存文件中的記錄條數(shù) (或元素個數(shù) )*/ fp=fopen(c:\\ZGGZ,ab+)。 /*稅款 */ float sfgz。 include include include include define HEADER1 ZGGZ \n define HEADER2 | number | name | jbgz | jj | kk | yfgz | sk | sfgz | \n define HEADER3 || | | | | | || \n define FORMAT |%8s|%10s|%|%|%|%|%|%| \n define DATA pnum,pname,pjbgz,pjj,pkk,pyfgz,psk,psfgz define END \n define N 60 int saveflag=0。 9) Del() 函數(shù)原型: int Del(ZGGZ tp[],int n) Del()函數(shù)用于現(xiàn)在數(shù)組 tp 中找到滿足條件的記錄,然后刪除記錄。 4) Numberinput() 函數(shù)原型: float numberinput(char *notice) numberinput()函數(shù)用于輸入數(shù)值型數(shù)據(jù), notice 用于保存 printf()中輸出的提示信息。 ? num[10]:保存職工編號。 float jbgz。其缺點則是會反復掃描數(shù)據(jù),比較相鄰的兩個元素,速度不快且沒有效率。 冒泡排序法的基本思想為:將相鄰的兩個數(shù)組元素的實發(fā)工資字段的值進行比較,若左邊的值小于右邊的值,則將此兩個元素的值進行交換;若左邊的值大于等于右邊的值,則此兩個值的位置不變。第一步,輸入要修改的職工編號,輸入后調(diào)用定位函數(shù) Locate()在數(shù)組中逐個對職工編號或姓名字段的值進行比較,直到找到該職工編號的紀錄;第二步,若找到該記錄,則修改除職工編號之外的各字段的值,并將存盤標記變量 saveflag 置1,表示已經(jīng)對記錄進行了修改,但還未執(zhí)行存盤操作。gz[count],sizeof(ZGGZ),1,fp)文件讀取函數(shù),執(zhí)行一次從文件中讀取一條工資記錄信息存入某個數(shù)組元素中的操作,并且這個操作在 main()中調(diào)用執(zhí)行,即在工資管理系統(tǒng)進入顯示菜單界面時,該操作已經(jīng)執(zhí)行了。它先以可讀寫的方式打開數(shù)據(jù)文件 ,此文件默認為“ c:\zggz”,如該文件不存在,則新建此文件。一般而言,系統(tǒng)進行了這些操作之后,需要將修改的的數(shù)據(jù)存入 源數(shù)據(jù)文件。當從數(shù)據(jù)文件中讀入記錄時,它就是在以記錄為單位存儲的數(shù)據(jù)文件中,將記錄逐條復制到數(shù)組元素中。本程序中涉 及結(jié)構(gòu)體、數(shù)組、文件等方面的知識。 36 8. 統(tǒng)計記錄 32 3. 顯示記錄 28 11 6. 輸出記錄模塊 1: 工資管理系統(tǒng) 學 院: 信息科學技術(shù)學院 專 業(yè): 09 通信工程 姓 名: 學 號: 指導老師: 吳澤暉 二零一一年十二月 2 目錄 一、 設計目的 4 二、 功能描述 6 1. 主控函數(shù)執(zhí)行流程 9 1) 修改記錄 9 2) 刪除記錄 9 3) 插入記錄 9 4) 排序記錄 10 5. 統(tǒng)計記 錄模塊 20 26 37 9. 排序記錄 39 4 一、 設計目的 本程序旨在訓練基本的編程能力,了解管理信息系統(tǒng)的開發(fā)流程,熟悉 C 語言的文件和結(jié)構(gòu)數(shù)組的各種基本操作。記錄由職工的基本信 息和工資信息字段構(gòu)成。在此工資管理系統(tǒng)中,實現(xiàn)對記錄的修改、刪除、插入、和排序操作。 工資管理系統(tǒng) 6 三、 總體設計 一、 功能模塊設計 main()函數(shù)執(zhí)行流程 工資管理系統(tǒng)執(zhí)行流程如后圖所示。當從數(shù)據(jù)文件中讀出記錄時,它調(diào)用 fread(amp。 1) 修改記錄操作 修改記錄操作需要對數(shù)組中目標元素的數(shù)據(jù)域中的值進行修改,它分兩步完成。針對數(shù)組結(jié)構(gòu)的特點,這里采用這種排序法來實現(xiàn)按實發(fā)工資字段的值從高到低對記錄進行排序。冒泡排序法的優(yōu)點是,若數(shù)組元素已有部分排好序,則使用冒泡排序法可以快速排序。 char name[15]。 其各字段的值的含義如下。 3) Disp() 函數(shù)原型: void Disp(ZGGZ tp[],int n) Disp()函數(shù)用于顯示 tp 數(shù)組中存儲的 n 條記錄,內(nèi)容為 emplyee 結(jié)構(gòu) 14 中定義的內(nèi)容。 8) Qur() 函數(shù)原型: void Qur(ZGGZ tp[],int n) Qur()函數(shù)用于在數(shù)組 tp 中按職工編號或姓名查找滿足條件的記錄, 15 并顯示出來。 四、 程序?qū)崿F(xiàn) 1. 程序預處理 包括加載頭文件,定義結(jié)構(gòu)體、常量變量,并對它們進行初 始化工作。 /*應發(fā)工資 */ float sk。 /*保存( y,Y,n,N) */ int count=0。 getchar()。 printf(\n==whether save the modified record to file?(y/n):)。 } printf(\n===thank you for useness!)。break。 break。break。 cprintf(******************************Menu*****************\n)。 cprintf( * 7 sort record 8 save record * \n)。 (2)調(diào)用 printdata(ZGGZ pp)函數(shù),它將顯示數(shù)組元素 pp 中的記錄信息。 } void Disp(ZGGZ tp[], int n) /*顯示數(shù)組 tp[]中存儲的記錄,內(nèi)容為 employee結(jié)構(gòu)中定義的內(nèi)容 */ { int i。 i++。 int Locate(ZGGZ tp[],int n,char findmess[],char nameornum[]) { int i=0。 (2)調(diào)用 numberinput( char *notice)函數(shù),它將提示用戶輸入一個浮點型數(shù)值,對數(shù)值檢驗后返回該值。 do{ printf(notice)。 int Add(ZGGZ tp[],int n) {char ch,num[10]。 if(strcmp(num,0)==0) /*輸入為 0,則退出添加操作,返回主界面 */ 22 {return n。ch) 。} } strcpy(tp[n].num,num)。 saveflag=1。 23 int p=0。 scanf(%d,amp。 getchar()。 printf(press any key to return)。 int Del(ZGGZ tp[],int n) { int sel。 Disp(tp,n)。 if(p!=1) { for(i=p+1。 tp[i1].sk=tp[i].sk。 } else if(sel==2) { stringinput(findmess,15,input the existing employee name:)。 tp[i1].jj=tp[i].jj。 saveflag=1。 if(n=0) {system(cls)。 /*輸出并檢驗該編號 */ p=Locate(tp,n,findmess,num)。 printf(koukuan:%,tp[p].kk)。 getchar()。 /*s[]保存插入點位置之前的編號, num[]保存輸入的新記錄的編號 */ ZGGZ newinfo。flag=1。 if(ch==39。flag=0。 if(ch==39。 stringinput(,15,Name:)。 /*在 main()中對該全局變量的判斷,若為 1,則進行存盤操作 */ for(i=n1。 tp[i+1].sk=tp[i].sk。 tp[kkk+1].sk=。在統(tǒng)計記錄操作中,系統(tǒng)會統(tǒng)計該公司職工工資在各個等級的人數(shù)分布情況,并打印輸出該統(tǒng)計結(jié)構(gòu)。 Disp(tp,n)。} if(tp[i].sfgz=2021) {count2021++。 printf(5000=sfgz10000:%d(ren)\n,count5000)。 void Sort(ZGGZ tp[],int n) { int i=0,j=0,flag=0。 /*顯示排序前的所有記錄 */ for(i=0。 =tp[j].jbgz。 tp[j].jbgz=tp[j+1].jbgz。 tp[j+1].jbgz=。 /*顯示排序后的記錄 */ saveflag=1。 getchar()。 printf(\n\n=====save file plete,total saved39。 /*關(guān)閉此文件 */ } 五、 運行結(jié)果 1. 主界面 當用戶剛進入工資管理系統(tǒng)時,其主界面如下圖所示。
點擊復制文檔內(nèi)容
畢業(yè)設計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1