c語言工資管理系統

2021-09-21 15:26:04 字數 3242 閱讀 6122

瀋陽航空工業學院

課程設計

學號班級

姓名指導教師

年月日瀋陽航空工業學院

課程設計任務書

一、課程設計題目:工資管理系統

二、課程設計工作自

三、課程設計內容

用c語言編寫軟體完成以下任務:

1輸入工資數(職工資料要有職工號.姓名.所屬部門.工齡和工資)儲存在paid.dat檔案中.

2對現有的職工資料根據所屬部門排序,並顯示出企業的平均工資.

3 職工漲工資(根據工齡按比例進行工資調整).

4 查詢職工的相關資料.

四、課程設計要求:

程式質量:

1貫徹結構化程式設計思想.

2使用者介面友好,功能明確,操作方便.可以加以其他功能和修飾.

3使用者介面的選單中包含"職工資訊錄入","排序及顯示"."工資調整","資訊查詢"."退出"5項.所有職工資料的改變都應該在paid.dat檔案中體現出來.

4**應適當縮排,並給出必要的注釋,以增強程式的可讀行.

課程設計說明書:

課程結束後,上交課程設計說明書(列印稿和電子稿),其內容如下:

1封面2課程設計任務書

3目錄4需求分析(分析題目的要求)

5程式流程圖(總體流程圖和主要功能模組流程圖)

6核心技術的實現說明及相應程式段

7個人總結

8參考資料

9源程式及適當的注釋

指導教師: _____ 學生簽名:_____

目錄一、需求分析1

二、程式流程圖2

三、核心技術的實現說明及相應程式段 ……………5

四、個人總結16

五、參考文獻17

六、源程式18

經過對程式設計題目的分析可知,整個程式的設計實現大致分為五個模組,其中每乙個模組對應乙個函式,他們的功能分別是:輸入職工資料函式(shuru),職工排序函式(sort_part),增加職工工資函式(add_paid),職工資訊的查詢函式(search_worker),以及主函式main().

1、輸入職工資料函式實現的功能是按照工號對職工的資料輸入並儲存在paid.dat;

2、職工排序函式按照題目的具體要求實現的是按職工部門排序並算出平均工資。

3、增加職工工資函式允許職工按照根據工齡按比例進行工資調整。

4、職工資訊的查詢函式輸出paid.dat檔案中的職工的相關資料。

除上面介紹的功能之外,程式還具有退出功能,可以在程式的一次執行當中迴圈執行所有的功能,並根據需要終止程式的執行。

每乙個職工記錄都包含職工號.姓名.所屬部門.

工齡和工資,在程式當中,將職工記錄型別定義為結構體型別,新增以及追加的職工資訊直接寫入d盤的paid.dat檔案中,其他函式每次對職工記錄的訪問,其資料**都是paid.dat檔案,這樣做不但可以保證職工資料的一致性,而且可以對職工資料進行永久儲存,保證每次執行程式都可以採用原來的資料。

1 主函式

2 錄入職工資訊函式

3漲工資函式

4 排序函式

5 查詢函式

本程式主要由四個自定義函式和乙個主函式組成,其中主函式以選單的形式呼叫其他函式來實現要求的所有功能。在這些函式當中,輸入資料函式、查詢函式、漲工資函式和排序函式是程式中較為核心的部分,下面分別進行說明:

1 錄入職工資訊,職工資訊包括職工編號,姓名,部門,工資和工作年齡,本函式的功能是把職工資訊寫入到檔案中。在程式中建立乙個檔案paid.txt.

定義乙個結構體變數。輸入職工的基本資訊把職工資訊寫入到檔案中。之後再次輸入下乙個職工的編號,並且判斷職工編號是否為 0 當不為零時,繼續輸入職工其它資訊,並且把資訊寫入到檔案中。

直到輸入的職工編號為零退出此函式

void shuru()

while(strcmp(pp.work_num,"e")!=0)

fclose(fp);

}2 排序函式的功能是對學生資訊進行排序,開啟檔案paid.txt。定義結構體變數陣列,把工人資訊讀取到結構體陣列中,用冒泡法進行排序並且輸出排序結果,此函式還有計算平均工資的功能。

void sort_part()

i=0;

// 判斷檔案是否結束

while(!feof(fp))

all=i;

printf("\n%d個員工的平均工資%lf",all, (float)sum/all);

printf("\n");

fclose(fp);

for(t=0;t for(k=0;k if(strcmp(pp[k].work_part,pp[k+1].work_part)>0)

strcpy(temp_ch,pp[k].work_num );

strcpy(pp[k].work_num,pp[k+1].work_num);

strcpy(pp[k+1].work_num,temp_ch);

strcpy(temp_ch,pp[k].work_name);

strcpy(pp[k].work_name,pp[k+1].work_name);

strcpy(pp[k+1].work_name,temp_ch);

strcpy(temp_ch,pp[k].work_part );

strcpy(pp[k].work_part,pp[k+1].work_part);

strcpy(pp[k+1].work_part,temp_ch);

temp_i = pp[k].work_paid;

pp[k].work_paid = pp[k+1].work_paid;

pp[k+1].work_paid = temp_i;

temp_i = pp[k].work_age;

pp[k].work_age = pp[k+1].work_age;

pp[k+1].work_age = temp_i;

fp= fopen("d:\\paid.txt","w+");

for(i=0;i

fclose(fp);

}3 增加職工工資,自己設定乙個職工工資的增加法則可,讀取職工資訊並且把職工的工資進行按工齡增加。最後把職工資訊全部寫入到檔案中。關閉檔案

void add_paid()

i=0;

j=0;

while(!feof(fp))

{ fscanf(fp,"%s\t%s\t%s\t%d\t%d\n",pp[j].work_num ,pp[j].work_name,pp[j].

work_part,&pp[j].work_paid,&pp[j].work_age);

工資管理系統C

西安郵電學院 c語言課程設計報告 院系名稱計算機學院 專業名稱 電腦科學與技術 班級 學生姓名 學號 8位 指導教師 設計起止時間 2011年06月22日 2011年07月01日 1.強化上機動手能力,在理論和實踐的基礎上進一步鞏固 c語言程式設計 課程學習的內容,掌握工程化軟體設計的基本方法 2....

c小型公司工資管理系統

程式設計實習 報告 專業班級 學號 姓名 時間 2010.8.22 2010.8.27 2010年8月 目錄一 實習內容1 二 設計思路2 三 程式清單3 四 執行結果25 五 程式使用說明31 六 總結及心得體會31 一 實習內容 實習目的 本次實習所編輯的c 程式是為了建立 小型公司工資管理系統...

工資管理系統

軟體工程作業 學院 班級 學號 姓名 指導老師 目錄一 需求分析3 1 功能定義3 2 參與者列表3 3 用例圖3 二 分析6 1 類圖6 2 狀態圖7 3 活 7 4 順序圖10 5 協作圖12 三 設計14 1 流程圖14 2 實體e r圖15 3 資料字典16 4 資料庫e r圖17 四 實現...