版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精品文檔/* *職工工資管理小軟件*/#include#include#include#include/*職工變量定義*/typedef struct employee/* 數(shù)據(jù)域 */charsex10;/ 性別charage10;/ 年齡charpost10;/ 崗位charEmployeeID15;/ 工號charname10;/ 姓名intbasesalary;/ 基本工資intpostwage;/ 崗位工資floattotalwage;/ 總工資/* 指針域 */struct employee *next;LNode,*LinkList;/*全局變量定義*/int iCount=0;
2、int saveflag=0; /*是否需要存盤的標(biāo)志變量*/*函數(shù)聲明*/void MainMenu();/ 登陸函數(shù)int menu();/ 主菜單函數(shù)LinkList CreatLinkList();/ 職工信息創(chuàng)建函數(shù)void stringinput(char *t,int lens,char *notice);/ 字符長度判斷函數(shù)函數(shù)void ShowLinkList(pHead);/ 職工信息輸出函數(shù)void OutOneNode(LinkList PNode);/ 輸出一個節(jié)點的數(shù)據(jù)。1歡迎下載精品文檔LinkList FindWorker(LinkList pHead);/ 職
3、工信息查詢函數(shù)void update(LinkList pHead);/ 職工信息修改函數(shù)void sortList(LinkList pHead);/ 職工工資排序函數(shù)LinkList FindWorker(LinkList pHead);/ 按職工姓名查找LinkList Find_ByEmployeeID(LinkList pHead);/ 按職工工號查找LinkList LoadData(LinkList pHead);void UpdateInfo();/ 職工信息更新函數(shù)void SaveData(LinkList pHead);/ 職工信息保存函數(shù)/ 職工信息導(dǎo)入函數(shù)void a
4、uthor();/ 查詢作者信息函數(shù)void back();/ 返回上一界面函數(shù)/*系統(tǒng)主函數(shù)*/void main()int iChoice;for(;)system(cls);printf(nnnn);printf(歡迎進入職工工資管理系統(tǒng)nnn);printf(1進入管理系統(tǒng)nn);printf(2查看作者信息nn);printf(0退出nn);printf(nnnn);printf(請輸入您的選擇(0-2):n);scanf(%d,&iChoice);。2歡迎下載精品文檔while(iChoice2)system(cls);printf(nnnn);printf(歡迎進入職工工資管理系
5、統(tǒng)nnn);printf(1進入管理系統(tǒng)nn);printf(2查看作者信息nn);printf(0退 出nn);printf(nnnn);printf(您的輸入有誤!n);printf(請重新輸入您的選擇(0-2):n);scanf(%d,&iChoice);switch(iChoice)case 1:MainMenu();break;case 2:author();back();break;case 0:system(cls);printf(nnnnnn);printf(謝謝使用!nn);printf(t再見! nnnn);exit(0);fflush(stdin);getchar();s
6、ystem(cls);/*功能:登陸函數(shù),進行密碼驗證*/void MainMenu()char key10,password10=123;int iNum=1;LinkList pHead;/定義單鏈表結(jié)點指針。3歡迎下載精品文檔printf(請輸入密碼:t);scanf(%s,key);while(iNum2)if(strcmp(password,key)=0)continue;elseprintf(n輸入密碼錯誤3 次,系統(tǒng)將自動退出!nn);printf(歡迎下次使用!nn);exit(0);/*。5歡迎下載精品文檔功能 :主菜單函數(shù),用于主顯示菜單參數(shù): iChoice類型: int
7、說明:變量返回值 : iChoice*/int menu()int iChoice ;system(cls);printf(n您是合法用戶! );printf(nnn);printf(|*歡迎進入職工工資管理系統(tǒng)*|n);printf(|n);printf(|n);printf(|1職工信息創(chuàng)建|n);printf(|n);printf(|2職工信息瀏覽|n);printf(|n);printf(|3職工信息查詢|n);printf(|n);printf(|4職工信息添加|n);printf(|n);printf(|5職工信息修改|n);printf(|n);printf(|6職工信息保存|n
8、);printf(|n);printf(|7職工信息刪除|n);。6歡迎下載精品文檔printf(|n);printf(|8職工信息讀取|n);printf(|n);printf(|9職工工資排序|n);printf(|n);printf(|10職工工資統(tǒng)計|n);printf(|n);printf(|0退出系統(tǒng)|n);printf(|n);printf(|n);printf(|*|n);printf(nn);printf(請輸入你所選擇的選項(0-9) : );scanf(%d,&iChoice);while(iChoice12|iChoice(size_t)lens)printf(n輸入字
9、符過長!);/ 超過 lens只重新輸入while(strlen(n)(size_t)lens);strcpy(t,n);/ 將輸入的字符串拷貝到字符串t 中/*功能:職工信息創(chuàng)建*/LinkList CreatLinkList()/ 創(chuàng)建一個鏈表,包含n 個節(jié)點LinkList pHead;LinkList pNew,pTail;int i,iNum=0;pHead=(LinkList)malloc(sizeof(LNode);/ 為頭節(jié)點分配內(nèi)存空間if(pHead=NULL)printf(分配空間失??!);exit(1);elsepHead-next=NULL;/ 鏈表初始化system
10、(cls);printf(nnnn);printf(歡迎進入職工信息創(chuàng)建模塊nnnnn);printf(請輸入要添加職工的個數(shù):n );scanf(%d,&iNum);if(iNum0)/* 利用 for循環(huán)一次實現(xiàn)各節(jié)點的創(chuàng)建和數(shù)據(jù)的輸入*/for(i=0;iname,10,n請輸入職工姓名:tt);if(strcmp(pNew-name,0)=0)break;stringinput(pNew-post,10,n請輸入職工崗位:tt);stringinput(pNew-EmployeeID,15,n請輸入職工工號:tt);stringinput(pNew-sex,10,n請輸入職工性別:tt
11、);stringinput(pNew-age,10,n請輸入職工年齡:tt);printf(n請輸入職工基本工資:t);scanf(%d,&pNew-basesalary);printf(n請輸入職工崗位工資:t);scanf(%d,&pNew-postwage);if(pHead-next=NULL)pHead-next=pNew;pTail=pNew;iCount+;elsepTail-next=pNew;/ 將 pNew鏈到鏈表中pTail=pNew;iCount+;pTail-next=NULL;/ 將鏈表的最后一個節(jié)點的指針域置空printf(nn);printf(當(dāng)前共輸入 %d個
12、職工信息 nn,iCount);printf(nn);printf(職工信息創(chuàng)建完成!nn);return pHead;/*功能:輸出一個節(jié)點的數(shù)據(jù)*/void OutOneNode(LinkList pNew)。9歡迎下載精品文檔printf(n);printf( |姓名 |職工號 |性別 |年齡 |任職崗位 |基本工資 |崗位工資 |n);printf(n);printf(|%9s|%10s|%7s| %5s| %10s| %10d| %10d|n,pNew-name,pNew-EmployeeID,pNew-sex,pNew-age,pNew-post,pNew-basesalary,p
13、New-postwage);printf(n);printf(nn);/*功能:職工信息輸出*/void ShowLinkList(LinkList pHead)int iNum=0;LinkList pNew;pNew=pHead;system(cls);printf(nnnnn);printf(歡迎進入職工信息瀏覽模塊nnnn);if(pNew = NULL)printf(n提示 : 沒有記錄可以顯示!nn);return;printf(n);printf( |姓名 |職工號 |性別 |年齡 |任職崗位 |基本工資 |崗位工資 |n);printf(n);。10歡迎下載精品文檔for(pN
14、ew=pHead-next;pNew!=NULL;pNew=pNew-next)printf(|%9s|%10s|%7s| %5s| %10s| %10d| %10d|n,pNew-name,pNew-EmployeeID,pNew-sex,pNew-age,pNew-post,pNew-basesalary,pNew-postwage);printf(n);iNum+;printf(nn職工信息輸出完成!n);printf(n當(dāng)前共有 %d個職工!nnn,iNum);/*功能:查找職工信息*/LinkList FindWorker(LinkList pHead)LinkList perNod
15、e;char WorkNumber15;if(pHead-next = NULL)printf(當(dāng)前沒有職工信息.);return NULL;printf( 請輸入工作者的工號或姓名: n ); scanf(%s,WorkNumber);for(perNode = pHead-next ; perNode != NULL; perNode = perNode-next)if(strcmp(WorkNumber,perNode-EmployeeID) = 0)break;if (perNode != NULL)printf(n該職工信息如下:nn);OutOneNode(perNode);ret
16、urn perNode;elsefor(perNode = pHead-next ; perNode != NULL; perNode = perNode-next)if(strcmp(WorkNumber,perNode-name) = 0)break;。11歡迎下載精品文檔if (perNode != NULL)printf(n該職工信息如下:nn);OutOneNode(perNode);return perNode;printf( 沒有找到您要找的工人! nn); return NULL;/*功能:修改職工信息/*/void update(LinkList pHead)LNode *p
17、trWork = FindWorker(pHead);char type = 0;if (ptrWork != NULL)printf(請你輸入你要修改的屬性:n);printf(1:姓名 n);printf(2:職工號 n);printf(3:性別 n);printf(4:年齡 n);printf(5:任職崗位 n);printf(6:基本工資 n);printf(7:崗位工資 nn);doprintf(t請選擇: n);scanf(%d,&type); while (type 7 | type name,10,nt請輸入職工姓名:tt);break;case 2:stringinput(p
18、trWork-EmployeeID,15,nt請輸入職工工號:tt);break;case 3:stringinput(ptrWork-sex,10,nt請輸入職工性別:tt);break;。12歡迎下載精品文檔case 4:stringinput(ptrWork-age,10,nt請輸入職工年齡:tt);break;case 5:stringinput(ptrWork-post,10,nt請輸入職工崗位:tt);break;case 6:printf(nt請輸入職工基本工資:t);scanf(%d,&ptrWork-basesalary);break;case 7:printf(nt請輸入職
19、工崗位工資:t);scanf(%d,&ptrWork-postwage);break;/*/*對鏈表進行排序*/*/void sortList(LinkList pHead)LinkList seconde = pHead-next; /指向第一個結(jié)點/*pHead-next = NULL;LNode *perNode = pHead;/指向前面一個結(jié)點LNode *node = perNode-next; /指向正在比較的這個節(jié)點LNode * curNode; /是帶插入的結(jié)點pHead-next = NULL;while (seconde != NULL)curNode = second
20、e;seconde = seconde-next; /從鏈表里面讀取一個結(jié)點curNode-next = NULL;if (pHead-next = NULL)pHead-next = curNode;elsefor (perNode = pHead,node = perNode-next;node != NULL; node =。13歡迎下載精品文檔node-next,perNode = perNode-next)if(node-postwage+node-basesalary)(curNode-postwage+curNode-basesalary)perNode-next = curNo
21、de;curNode-next = node;/perNode = curNode;break;if( node = NULL)perNode-next = curNode;/*功能:把職工信息保存到文件*/void SaveData(LinkList pHead)FILE *fp;LinkList pNew;char filename20;system(cls);printf(nnnnn);printf(歡迎進入職工信息保存模塊nnnn);printf(請輸入文件的地址及文件名:n);scanf(%s,filename);if(fp=fopen(filename,w)=NULL)printf
22、(無法打開該文件!n);return;fprintf(fp, 目前共有 %d名學(xué)生信息: nn,iCount); /fprintf(fp,n);。14歡迎下載精品文檔fprintf(fp, |姓名 |職工號 |性別 |年齡 |任職崗位 |基本工資 |崗位工資 |n);/fprintf(fp,n);for(pNew=pHead-next;pNew!=NULL;pNew=pNew-next)fprintf(fp,|%9s|%10s|%7s| %5s| %10s| %10d| %10d|n,pNew-name,pNew-EmployeeID,pNew-sex,pNew-age,pNew-post,p
23、New-basesalary,pNew-postwage);/fprintf(fp,n);printf(nn職工信息保存成功!nn);fclose(fp);/*功能:從文件讀取職工信息*LinkList LoadData(LinkList pHead)FILE *fp;LinkList pNew,pTail;char filename20;system(cls);printf(nnnnn);printf(歡迎進入職工信息導(dǎo)入模塊nnnn);printf(請輸入需加載的文件地址及文件名:n);scanf(%s,filename);if(fp=fopen(filename,r)=NULL)printf(無法打開該文件n);exit(0) ;fscanf(fp,目前共有 %d名學(xué)生信息:,&iCount);*/for(i=0;i7;i+)/ fscanf(fp,%s,&secondlinei);/*pHead=NULL;for(i=0;iname,pNew-EmployeeID,pNew-sex,pNew-age,pNew-post,&pNew-basesalary,&pNew-postwage);pNew-next=NULL;if(pHead=NULL)pHead=pNew;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023-2024學(xué)年全國小學(xué)二年級上科學(xué)仁愛版期末考卷(含答案解析)
- 陜西省漢中市部分高中2025屆英語高三第一學(xué)期期末達標(biāo)測試試題含解析
- 江蘇省南通市通州區(qū)西亭高級中學(xué)2025屆數(shù)學(xué)高三上期末經(jīng)典模擬試題含解析
- 舉一反三系列高考高中數(shù)學(xué)同步及復(fù)習(xí)資料人教A版必修1專題4.10 函數(shù)的應(yīng)用(二)-重難點題型檢測(含答案及解析)
- 保潔服務(wù)勞務(wù)派遣合同
- 觀光電梯工程鋼結(jié)構(gòu)制作安裝承包合同
- 教師個人述職工作總結(jié)6篇
- 企業(yè)管理2024年上半年工作總結(jié)(三篇)
- 全員培訓(xùn)語文研修總結(jié)8篇
- 雨雪災(zāi)害天氣應(yīng)急預(yù)案7篇
- 天津市和平區(qū)益中學(xué)校2022-2023學(xué)年七年級(上)期中數(shù)學(xué)試卷(人教版 含答案)
- 2024年度中國AI大模型場景探索及產(chǎn)業(yè)應(yīng)用調(diào)研報告-2024
- 高校輔導(dǎo)員的七項修煉讀書札記
- 2024年國家公務(wù)員考試行測真題完整版
- (正式版)JBT 11270-2024 立體倉庫組合式鋼結(jié)構(gòu)貨架技術(shù)規(guī)范
- 數(shù)字化轉(zhuǎn)型數(shù)據(jù)架構(gòu)設(shè)計方法論及案例
- GB/Z 43281-2023即時檢驗(POCT)設(shè)備監(jiān)督員和操作員指南
- 大陳島墾荒精神介紹
- 航空器系統(tǒng)與動力裝置學(xué)習(xí)通課后章節(jié)答案期末考試題庫2023年
- 幼兒園大班語言《有趣的漢字》課件
- 污水處理設(shè)備維護保養(yǎng)方案
評論
0/150
提交評論