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

正文內(nèi)容

程序的設(shè)計基礎(chǔ)課程設(shè)計報告(c語言實現(xiàn)附源碼)(員工工資管理系統(tǒng))-文庫吧

2025-07-19 06:25 本頁面


【正文】 函數(shù)將各個函數(shù)聯(lián)系起來實現(xiàn)真正的菜單,輸入正確的序號可以進(jìn)行后續(xù)的各個操作。讀取函數(shù),將特定文件中的信息,以特定的方式讀取到正在運行的程序中,實現(xiàn)讀寫操作。寫入函數(shù),在添加、更新、刪除、重組操作過后進(jìn)行寫入操作,將變換后的數(shù)據(jù)重新寫入文件中。注:每次寫入都是將程序中的所有數(shù)據(jù)重新寫入文件。增加函數(shù),可以新添員工,并將員工的數(shù)據(jù)輸入,并利用寫入函數(shù),寫入文件中。在增加后會提示是否繼續(xù)增加,提供了方便。并且如果原數(shù)據(jù)中有相同編號的員工,會在輸入編號后提示有相同的編號的員工,并重新輸入編號。增加了程序的健全性。更新數(shù)據(jù)函數(shù),以編號來確定更新的員工,更新將重新輸入該編號員工的信息,并在更新后執(zhí)行寫入。刪除函數(shù),執(zhí)行該函數(shù)后,將有兩種選擇,按編號刪除,或按名字刪除,正確輸入后將會將該編號或姓名的數(shù)據(jù)中的一項zt的值更改為1,使其在其他操作時不被識別,以達(dá)到不刪除數(shù)據(jù),但達(dá)到相同的效果的邏輯刪除。顯示函數(shù),有兩種顯示方式,按學(xué)號顯示或按名字顯示,學(xué)號顯示為從小到大顯示。重組函數(shù),將文件中邏輯刪除的數(shù)據(jù)物理刪除,用來節(jié)省儲存空間,并可以加快運算速度。統(tǒng)計數(shù)據(jù),將文件中的數(shù)據(jù)統(tǒng)計、計算,并輸出,給人以直觀的方式顯示數(shù)據(jù)。排序函數(shù),將數(shù)據(jù)以實發(fā)工資從大到小排序。 系統(tǒng)流程設(shè)計主函數(shù)main()。登陸函數(shù)dl()。菜單函數(shù)cd()。增加函數(shù)zj_data()。刪除函數(shù)sc_data()更新函數(shù)gx_data()。讀取函數(shù)read()。查詢函數(shù)cz_data()。顯示函數(shù)xs_data()。重組數(shù)據(jù)cz_data()。統(tǒng)計數(shù)據(jù)tj_data。排序數(shù)據(jù)px_data()。系統(tǒng)的總體流程圖保存函數(shù)save()。查詢輸入查詢方式按編號查詢按名字查詢查詢學(xué)生輸出當(dāng)前學(xué)生數(shù)據(jù)查無此人查詢函數(shù)的流程圖3編碼實現(xiàn)define MAX 100includeincludeincludestruct user //登陸者信息{ char un[10]。 char up[10]。}us[3] = { aaa,111,bbb,222,ccc,333 }。struct yg //員工結(jié)構(gòu)體{ short zt。 //數(shù)據(jù)狀態(tài) long bh。 //編號 char name[20]。 //名字 char time[11]。 //時間 long money。 //基本工資 long jj。 //獎金 long kk。 //扣款 long sf。 //實發(fā)工資}。yg y[MAX]。 //定義數(shù)據(jù)體數(shù)組int r = 0。 //全局變量,人數(shù),包括邏輯刪除人數(shù)int p = 0。 //登陸的次數(shù),用全局變量能在登陸三次失敗時退出程序void read() //讀取文件函數(shù){ FILE *fp。 char b。 int i。 b = 39。039。 printf(即將讀取文件 \n)。 if ((fp = fopen(, rb)) == NULL) //讀取文件 { printf( 文件不存在\n)。 printf(是否重新創(chuàng)建該文件?\n)。 printf(創(chuàng)建(y) 或 退出(n)\n)。 getchar()。 b = getchar()。 while (getchar() != 39。\n39。) if (b == 39。Y39。 || b == 39。N39。) b += 32。 while (b != 39。y39。amp。amp。b != 39。n39。) { printf(輸入錯誤!請重新輸入!\n)。 b = getchar()。 while (getchar() != 39。\n39。) if (b == 39。Y39。 || b == 39。N39。) b += 32。 } if (b == 39。y39。) if ((fp = fopen(, wb)) == NULL) //文件不存在則創(chuàng)建文件 { printf(創(chuàng)建文件失敗!\n)。 printf(按下任意鍵以退出程序!\n)。 getchar()。 exit(1)。 } } if (b == 39。039。) { fread(amp。r, 4, 1, fp)。 printf(讀取成功!\n)。 } else printf(創(chuàng)建文件成功!\n)。 if (r != 0) for (i = 0。 i r。 i++) fread(amp。y[i], sizeof(yg), 1, fp)。 fclose(fp)。}void save() //保存文件函數(shù){ FILE *fp。 int i。 if ((fp = fopen(, wb)) == NULL) { printf(保存文件失敗!\n)。 printf(按下任意鍵以退出程序!\n)。 getchar()。 exit(1)。 } else { fwrite(amp。r, 4, 1, fp)。 if (r != 0) for (i = 0。 i r。 i++) fwrite(amp。y[i], sizeof(yg), 1, fp)。 } fclose(fp)。}void zj_data() //增加數(shù)據(jù)函數(shù){ yg yuangong。 char b。 int i。 int k = 0。 = 0。 //新建員工信息時,狀態(tài)為0 do //用循環(huán)來尋找、避免相同編號的員工 { printf(編號:(例如:123456)\n)。 scanf(%d, amp。)。 for (i = 0。 i r。 i++) if (y[i].bh == amp。amp。y[i].zt==0) { printf(已有同編號員工無法添加!\n)。 printf(請重新輸入!\n)。 k = 1。 break。 } else if (i == r 1) k = 0。 } while (k == 1)。 printf(姓名:(例如:張三(or tom))\n)。 scanf(%s, )。 printf(年月:(例如:)\n)。 scanf(%s, )。 printf(崗位工資:(例如:50000)\n)。 scanf(%d, amp。)。 printf(獎金:(例如:2000)\n)。 scanf(%d, amp。)。 printf(扣款:(例如:100)\n)。 scanf(%d, amp。)。 printf(實發(fā)工資為:(崗位工資+獎金扣款)\n)。 = + 。 printf(%d\n, )。 y[r] = yuangong。 r++。 //新建員工信息時人數(shù)r++ save()。 printf(添加成功!\n)。 getchar()。 //防止下面一個%c讀取到上一個的回車 printf(是否繼續(xù)添加員工?(y/n)\n)。 b = getchar()。 while (getchar() != 39。\n39。)。 if (b == 39。Y39。 || b == 39。N39。) b += 32。 while (b != 39。y39。amp。amp。b != 39。n39。) { printf(輸入錯誤!請重新輸入!\n)。 b = getchar()。 while (getchar() != 39。\n39。) if (b == 39。Y39。 || b == 39。N39。) b += 32。 } if (b == 39。y39。) zj_data()。}void gx_data() //更新數(shù)據(jù){ yg yuangong。 long num。 int i。 printf(\n請輸入要更新的員工的編號!\n)。 scanf(%d, amp。num)。 for (i = 0。 i r。 i++) if (y[i].bh == num
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1