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

正文內(nèi)容

c課程設(shè)計-考勤管理程序設(shè)計與實現(xiàn)報告-在線瀏覽

2025-03-30 07:36本頁面
  

【正文】 件之間的關(guān)系很簡單,文件的記錄是線性的,所以相同的記錄可以用數(shù)組的形式來存儲,也就是線性表的形式。 如圖 員工信息管理模塊 由 五 個小模塊組成,至于 五 個小模塊的邏輯關(guān)系,雖然結(jié)構(gòu)圖顯示為平行的關(guān)系,但我覺得它們之間有一定的先后次序, 信息輸入應(yīng)該先于其它四個。 考勤管理系統(tǒng) 員工信息管理 員工考勤管理 員工信息輸入 員工信息輸出 員工信息添加 員工信息刪除 員工信息修改 考勤信息記錄 考勤信息統(tǒng)計 考勤信息查詢 武漢理工大學(xué)《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計說明書 8 考勤管理模塊由三個小模塊組成,它們的邏輯關(guān)系為:先調(diào)用考勤信息記錄模塊,然后從記錄中抽出一部分?jǐn)?shù)據(jù)進(jìn)行統(tǒng)計。 系統(tǒng)詳細(xì)設(shè)計 如圖 所示。 ② 輸入 2 進(jìn)入考勤管理頁面,對員工的進(jìn)行各種操作。 武漢理工大學(xué)《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計說明書 9 模塊的界面設(shè)計 ( 1)員工信息管理界面如圖 所示。 ① 輸入員工信息:此操作一般只在第一次使用系統(tǒng) 時,初始化員工信息。 ② 其它的操作 是在輸入員工信息的基礎(chǔ)上進(jìn)行的,或者準(zhǔn)確的地說是在有員工信息的基礎(chǔ)上。插入、修改、刪除只能通過輸入ID 方式,并且一次只能操作一個員工的信息。 武漢理工大學(xué)《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計說明書 10 圖 主要功能: ① 考勤記錄:輸入某個日期,然后對當(dāng)天所有員工依次打考勤 ② 考勤統(tǒng)計:輸入起止日期后,對在此期間的所有員工進(jìn)行統(tǒng)計,并輸出,然后手動保存。其中每一種又分別按照不同的方式查詢, ; ID 查詢某個人的考勤;。 頭文件,預(yù)定義, 特殊結(jié)構(gòu)體,變量的定義,說明 。 char name[20]。 }。 int month。 }。 int late。 char name[20]。 }。 int late_count。 char name[20]。 int COUNT=0。 //涉及修改,插入,輸出三個函數(shù) 的 聯(lián)合操作時某些位置是否調(diào)用 system(“pause”) struct employee person[MAX_COUNT]。 //基準(zhǔn) 日期 信息管理 程序?qū)崿F(xiàn) void input_employee() //第一次輸入員工信息,相當(dāng)于初始化 { system(cls)。 struct employee temp。 fp2=fopen(,w)。 printf(\n\t\t\t\tID\t 姓名 \t 部門 \n\t\t\t\t)。 fprintf(fp1,\n\t\t\t\tID\t 姓名 \t 部門 \n)。,)。 printf(%d,)。 fprintf(fp1,\t\t\t\t%d\t%s\t%s\n,)。 武漢理工大學(xué)《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計說明書 13 printf(\t\t\t\t)。,)。 fclose(fp2)。 COUNT=0。 exit(1)。person[COUNT].id,person[COUNT].name, person[COUNT].department)。 } COUNT。 } //專門用于向存儲員工信息的文件中寫函數(shù) void write_file() { int i。 fp1=fopen(,w+)。 if(fp1==NULL || fp2==NULL) { printf(cant not open file\n)。 } fprintf(fp1,\t\t\t\t 輸入員工信息 \n)。 for(i=0。i++) { fprintf(fp1,\t\t\t\t%d\t%s\t%s\n,person[i].id,person[i].name,person[i].department)。 } fclose(fp1)。 } //輸出員工信息 void output_employee() { int i。 int choice。 system(cls)。 //讀員工信息文件 printf(\n\t\t\t\t\t 輸出員工信息 \n)。 printf( \t)。 printf( \t)。 printf(\n\t 請選擇 (1~5):\t)。choice)。 goto start。 for(i=0。i++) printf(\t\t\t%d\t%s\t%s\n,person[i].id,person[i].name,person[i].department)。 } case(2): { printf(\t\t\t 輸入姓名: )。 printf(\t\t\tID\t 姓名 \t 部門 \n)。iCOUNT。 break。 scanf(%d,amp。 printf(\t\t\tID\t 姓名 \t 部門 \n)。iCOUNT。 break。 } case(4): { printf(\t\t\t 輸入部門: )。 printf(\t\t\tID\t 姓名 \t 部門 \n)。iCOUNT。 break。 } system(pause)。 system(cls)。 //讀文件 i=COUNT。 i。 COUNT++。 if(FLAG_pause==0) system(pause)。 int j。 //讀文件 system(cls)。iCOUNT。 for(j=i。j++) person[j]=person[j+1]。 write_file()。 } //修改員工信息 void edit_employee(int id) //員工信息有調(diào)整時,修改員工信息,涉及 //兩個過程:先刪除然后插入,剛好調(diào)用函數(shù) { struct employee someone。 FLAG_pause=1。 printf(\t 請輸入新的員工信息: \n\t\t\tID\t 姓名 \t 部門 \n\t\t\t)。,)。 武漢理工大學(xué)《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計說明書 19 write_file()。 system(pause)。 int id。 printf(\n\t\t\t\t\t 員工信息管理 \n)。 printf( \t)。 printf( \t)。 printf( \n)。 start: scanf(%d,amp。 if(choice1 || choice6) { printf(\t 輸入錯誤 ,請重輸 :\t)。 } switch(choice) { case(1): { 武漢理工大學(xué)《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計說明書 20 input_employee()。 } case(2): { output_employee()。 } case(3): { printf(\t\t\t 插入新員工信息 \n)。 printf(\t\t\t)。,)。 break。 printf(\t 請輸入要修改的員工 ID:\t)。id)。 break。 武漢理工大學(xué)《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計說明書 21 printf(\t 請輸入要刪除的員工 ID:\t)。id)。 break。 } } 程序?qū)崿F(xiàn) //計算日期對應(yīng)的文件名,相當(dāng)于哈希 函數(shù) ,以一年內(nèi)為界 ,一年以天計算 int puter(struct data someday) { int i。 if(==) days=+1。i。 case 3: days=days+31。 case 5: days=days+31。 case 7: days=days+31。 case 9: days=days+30。 case 11: days=days+30。 } return days。 int late。 int id。 char name[20]。 //零時存放某一天的考勤文件的文件名 FILE *fp。 system(cls)。 printf(\n\t\t 日期: )。,amp。)。 itoa(days,filename, 10)。 fp=fopen(filename,w)。 printf(\n\t\tID\t 姓名 \t 遲到 \t 早退 \n)。 for(i=0。i++) //對所有的員工打考勤,并寫入對應(yīng)的文件中 { id=person[i].id。 printf(\n\t\t%d\t%s\t,id,name)。late,amp。 fprintf(fp,%d\t%s\t%d\t%d\n,id,name,late,early)。 fclose(fp)。 武漢理工大學(xué)《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計說明書 24 } //統(tǒng)計所有員工某段時間的考勤情況,把統(tǒng)計結(jié)果輸入文件中 void statistic() { int i。 int k=0。 //標(biāo)識,用于判斷一個從文件中讀入的新記錄是否在內(nèi)存 中 存 在 , 如 果 不 存 在 則 新 分 配 內(nèi) 存 , //否則追加在已有的記錄上 int begin_page。 char save。 //零時存放某一天的考勤文件的文件 int year。 int day。 char name[20]。 char early[20]。 //指向某一天的考勤文件的指針 struct date begin。 struct statistic temp。 //存儲每個員工的遲到,早退次數(shù)的信息 for(i=0。i++) {
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1