




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 課程設(shè)計(jì)說明書學(xué) 院、系:專 業(yè):學(xué) 生 姓 名:學(xué) 號(hào):設(shè) 計(jì) 題 目:職工工資管理系統(tǒng) 起 迄 日 期:指 導(dǎo) 教 師:日期: 2017年5月12日1 設(shè)計(jì)目的 本課程設(shè)計(jì)是采用C語言,在VC平臺(tái)下設(shè)計(jì)年歷顯示系統(tǒng),該系統(tǒng)運(yùn)行在MS-DOS命令行模式下。本課程設(shè)計(jì)為學(xué)生提供了一個(gè)既動(dòng)手又動(dòng)腦,獨(dú)立實(shí)踐的機(jī)會(huì),將課本上的理論知識(shí)和實(shí)際有機(jī)的結(jié)合起來,鍛煉學(xué)生的分析解決實(shí)際問題的能力。提高學(xué)生適應(yīng)實(shí)際,實(shí)踐編程的能力。1) 進(jìn)一步鞏固和復(fù)習(xí)C程序設(shè)計(jì)的基礎(chǔ)知識(shí);2) 培養(yǎng)學(xué)生結(jié)構(gòu)化程序、模塊化程序設(shè)計(jì)的方法和能力;3) 了解軟件的編制過程及各環(huán)節(jié)的具體內(nèi)容;4) 提高學(xué)生程序調(diào)試技巧、軟件設(shè)
2、計(jì)能力和代碼規(guī)范化等素質(zhì);提高學(xué)生分析問題、解決問題以及實(shí)際運(yùn)用能力。2 任務(wù)概述 功能設(shè)計(jì)要求: 1. 輸入記錄:將每一個(gè)職工的姓名、ID號(hào)以及基本工資、職務(wù)工資、崗位津貼、醫(yī)療保險(xiǎn)、公積金的數(shù)據(jù)作為一個(gè)記錄(系統(tǒng)應(yīng)能建立一個(gè)新的數(shù)據(jù)文件或給已建立好的數(shù)據(jù)文件增加記錄)。2. 顯示記錄:根據(jù)用戶提供的記錄或者根據(jù)職工姓名顯示一個(gè)或幾個(gè)職工的各項(xiàng)工資和平均工資。3. 修改記錄:可以對(duì)數(shù)據(jù)文件的任意記錄的數(shù)據(jù)進(jìn)行修改并在修改前后對(duì)記錄內(nèi)容進(jìn)行顯示。4查找記錄:可以對(duì)數(shù)據(jù)文件的任意記錄的數(shù)據(jù)進(jìn)行查找并在查找前后對(duì)記錄內(nèi)容進(jìn)行顯示。 5. 刪除記錄:可刪除數(shù)據(jù)文件中的任一記錄。 6. 統(tǒng)計(jì): (按字
3、符表格形式打印全部職工工資信息表及平均工資(包括各項(xiàng)總的平均工資)。 7保存數(shù)據(jù)文件功能。 例如:職工工資信息表 ID號(hào) 姓名 基本工資 職務(wù)工資 津貼 醫(yī)療保險(xiǎn)- 公積金- 總工資 01 張望 1286 794 198 109 135 2034 02 李明 1185 628 135 94 114 1740 03 王小民 895 438 98 64 73 1294 04 張效章 1350 868 210 116 150 2162 05 彭山 745 398 84 61 68 1098 ¼ ¼ ¼ ¼ ¼ ¼ ¼ ¼
4、 各項(xiàng)平均工資 1092.2 625.2 145 88.8 1083 模塊劃分 圖3.14 主要函數(shù)說明及其N-S圖主要函數(shù)說明:(1)輸入記錄:將每一個(gè)職工的姓名、ID號(hào)、基本工資、職務(wù)工資、崗位津貼、醫(yī)療保險(xiǎn)、公積金的數(shù)據(jù)作為一個(gè)結(jié)構(gòu)體。(2)顯示記錄:根據(jù)職工姓名或者ID號(hào)顯示一個(gè)或幾個(gè)職工的各項(xiàng)工資。(3)修改記錄:對(duì)任何一個(gè)結(jié)構(gòu)體中的成員按照要求進(jìn)行修改,并顯示修改前后結(jié)構(gòu)體中的所有成員信息。(4)查找記錄:查找滿足條件的職工信息,要求顯示所有的職工成員信息。(5)刪除記錄:刪除滿足條件的職工信息。(6)統(tǒng)計(jì):計(jì)算各項(xiàng)工資的總工資及平均工資。N-S圖:1. 輸入函數(shù) 圖4.12. 查
5、找函數(shù) 圖4.23. 統(tǒng)計(jì)函數(shù)圖4.34.修改函數(shù)圖4.45. 刪除函數(shù)圖4.56.顯示函數(shù)圖4.67.保存數(shù)據(jù)文件圖4.78. 讀取數(shù)據(jù)文件圖4.89.程序框圖 圖4.95 程序運(yùn)行數(shù)據(jù)及其結(jié)果1.輸入職工信息的實(shí)現(xiàn) 圖5.1.1圖5.1.22. 通過姓名顯示職工信息圖5.2.1圖5.2.23.修改職員信息圖5.34.查找職員信息圖5.4.1圖5.4.25.刪除職員信息圖5.5.1圖5.5.26.統(tǒng)計(jì)職員信息圖5.67.退出系統(tǒng)圖5.76 課程設(shè)計(jì)心得通過這次的設(shè)計(jì),練習(xí)熟悉了C語言的編譯,有更深的體會(huì)和了解。對(duì)傳值傳址更為熟悉,對(duì)單鏈表的相關(guān)算法,如鍵立,插入,刪除等也基本掌握,最基本的單
6、鏈算法是后期學(xué)習(xí)的基礎(chǔ),調(diào)試程序作分析找錯(cuò)誤時(shí),畫圖細(xì)心分析每步的進(jìn)程,提高了邏輯能力和思維能力。也經(jīng)過這次的練習(xí)找到自已很多的不足,好的編程習(xí)慣很重要,可以節(jié)省不少的調(diào)試時(shí)間。對(duì)基礎(chǔ)的掌握很重要,這樣可不不必時(shí)時(shí)查資料,向同學(xué)咨詢。計(jì)算機(jī)編程要多多練習(xí),這樣才可以熟悉,可以加深記憶,提高編程的能力。在編程的過程中,有時(shí)因某些錯(cuò)誤難以改正而無奈,可以調(diào)試改正好后的成就感也讓人愉悅。大學(xué)的生活很松散,在編程過程中會(huì)覺得時(shí)間過得很快,專心的做一件事,也讓人充實(shí)。這也是學(xué)習(xí)計(jì)算機(jī)的樂趣所在,以后會(huì)加深在計(jì)算機(jī)方面的學(xué)習(xí)。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,
7、只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會(huì)遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固。計(jì)算機(jī)是門注重實(shí)踐的學(xué)科,要學(xué)好計(jì)算機(jī)必須要多多的實(shí)踐。這次練習(xí)讓我更明白了這點(diǎn)。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,從而提高自己的實(shí)際。經(jīng)過這段時(shí)間的上機(jī)實(shí)踐學(xué)習(xí),使我對(duì)c語言有了更進(jìn)一步的認(rèn)識(shí)和了解,要想學(xué)好它要重在
8、實(shí)踐,要通過不斷的上機(jī)操作才能更好地學(xué)習(xí)它,通過實(shí)踐,我也發(fā)現(xiàn)我的好多不足之處,首先是自己在指法上還不行,經(jīng)常按錯(cuò)字母,通過學(xué)習(xí)也有所改進(jìn);再有對(duì)c語言的一些標(biāo)準(zhǔn)庫函數(shù)不太了解,還有對(duì)函數(shù)調(diào)用的正確使用不夠熟悉,還有對(duì)c語言中經(jīng)常出現(xiàn)的錯(cuò)誤也不了解,通過實(shí)踐,使我在這幾個(gè)方面的認(rèn)識(shí)有所提高。課堂上要講授許多關(guān)于c語言的語法規(guī)則,聽起來十分枯燥無味,也不容易記住,死記硬背是不可取的。然而要使用c語言這個(gè)工具解決實(shí)際問題,又必須掌握它。通過多次上機(jī)練習(xí),對(duì)于語法知識(shí)有了感性的認(rèn)識(shí),加深對(duì)它的理解,在理解的基礎(chǔ)上就會(huì)自然而然地掌握c語言的語法規(guī)定。對(duì)于一些內(nèi)容自己認(rèn)為在課堂上聽懂了,但上機(jī)實(shí)踐中會(huì)發(fā)
9、現(xiàn)原來理解的偏差,這是由于大部分學(xué)生是初次接觸程序設(shè)計(jì),缺乏程序設(shè)計(jì)的實(shí)踐所致。學(xué)習(xí)c語言不能停留在學(xué)習(xí)它的語法規(guī)則,而是利用學(xué)到的知識(shí)編寫c語言程序,解決實(shí)際問題。即把c語言作為工具,描述解決實(shí)際問題的步驟,由計(jì)算機(jī)幫助我們解題。只有通過上機(jī)才能檢驗(yàn)自己是否掌握c語言、自己編寫的程序是否能夠正確地解題。一個(gè)c語言程序從編輯、編譯、連接到運(yùn)行,都要在一定的外部操作環(huán)境下才能進(jìn)行。所謂"環(huán)境"就是所用的計(jì)算機(jī)系統(tǒng)硬件、軟件條件,只有學(xué)會(huì)使用這些環(huán)境,才能進(jìn)行程序開發(fā)工作。通過上機(jī)實(shí)驗(yàn),熟練地掌握c語言開發(fā)環(huán)境,為以后真正編寫計(jì)算機(jī)程序解決實(shí)際問題打下基礎(chǔ)。同時(shí),在今后遇到其它
10、開發(fā)環(huán)境時(shí)就會(huì)觸類旁通,很快掌握新系統(tǒng)的使用。完成程序的編寫,決不意味著萬事大吉。你認(rèn)為萬無一失的程序,實(shí)際上機(jī)運(yùn)行時(shí)可能不斷出現(xiàn)麻煩。如編譯程序檢測(cè)出一大堆錯(cuò)誤。有時(shí)程序本身不存在語法錯(cuò)誤,也能夠順利運(yùn)行,但是運(yùn)行結(jié)果顯然是錯(cuò)誤的。開發(fā)環(huán)境所提供的編譯系統(tǒng)無法發(fā)現(xiàn)這種程序邏輯錯(cuò)誤,只能靠自己的上機(jī)經(jīng)驗(yàn)分析判斷錯(cuò)誤所在。程序的調(diào)試是一個(gè)技巧性很強(qiáng)的工作,對(duì)于初學(xué)者來說,盡快掌握程序調(diào)試方法是非常重要的。有時(shí)候一個(gè)消耗你幾個(gè)小時(shí)時(shí)間的小小錯(cuò)誤,調(diào)試高手一眼就看出錯(cuò)誤所在。附錄:#include<stdio.h>#include<string.h>#define N 100
11、struct workerint ID;char name20;float base; /base 基本工資float rate; /rate 職務(wù)工資float subsidy; /subsidy 崗位津貼float medicare; /medicare 醫(yī)療保險(xiǎn)float fund; /fund 公積金float total; /tootal 總工資;/輸入函數(shù),輸入職工的信息int input(struct worker work,int a)int i;printf("請(qǐng)輸入員工人數(shù):n");scanf("%d",&a);printf(
12、"輸入格式為:nID號(hào) 姓名n基本工資 職務(wù)工資 崗位津貼 醫(yī)療保險(xiǎn) 公積金n");for(i=0;i<a;i+)printf("請(qǐng)輸入第%d個(gè)員工信息 ",i+1);scanf("%d %s",&worki.ID,);scanf("%f %f %f %f %f",&worki.base,&worki.rate,&worki.subsidy,&worki.medicare,&worki.fund); printf("輸入職工信息成功
13、!" );return a;void read(struct worker work,int a)FILE *fp;if(fp=fopen("zggzxx.txt","r")=NULL) printf("打開文件失敗"); elsefor(int i=0;i<N;i+)fscanf(fp,"%d %s %f %f %f %f %f",&worki.ID,,&worki.base,&worki.rate,&worki.subsidy,&wor
14、ki.medicare,&worki.fund);fclose(fp);void save(struct worker work,int a)FILE *fp;if(fp=fopen("zggzxx.txt","w")=NULL)printf("打開文件失敗!n");elsefor(int i=0;i<N;i+)fprintf(fp,"%d %s %f %f %f %f %fn",worki.ID,,worki.base,worki.rate,worki.subsidy,worki
15、.medicare,worki.fund);printf("保存文件信息成功!") ; fclose(fp);/顯示,按要求顯示需要顯示的職工信息void xianshi(struct worker work,int a)int i,select,t; char * next,r20;printf("n 1. 按姓名查找n");printf("n 2. 按查找n");scanf("%d",&select);switch(select)case 1:printf("請(qǐng)輸入要顯示的姓名:n"
16、);scanf("%s",r);next=r;printf("ID號(hào) 姓 名 基本工資 職務(wù)工資 崗位津貼 醫(yī)療保險(xiǎn) 公積金n");for(i=0;i<a;i+)if(strcmp(next,)=0)printf("%d %s %f %f %f %f %fn",worki.ID,,worki.base,worki.rate,worki.subsidy,worki.medicare,worki.fund);break;case 2:printf("請(qǐng)輸入要查詢的ID:n"
17、);scanf("%d",&t);printf("ID號(hào) 姓 名 基本工資 職務(wù)工資 崗位津貼 醫(yī)療保險(xiǎn) 公積金n");for(i=0;i<a;i+)if(t=worki.ID)printf("%d %s %f %f %f %f %fn",worki.ID,,worki.base,worki.rate,worki.subsidy,worki.medicare,worki.fund);break;/修改函數(shù),修改需要修改的職工信息void xiugai(struct worker work,int a)
18、int i,ID,t;printf("請(qǐng)輸入要修改員工的ID:n");scanf("%d",&ID);printf("修改前職工的信息:n");printf("ID號(hào) 姓 名 基本工資 職務(wù)工資 崗位津貼 醫(yī)療保險(xiǎn) 公積金n");for(i=0;i<a;i+)printf("%d %s %f %f %f %f %fn",worki.ID,,worki.base,worki.rate,worki.subsidy,worki.medicare,worki.fund)
19、;for(i=0;i<a;i+)if(ID=worki.ID)t=i;printf("請(qǐng)輸入該職工的信息:");printf("輸入格式為:nID號(hào) 姓名n基本工資 職務(wù)工資 崗位津貼 醫(yī)療保險(xiǎn) 公積金n");scanf("%d %s",&workt.ID,);scanf("%f %f %f %f %f",&workt.base,&workt.rate,&workt.subsidy,&workt.medicare,&workt.fund);p
20、rintf("修改后職工的信息:n");printf("ID號(hào) 姓 名 基本工資 職務(wù)工資 崗位津貼 醫(yī)療保險(xiǎn) 公積金n");for(i=0;i<a;i+)printf("%d %s %f %f %f %f %fn",worki.ID,,worki.base,worki.rate,worki.subsidy,worki.medicare,worki.fund);/查找函數(shù),查找員工信息,并輸出其信息void search(struct worker work,int a)int i,select,t; cha
21、r * next,r20;printf("n 1. 按姓名查找n");printf("n 2. 按查找n");scanf("%d",&select);switch(select)case 1:printf("請(qǐng)輸入要顯示的姓名:n");scanf("%s",r);next=r;printf("ID號(hào) 姓 名 基本工資 職務(wù)工資 崗位津貼 醫(yī)療保險(xiǎn) 公積金n");for(i=0;i<a;i+)if(strcmp(next,)=0)printf(
22、"%d %s %f %f %f %f %fn",worki.ID,,worki.base,worki.rate,worki.subsidy,worki.medicare,worki.fund);break;case 2:printf("請(qǐng)輸入要查詢的ID:n");scanf("%d",&t);printf("ID號(hào) 姓 名 基本工資 職務(wù)工資 崗位津貼 醫(yī)療保險(xiǎn) 公積金n");for(i=0;i<a;i+)if(t=worki.ID)printf("%d %s %f %f
23、 %f %f %fn",worki.ID,,worki.base,worki.rate,worki.subsidy,worki.medicare,worki.fund);break;/刪除函數(shù),刪除員工信息int dele(struct worker work,int a)int i,select,t; char * next,r20;printf("n 1. 按姓名查找n");printf("n 2. 按查找n");scanf("%d",&select);switch(select)case 1
24、:printf("請(qǐng)輸入要顯示的姓名:n");scanf("%s",r);next=r;printf("ID號(hào) 姓 名 基本工資 職務(wù)工資 崗位津貼 醫(yī)療保險(xiǎn) 公積金n");for(i=0;i<a;i+)if(strcmp(next,)=0)printf("%d %s %f %f %f %f %fn",worki.ID,,worki.base,worki.rate,worki.subsidy,worki.medicare,worki.fund);printf("
25、;您確定要?jiǎng)h除該職工信息嗎?(請(qǐng)輸入'y'或'n'):");getchar();if(getchar()='y')|(getchar()='Y')worki=worki+1;a-;case 2:printf("請(qǐng)輸入要查詢的ID:n");scanf("%d",&t);printf("ID號(hào) 姓 名 基本工資 職務(wù)工資 崗位津貼 醫(yī)療保險(xiǎn) 公積金n");for(i=0;i<a;i+)if(t=worki.ID)printf("%d %s %
26、f %f %f %f %fn",worki.ID,,worki.base,worki.rate,worki.subsidy,worki.medicare,worki.fund);printf("您確定要?jiǎng)h除該職工信息嗎?(請(qǐng)輸入'y'或'n'):");getchar();if(getchar()='y')|(getchar()='Y')worki=worki+1;a-;return a;/統(tǒng)計(jì)函數(shù),統(tǒng)計(jì)員工的信息void tongji(struct worker work,int
27、a)int i=0,j;float add5;for(i=0;i<a;i+)add0+=worki.base;add1+=worki.rate;add2+=worki.subsidy;add3+=worki.medicare;add4+=worki.fund;worki.total=worki.base+worki.rate+worki.subsidy+worki.medicare+worki.fund;for(i=0;i<a;i+)printf("ID號(hào) 姓 名 基本工資 職務(wù)工資 崗位津貼 醫(yī)療保險(xiǎn) 公積金n");printf("%d %s %f
28、%f %f %f %fn",worki.ID,,worki.base,worki.rate,worki.subsidy,worki.medicare,worki.fund,worki.total);printf("各項(xiàng)平均工資:%f %f %f %f %fn",add0/a,add1/a,add2/a,add3/a,add4/a);int main()struct worker work100,*p=work;int a=0,select,i=0;printf("您是首次登陸本系統(tǒng),請(qǐng)先輸入員工信息:n");read(p,a);doi+;while(worki.ID!=0);a=i-1;do/打印菜單選項(xiàng)printf("n *職工工資管理系統(tǒng)*n"); printf(&quo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 航空航天零部件高精度加工技術(shù)2025年市場(chǎng)前景與挑戰(zhàn)報(bào)告
- 葡萄酒行業(yè)產(chǎn)區(qū)特色品牌國際化:2025年全球市場(chǎng)機(jī)遇分析報(bào)告
- 2025屆滁州鳳陽縣聯(lián)考七下英語期末檢測(cè)試題含答案
- 2025年電商平臺(tái)內(nèi)容營銷與種草經(jīng)濟(jì)在電商區(qū)塊鏈技術(shù)應(yīng)用報(bào)告
- 2025年醫(yī)藥行業(yè)合規(guī)運(yùn)營策略與信息化建設(shè)深度分析報(bào)告
- 2025年BIM技術(shù)在建筑行業(yè)工程項(xiàng)目施工進(jìn)度調(diào)整與優(yōu)化報(bào)告
- 2025年醫(yī)藥企業(yè)研發(fā)外包(CRO)模式下的臨床試驗(yàn)數(shù)據(jù)安全報(bào)告
- 2025年醫(yī)藥流通行業(yè)供應(yīng)鏈優(yōu)化與成本控制策略分析報(bào)告
- 繼教培訓(xùn)課件模板
- 廣東省東莞市五校2025屆七年級(jí)英語第二學(xué)期期中學(xué)業(yè)水平測(cè)試模擬試題含答案
- 2023年杭州育才中學(xué)小升初語文考試真題卷含標(biāo)準(zhǔn)答案
- 2023年安徽六安市裕安區(qū)城鄉(xiāng)建設(shè)投資集團(tuán)有限公司招聘筆試題庫及答案解析
- 超市營業(yè)員聘用勞務(wù)合同書(2篇)
- GB/T 2832-1996陶管抗外壓強(qiáng)度試驗(yàn)方法
- GB/T 19974-2018醫(yī)療保健產(chǎn)品滅菌滅菌因子的特性及醫(yī)療器械滅菌過程的開發(fā)、確認(rèn)和常規(guī)控制的通用要求
- GB/T 17530.4-1998工業(yè)丙烯酸酯酸度的測(cè)定
- GB/T 10095.1-2008圓柱齒輪精度制第1部分:輪齒同側(cè)齒面偏差的定義和允許值
- 湖北省荊州市商投資區(qū)國有企業(yè)招聘考試《綜合基礎(chǔ)知識(shí)》國考真題
- 熱電公司設(shè)備標(biāo)志牌制作、懸掛標(biāo)準(zhǔn)
- 2022年XX中心學(xué)校教師“縣管校聘”工作實(shí)施方案
- 人教版七年級(jí)下冊(cè)數(shù)學(xué)《期末考試卷》(含答案)
評(píng)論
0/150
提交評(píng)論