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

正文內(nèi)容

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

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

下一頁面
  

【正文】 /*關(guān)閉此文件 */ } 五、 運(yùn)行結(jié)果 1. 主界面 當(dāng)用戶剛進(jìn)入工資管理系統(tǒng)時(shí),其主界面如下圖所示。 getchar()。 tp[j+1].jbgz=。 =tp[j].jbgz。 void Sort(ZGGZ tp[],int n) { int i=0,j=0,flag=0。} if(tp[i].sfgz=2021) {count2021++。在統(tǒng)計(jì)記錄操作中,系統(tǒng)會(huì)統(tǒng)計(jì)該公司職工工資在各個(gè)等級(jí)的人數(shù)分布情況,并打印輸出該統(tǒng)計(jì)結(jié)構(gòu)。 tp[i+1].sk=tp[i].sk。 stringinput(,15,Name:)。flag=0。flag=1。 getchar()。 /*輸出并檢驗(yàn)該編號(hào) */ p=Locate(tp,n,findmess,num)。 saveflag=1。 } else if(sel==2) { stringinput(findmess,15,input the existing employee name:)。 if(p!=1) { for(i=p+1。 int Del(ZGGZ tp[],int n) { int sel。 getchar()。 23 int p=0。} } strcpy(tp[n].num,num)。 if(strcmp(num,0)==0) /*輸入為 0,則退出添加操作,返回主界面 */ 22 {return n。 do{ printf(notice)。 int Locate(ZGGZ tp[],int n,char findmess[],char nameornum[]) { int i=0。 } void Disp(ZGGZ tp[], int n) /*顯示數(shù)組 tp[]中存儲(chǔ)的記錄,內(nèi)容為 employee結(jié)構(gòu)中定義的內(nèi)容 */ { int i。 cprintf( * 7 sort record 8 save record * \n)。break。break。 printf(\n==whether save the modified record to file?(y/n):)。 /*保存( y,Y,n,N) */ int count=0。 四、 程序?qū)崿F(xiàn) 1. 程序預(yù)處理 包括加載頭文件,定義結(jié)構(gòu)體、常量變量,并對它們進(jìn)行初 始化工作。 3) Disp() 函數(shù)原型: void Disp(ZGGZ tp[],int n) Disp()函數(shù)用于顯示 tp 數(shù)組中存儲(chǔ)的 n 條記錄,內(nèi)容為 emplyee 結(jié)構(gòu) 14 中定義的內(nèi)容。 char name[15]。針對數(shù)組結(jié)構(gòu)的特點(diǎn),這里采用這種排序法來實(shí)現(xiàn)按實(shí)發(fā)工資字段的值從高到低對記錄進(jìn)行排序。當(dāng)從數(shù)據(jù)文件中讀出記錄時(shí),它調(diào)用 fread(amp。在此工資管理系統(tǒng)中,實(shí)現(xiàn)對記錄的修改、刪除、插入、和排序操作。 39 4 一、 設(shè)計(jì)目的 本程序旨在訓(xùn)練基本的編程能力,了解管理信息系統(tǒng)的開發(fā)流程,熟悉 C 語言的文件和結(jié)構(gòu)數(shù)組的各種基本操作。 10 5. 統(tǒng)計(jì)記 錄模塊 9 4) 排序記錄 9 3) 插入記錄 9 2) 刪除記錄 9 1) 修改記錄 6 1. 主控函數(shù)執(zhí)行流程 28 32 3. 顯示記錄 36 8. 統(tǒng)計(jì)記錄本程序中涉 及結(jié)構(gòu)體、數(shù)組、文件等方面的知識(shí)。一般而言,系統(tǒng)進(jìn)行了這些操作之后,需要將修改的的數(shù)據(jù)存入 源數(shù)據(jù)文件。gz[count],sizeof(ZGGZ),1,fp)文件讀取函數(shù),執(zhí)行一次從文件中讀取一條工資記錄信息存入某個(gè)數(shù)組元素中的操作,并且這個(gè)操作在 main()中調(diào)用執(zhí)行,即在工資管理系統(tǒng)進(jìn)入顯示菜單界面時(shí),該操作已經(jīng)執(zhí)行了。 冒泡排序法的基本思想為:將相鄰的兩個(gè)數(shù)組元素的實(shí)發(fā)工資字段的值進(jìn)行比較,若左邊的值小于右邊的值,則將此兩個(gè)元素的值進(jìn)行交換;若左邊的值大于等于右邊的值,則此兩個(gè)值的位置不變。 float jbgz。 4) Numberinput() 函數(shù)原型: float numberinput(char *notice) numberinput()函數(shù)用于輸入數(shù)值型數(shù)據(jù), notice 用于保存 printf()中輸出的提示信息。 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。 /*保存文件中的記錄條數(shù) (或元素個(gè)數(shù) )*/ fp=fopen(c:\\ZGGZ,ab+)。 scanf(%c,amp。 /*查詢職工工資記錄 */ case 4:Modify(gz,count)。 /*按鍵有誤,必須數(shù)值 0~9*/ } } } 3. 主菜單界面 用戶進(jìn)入工資管理系統(tǒng)時(shí),需要顯示主菜單,提示用戶進(jìn)行選擇,完成相應(yīng)任務(wù)。 gotoxy(8,13)。 if(n==0) /*表示沒有職工工資記錄 */ { printf(\n=====Not employee record!\n)。 if(strcmp(nameornum,num)==0) /*按職工編號(hào)查找 */ { while(in) { if (strcmp(tp[i].num,findmess)==0) /*若找到 findmess值的職工編號(hào) */ return i。 /*顯示提示信息 */ scanf(%f,amp。} i=0。 stringinput(tp[n].name,15,Name:)。 if(n=0) { system(cls)。 } else Nofind()。 char findmess[20]。in。 p=Locate(tp,n,findmess,name)。 } else Nofind()。 /*找到該數(shù)組元素,并返回下標(biāo)值 */ if(p!=1) { printf(Number:%s,\n,tp[p].num)。 saveflag=1。break。 while(in) /*查詢該編號(hào)是否存在, flag=1表示該編號(hào)存在 */ { 28 if(strcmp(tp[i].num,num)==0) {flag=1。 =numberinput(jbgz:)。 tp[i+1].sfgz=tp[i].sfgz。 void Tongji(ZGGZ tp[],int n) { int count10000=0,count5000=0,count2021=0,count0=0。i=i+1。 ZGGZ newinfo。 =tp[j].jj。 tp[j+1].jj=。 return。此時(shí),系統(tǒng)已經(jīng)將“ c\zggz文件打開,若文件不為空,則將數(shù)據(jù)從文件中逐條記錄讀出,并寫入數(shù)組中。 } fclose(fp)。 /*以只寫方式打開二進(jìn)制文件 */ if(fp==NULL) /*打開文件失敗 */ { printf(\n =====open file error!\n)。 strcpy(tp[j+1].name,)。/*利用結(jié)構(gòu)變量 newinfo實(shí)現(xiàn)數(shù)組元素的交換 */ strcpy(,tp[j].name)。在排序記錄操作中,系統(tǒng)會(huì)利用冒泡排序法實(shí)現(xiàn)數(shù)組 的按實(shí)發(fā)工資字段的降序排序,并打印出排序前和排序后的結(jié)果。continue。 } 調(diào)用 Tongji(ZGGZ tp[],int n)函數(shù),在數(shù)組 tp 中完成統(tǒng)計(jì)職工工資的功能。 tp[i+1].yfgz=tp[i].yfgz。 } strcpy(,num)。 i=0。 while(i=n) /*查詢編號(hào)是否存在, flag=1,表示存在 */ { if(strcmp(tp[i].num,s)==0) {kkk=i。 Disp(tp,n)。 stringinput(findmess,10,input the existing employee number:)。 getchar()。 getchar()。 getchar()。在刪除記錄操作中,系統(tǒng)會(huì)先按用戶要求先找到該記錄的元素的下標(biāo)值,然后從數(shù)組中刪除該數(shù)組元素。 printf(press any key to return)。 /*1:按編號(hào)查找, 2:按姓名查找,其他:返回主界面(菜單)*/ char searchinput[20]。 } else {break。 flag=0。 /*將輸入的字符串拷貝到字符串 t中 */ } float numberinput(char *notice) { float t=。這里可以按照職工編號(hào)或職工姓名進(jìn)行記錄查找定位。 printf(FORMAT,DATA)。 gotoxy(8,12)。getchar()。 /*刪除職工工資記錄 */ case 3:Qur(gz,count)。 if(select==0) { if(saveflag==1) /*若對數(shù)組的數(shù)據(jù)有修改且未進(jìn)行存盤操 作,此標(biāo)志為1*/ { getchar()。 /*保存選擇結(jié)果變量 */ char ch。
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1