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

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計工資管理系統(tǒng)-可編輯-在線瀏覽

2024-07-09 17:38本頁面
  

【正文】 nt Locate(ZGGZ tp[],char findmess[],char nameornum[]),參數(shù) findmess[]保存要查找的具體內(nèi)容, nameornum[]保存要查找的字段,若找到該記錄,則返 回指向該記錄的數(shù)組元素的下標,否則:返回一個 1 的值。因為記錄是以數(shù)組的結(jié)構(gòu)形式存儲的,所以這些操作都在數(shù)組中完成。 1) 修改記錄操作 修改記錄操作需要對數(shù)組中目標元素的數(shù)據(jù)域中的值進行修改,它分兩步完成。 2) 刪除記錄 刪除記錄操作完成刪除指定職工編號或姓名的記錄,它也分兩步完成。首先,它要求用戶輸入某個員工 的職工編號,新的紀錄將插入在該記錄之后;然后,提示用戶輸入一條新的紀錄的信息,這些信息保存在新結(jié)構(gòu)體類型的數(shù)組元素的各字段中;最后,將該元素插入在已經(jīng)確認位置的職工編號之后。具體過程為:現(xiàn)調(diào)用 Locate()函數(shù)找到 A2 在數(shù)組中的下標,從 A4 開始,往后移動,至 A2 停止移動,然后再遠 A3 的位置插入元素 B1。針對數(shù)組結(jié)構(gòu)的特點,這里采用這種排序法來實現(xiàn)按實發(fā)工資字段的值從高到低對記錄進行排序。右邊的值繼續(xù)和下一個值做比較,重復此動作,直到比較到最后一個值。 第一輪:從 gz[0]比到 gz[n1],實發(fā)工資字段值最小的元素存放在gz[n1]中。 ...... 第 n 輪:從 gz[0]比到 gz[1],實發(fā)工資字段值最小的元素存放在 gz[1]中。冒泡排序法的優(yōu)點是,若數(shù)組元素已有部分排好序,則使用冒泡排序法可以快速排序。它屬于穩(wěn)定的快速排序法。 當把記錄輸出至文件時,調(diào)用 fwrite(amp。 二、數(shù)據(jù)結(jié)構(gòu)設(shè)計 本程序定義了結(jié)構(gòu)體 emplyee ,用于存放職工的基本信息和工資信息。 char name[15]。 float jj。 13 float yfgz。 float sfgz。 其各字段的值的含義如下。 ? Name[15]:保存職工姓名。 ? kk:保存職工扣款。 三、 函數(shù)功能描述 1) Printheader() 函數(shù)原型: void printheader() Printheader()函數(shù)用于在以表格形式顯示記錄時,打印輸出表頭信息。 3) Disp() 函數(shù)原型: void Disp(ZGGZ tp[],int n) Disp()函數(shù)用于顯示 tp 數(shù)組中存儲的 n 條記錄,內(nèi)容為 emplyee 結(jié)構(gòu) 14 中定義的內(nèi)容。該函數(shù)返回用戶輸入的浮點類型數(shù)據(jù)值。 6) Locate() 函數(shù)原型 : int Locate(ZGGZ tp[],int n,charfindmess[],charnameornum[[]) Locate()函數(shù)用于定位數(shù)組重符合要求的元素,并返回該數(shù)組元素下標值。 7) Add() 函數(shù)原型: int Add(ZGGZ tp[],int n) Add()函數(shù)用于在數(shù)組 tp 中增加工資記錄元素,并返回數(shù)組中的當前記錄。 8) Qur() 函數(shù)原型: void Qur(ZGGZ tp[],int n) Qur()函數(shù)用于在數(shù)組 tp 中按職工編號或姓名查找滿足條件的記錄, 15 并顯示出來。 10) Modify() 函數(shù)原型: void Modify(ZGGZ tp],int n) Modify 函數(shù)用于在數(shù)組 tp 中修改記錄元素。 12) Tongji() 函數(shù)原型: void Tongji(ZGGZ tp[] int n) Tongji()函數(shù)用于在數(shù)組 tp 中完成記錄的 統(tǒng)計工作,統(tǒng)計該公司職工工資的整體分布情況。 14) Save() 函數(shù)原型: void Save(ZGGZ tp[] int n) Save()函數(shù)用于將保存職工工資的數(shù)組 tp 中的 n 個元素寫入磁盤的數(shù)據(jù)文件中。 四、 程序?qū)崿F(xiàn) 1. 程序預處理 包括加載頭文件,定義結(jié)構(gòu)體、常量變量,并對它們進行初 始化工作。 /*是否需要存盤的標志變量 */ /*定義與職工有關(guān)的數(shù)據(jù)結(jié)構(gòu) */ typedef struct employee /*標記為 employee*/ { char num[10]。 /*職工姓名 */ float jbgz。 /*獎金 */ float kk。 /*應(yīng)發(fā)工資 */ float sk。 /*實發(fā)工資 */ }ZGGZ。 void main() { ZGGZ gz[N]。 /*文件指針 */ 17 int select。 /*保存( y,Y,n,N) */ int count=0。/*以追加方式打開二進制文件 ,可讀可寫,若次文件不存在,會創(chuàng)建此文件 */ if(fp==NULL) { printf(\n=====can not open file!\n)。 } while(!feof(fp)) { if(fread(amp。 } fclose(fp)。 getchar()。 while(1) { system(cls)。 printf(\n please Enter your choice(0~9):)。select)。 printf(\n==whether save the modified record to file?(y/n):)。ch)。y39。Y39。 } printf(\n===thank you for useness!)。 break。break。break。break。break。break。break。 break。break。Disp(gz,count)。 /*顯示職工工資記錄 */ default: Wrong()。break。此代碼 main()函數(shù)調(diào)用。 /*調(diào)用 DOS命令清屏 */ textcolor(8)。 cprintf( The Employee salary Management System \n)。 cprintf(******************************Menu*****************\n)。 cprintf( * 1 input record 2 delete record * \n)。 cprintf( * 3 search record 4 modify record * \n)。 cprintf( * 5 insert record 6 count record * \n)。 cprintf( * 7 sort record 8 save record * \n)。 cprintf( * 9 display record 0 quit system * \n)。 cprintf( *************************************************\n)。過程如下。 (2)調(diào)用 printdata(ZGGZ pp)函數(shù),它將顯示數(shù)組元素 pp 中的記錄信息。 printf(HEADER2)。 } void printdata(ZGGZ pp) /*格式化輸出表中的數(shù)據(jù) */ { ZGGZ* p。pp。 } void Disp(ZGGZ tp[], int n) /*顯示數(shù)組 tp[]中存儲的記錄,內(nèi)容為 employee結(jié)構(gòu)中定義的內(nèi)容 */ { int i。 getchar()。 } printf(\n\n)。 /*輸出表頭部 */ i=0。 i++。 } getchar()。 getchar()。 } 用戶進入工資管理系統(tǒng)時,在對某個記錄進行處理前,需要按照條件找到這條記錄, Locate()函數(shù)完成了記錄定位的功能。 int Locate(ZGGZ tp[],int n,char findmess[],char nameornum[]) { int i=0。 i++。 i++。 /*未找到 */ } 21 在此工資管理系統(tǒng)中,要求用戶輸入的只有字符型和數(shù)值型數(shù)據(jù),所以我們設(shè)計了下面兩個函數(shù)來單獨處理,并對輸出的數(shù)據(jù)進行檢驗。 (2)調(diào)用 numberinput( char *notice)函數(shù),它將提示用戶輸入一個浮點型數(shù)值,對數(shù)值檢驗后返回該值。 do{ printf(notice)。 /*輸入字符串 */ if(strlen(n)lens) printf(\n exceed the required length! \n)。 strcpy(t,n)。 do{ printf(notice)。t)。 }while(t0)。 } 調(diào)用 Add(ZGGZ tp[],int n)函數(shù),完成在數(shù)組 tp 中添加職工工資記錄的功能。 int Add(ZGGZ tp[],int n) {char ch,num[10]。 system(cls)。 while(1) { while(1) { stringinput(num,10,input number (press 39。return menu):)。 if(strcmp(num,0)==0) /*輸入為 0,則退出添加操作,返回主界面 */ 22 {return n。 while (in) /*查詢該編號是否已近存在,若存在則要求 重新輸入一個未被占用的編號 */ { if(strcmp(tp[i].num,num)==0) {flag=1。 } i++。 printf(==the number %s is existing, try again?(y/n):,num)。ch) 。y39。Y39。 else return n。} } strcpy(tp[n].num,num)。 tp[n].jbgz=numberinput(jbgz:)。 tp[n].kk=numberinput(koukuan:)。 tp[n].sk=tp[n].yfgz*。 saveflag=1。 } return n。當用戶執(zhí)行此查詢?nèi)蝿?wù)時,系統(tǒng)會提示用戶進行查詢字段的選擇,即按職工編號或姓名進行查詢。 void Qur(ZGGZ tp[],int n) { int select。 23 int p=0。 printf(\n=====No employee record!\n)。 return。 printf(\n ======1 search by number =====2 search by name\n)。 scanf(%d,amp。 if(select==1) { stringinput(searchinput,10,input th
點擊復制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1