版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> C語言課程設(shè)計(jì)報(bào)告</b></p><p> 題 目:職工工資系統(tǒng)管理</p><p> 班 級:</p><p> 組 名:</p><p> 指導(dǎo)教師:</p><p> 日 期:2011.12.19</p><p>
2、;<b> 目 錄</b></p><p><b> 1 需求分析</b></p><p><b> 1.1 問題分析</b></p><p><b> 1.2 采用技術(shù)</b></p><p><b> 1.3 設(shè)計(jì)目標(biāo)&l
3、t;/b></p><p><b> 2 總體設(shè)計(jì)</b></p><p> 2.1 系統(tǒng)流程設(shè)計(jì)</p><p><b> 3 詳細(xì)設(shè)計(jì)</b></p><p> 3.1 添加職工信息</p><p> 3.2 查看職工信息</p>
4、<p> 3.3 查找職工信息</p><p> 3.4 刪除職工信息</p><p> 3.5 職工工資排序</p><p> 3.6 統(tǒng)計(jì)職工工資</p><p> 3.7 修改職工信息</p><p><b> 3.8 保存數(shù)據(jù)</b></p>
5、<p><b> 3.9 退出系統(tǒng)</b></p><p><b> 3.10 作者信息</b></p><p><b> 4 設(shè)計(jì)體會</b></p><p><b> 5 參考文獻(xiàn)</b></p><p><b>
6、 6 時(shí)間安排表</b></p><p> 7 課程設(shè)計(jì)評定表</p><p><b> 1 需求分析</b></p><p><b> 1.1 問題分析</b></p><p> 此程序需要把職工的姓名,工號和工資輸進(jìn)去,然后根據(jù)需求進(jìn)行查看,查找,刪除,排序,修改,統(tǒng)
7、計(jì),保存等功能。</p><p><b> 1.2 采用技術(shù)</b></p><p> if語句和switch語句以及嵌套應(yīng)用 , 數(shù)組的定義,指針函數(shù),結(jié)構(gòu)體,函數(shù)調(diào)用以及輸入輸出的方法</p><p><b> 1.3 設(shè)計(jì)目標(biāo)</b></p><p> 1.熟悉C語言程序的編輯、編
8、譯鏈接和運(yùn)行的過程。 2.熟練運(yùn)用if語句和switch語句以及嵌套應(yīng)用。3.學(xué)習(xí)并掌握C語言定義函數(shù)的基本方法、聲明函數(shù)及調(diào)用函數(shù)的方法和過程。4. 掌握文件的概念以及文件的定義方法,認(rèn)識文件打開、關(guān)閉、讀、寫等文件基本操作函數(shù)。5.掌握結(jié)構(gòu)體類型變量、數(shù)組的定義和使用。6. 掌握數(shù)組的定義、引用以及輸入輸出的方法、通過字符數(shù)組存儲字符串,進(jìn)一步使用字符串。</p><p><b> 2 總體設(shè)計(jì)
9、</b></p><p> 2.1 系統(tǒng)流程設(shè)計(jì)</p><p><b> 3 詳細(xì)設(shè)計(jì)</b></p><p> #include <stdio.h></p><p> #include <stdlib.h></p><p> #include
10、<string.h></p><p> struct worker</p><p> {char name[30];</p><p> char ID[10];</p><p> int salary1,salary2,salary3;</p><p> };struct worker repla
11、ce;</p><p> int dq(struct worker wo[]);</p><p> void show();</p><p> void bc(struct worker wo[]);</p><p> void add(); </p><p> void see();</p>
12、<p> void search();</p><p> void ghcz();</p><p> void xmcz();</p><p> void del();</p><p> void xmsc();</p><p> void ghsc();</p><p>
13、 void array();</p><p> void array_salary1();</p><p> void array_salary2();</p><p> void array_salary3() ;</p><p> void statistics();//統(tǒng)計(jì).</p><p> voi
14、d modify();//修改.</p><p> void ghxg(); </p><p> void xmxg();</p><p> void reserve();//儲存.</p><p> void back();</p><p> void author();</p><p&
15、gt; struct worker wo[100]; //保存所有的職工信息</p><p> int Number=0; //記錄總的職工人數(shù)</p><p> void main(){</p><p> int choose=0;</p><p> while(true) //無限循環(huán).{ </p><p&g
16、t; show();//(調(diào)用函數(shù))</p><p> printf("\t\t====>請選擇:");</p><p> scanf("%d",&choose);</p><p> system("cls");//清除界面</p><p> switch(c
17、hoose){</p><p> case 0: exit(0);//退出</p><p><b> break; </b></p><p> case 1: add();</p><p> back();//添加職工信息</p><p><b> break; </b&
18、gt;</p><p> case 2: see();</p><p> back();//查看職工信息</p><p><b> break; </b></p><p> case 3: search();</p><p> back();// 查找職工信息 </p>&
19、lt;p><b> break;</b></p><p> case 4: del(); </p><p> back();//刪除職工信息</p><p><b> break;</b></p><p> case 5: array();</p><p>
20、 back();//職工工資排序</p><p><b> break;</b></p><p> case 6: statistics();</p><p> back();//統(tǒng)計(jì)職工工資</p><p><b> break;</b></p><p> cas
21、e 7: modify();</p><p> back();//修改職工信息</p><p><b> break; </b></p><p> case 8:reserve();</p><p> back();//保存數(shù)據(jù) </p><p><b> break;<
22、/b></p><p> case 9:author();</p><p> back();//作者信息</p><p><b> break;</b></p><p> default://(跳出界面)</p><p><b> break;}</b><
23、;/p><p> fflush(stdin);//stdin指的是標(biāo)準(zhǔn)輸入緩沖區(qū),fflush(stdin)則是刷新標(biāo)準(zhǔn)輸入緩沖區(qū),把輸入緩沖區(qū)里的東西丟棄</p><p> getchar();</p><p> system("cls");//清除屏幕信息.}}</p><p> int dq(struct wor
24、ker wo[])</p><p><b> {</b></p><p> FILE *fp=NULL;//文件類型指針(FILE)指向文件(*fp)空文件(NULL)</p><p><b> int i=0;</b></p><p> fp=fopen("C://worker.
25、dat","rb");//打開文件調(diào)用的函數(shù)(fopen) 讀取二進(jìn)制文件(rb)</p><p> while(fread(&wo[i],sizeof(struct worker),1,fp))</p><p><b> i++;</b></p><p> fclose(fp);//關(guān)閉文件調(diào)用的函
26、數(shù)</p><p> return i;//返回.循環(huán).}</p><p> void show()</p><p> {printf(" .-===-. .-=<>=-. _<>_ >.=w=.< .- <O> -. \n"
27、;);</p><p> printf(" / \\ /__----__\\ / \\ / _ \\ /_-\\.../-_\\ 樂 \n");</p><p> printf(" |==/=\\==| |/ (.)(.) \\| |==\\==/==| | /
28、\\ | |/ o) (o \\| \n");</p><p> printf(" | O O | \\ __ / | >< | | |.| | \\ ._. / 悟 \n");</p><p> printf(" \\ V / ,
29、.--__--.. ,>-_,,_-<. \\ X / ,>-_,,,_-<. \n");</p><p> printf(" /`---'\\ / :| \\ V( `-====-' )V /`---'\\ / :| \\ 者 \n")
30、;</p><p> printf(" O'_:_`O (_) :| (_) (_____:|_____) O'_|_`O (_) :| (_) \n");</p><p> printf(" -- -- -- -- ---- ---- --
31、-- -- -- \n");</p><p> printf("\t ~v~ *********<<職工工資管理系統(tǒng)>>********* ~v~\n\n");</p><p> printf("\t ~v~ ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
32、☆☆☆☆☆ ~v~\n");printf("\t ~v~ ^^^^^^^^^^^[1] 添加職工信息^^^^^^^^^^^ ~v~\n");</p><p> printf("\t ~v~ ^^^^^^^^^^^[2] 查看職工信息^^^^^^^^^^^ ~v~\n");</p>&l
33、t;p> printf("\t ~v~ ^^^^^^^^^^^[3] 查找職工信息^^^^^^^^^^^ ~v~\n");</p><p> printf("\t ~v~ ^^^^^^^^^^^[4] 刪除職工信息^^^^^^^^^^^ ~v~\n");</p><p> pri
34、ntf("\t ~v~ ^^^^^^^^^^^[5] 職工工資排序^^^^^^^^^^^ ~v~\n");</p><p> printf("\t ~v~ ^^^^^^^^^^^[6] 統(tǒng)計(jì)職工工資^^^^^^^^^^^ ~v~\n");</p><p> printf("\t
35、 ~v~ ^^^^^^^^^^^[7] 修改職工信息^^^^^^^^^^^ ~v~\n");</p><p> printf("\t ~v~ ^^^^^^^^^^^[8] 保 存 數(shù) 據(jù)^^^^^^^^^^^ ~v~\n");</p><p> printf("\t ~v~
36、 ^^^^^^^^^^^[9] 作 者 信 息^^^^^^^^^^^ ~v~\n");</p><p> printf("\t ~v~ ^^^^^^^^^^^[0] 退 出 系 統(tǒng)^^^^^^^^^^^ ~v~\n");</p><p> printf("\t ~v~ ☆☆☆☆☆☆☆☆☆☆
37、☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ~v~\n\n");}</p><p> void bc(struct worker *wo)</p><p><b> {</b></p><p> FILE *fp=NULL;</p><p> fp=fopen("C://worker.dat"
38、,"ab+");//在文件尾部追加可讀可寫的二進(jìn)制文件(ab+)</p><p> fwrite(wo,sizeof(struct worker),1,fp);//寫入二進(jìn)制文件(fwrite)</p><p> fclose(fp);}</p><p><b> 3.1添加職工信息</b></p>&l
39、t;p> void add() </p><p> {int numberTemp=0;//起臨時(shí)作用的變量</p><p><b> int i=0;</b></p><p> struct worker temp; </p><p> printf("請輸入要添加職工個(gè)數(shù):");&
40、lt;/p><p> scanf("%d",&numberTemp); </p><p> for(i=0;i<numberTemp;i++)</p><p><b> {</b></p><p> printf("輸入第%d個(gè)職工信息\n",i+1);</
41、p><p> printf("姓名:");</p><p> scanf("%s",temp.name); </p><p> printf("工號:");</p><p> scanf("%s",temp.ID);</p><p>
42、 printf("基本工資:");</p><p> scanf("%d",&temp.salary1);</p><p> printf("職務(wù)工資:");</p><p> scanf("%d",&temp.salary2);</p><p&
43、gt; printf("津貼:");</p><p> scanf("%d",&temp.salary3);</p><p> wo[Number++]=temp; //寫入到數(shù)組</p><p> bc(&temp); //寫入到文件(臨時(shí)保存信息)}</p><p> pr
44、intf("添加成功\n");}</p><p><b> 3.2查看職工信息</b></p><p> void see() //查看信息. {</p><p><b> int i=0; </b></p><p> printf("\t\t\t\t以下是全部
45、職工\n");</p><p> printf("\n\n\t姓名\t\t工號\t\t基本工資\t</p><p> 職務(wù)工資\t津貼\n\n");</p><p> while(i<Number) </p><p> {printf("--------------------------
46、-----------------------</p><p> -------------------------------\n");</p><p> printf("\t%s\t\t%s\t\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i]. ID,wo[i].salary1,wo[i].salary2,wo[i].salar
47、y3); i++;}</p><p> printf("--------------------------------------------------------------------------------\n");}</p><p><b> 3.3查找職工信息</b></p><p> void sear
48、ch() </p><p><b> {int n=0;</b></p><p> printf("--------------------------------------------------------------------------------\n");</p><p> printf("\t
49、*************************查找職工信息選擇*********************\n\n");</p><p> printf(" 1 按姓名查找 \n\n");</p><p> printf(" 2
50、 按工號查找 \n\n");</p><p> printf(" 0 退出 \n\n");</p><p> printf("---------------------------------------------------
51、-----------------------------\n");</p><p> printf("\n\n\n");</p><p> printf(" 請輸入你的選擇: \n\n");</p><p> scanf("%d&
52、quot;,&n);</p><p><b> switch(n)</b></p><p> {case 1: xmcz();</p><p><b> break;</b></p><p> case 2: ghcz();</p><p><b>
53、 break;} }</b></p><p> void xmcz()//按姓名查找 </p><p> { char name[30];</p><p><b> int i=0;</b></p><p> printf("請輸入要查找職工姓名:");</p>&
54、lt;p> scanf("%s",name);</p><p> system("cls");</p><p> printf("\n\n\t姓名\t\t工號\t\t基本工資\t職務(wù)工資\t津貼\n");</p><p> for (i=0;i<Number;i++)</p>
55、<p> {if (strcmp(name,wo[i].name)==0)//比較兩個(gè)字符串的大小</p><p> {printf("--------------------------------------------------------------------------------\n");</p><p> printf("
56、\n\t%s\t\t%s\t\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i].ID,wo[i].salary1,wo[i].salary2,wo[i].salary3);}}</p><p> printf("--------------------------------------------------------------------------------
57、\n");}</p><p> void ghcz()//按工號查找 (函數(shù)調(diào)用)</p><p> {char id[10];</p><p><b> int i=0;</b></p><p> printf("請輸入要查找職工工號:");</p><p>
58、; scanf("%s",id);</p><p> system("cls");//清除屏幕.</p><p> printf("\n\n\t姓名\t\t工號\t\t基本工資\t職務(wù)工資\t津貼\n");</p><p> printf("------------------------
59、--------------------------------------------------------\n");</p><p> for (i=0;i<Number;i++)</p><p> {if (strcmp(id,wo[i].ID)==0)</p><p> {printf("\t%s\t\t%s\t\t%d\t
60、\t%d\t\t%d\n",wo[i].name,wo[i].ID,wo[i].salary1,wo[i].salary2,wo[i].salary3);}}</p><p> printf("\n--------------------------------------------------------------------------------\n");}</p&
61、gt;<p><b> 刪除職工信息</b></p><p><b> 3.4刪除職工信息</b></p><p> void del() </p><p><b> {int n=0;</b></p><p> printf("-------
62、-------------------------------------------------------------------------\n"); </p><p> printf("\t*************************刪除職工信息選擇*********************\n\n");</p><p> printf(&q
63、uot; 1 按姓名刪除 \n\n");</p><p> printf(" 2 按工號刪除 \n\n");</p><p> printf(" 0 退出
64、 \n\n");</p><p> printf("--------------------------------------------------------------------------------\n");</p><p> printf("\n\n\n");</p>
65、;<p> printf(" 請輸入你的選擇: \n\n");</p><p> scanf("%d",&n);</p><p><b> switch(n)</b></p><p> {case 1: x
66、msc();</p><p><b> break;</b></p><p> case 2: ghsc();</p><p><b> break;}}</b></p><p> void xmsc()//按姓名刪除 </p><p> {FILE *fp=NUL
67、L;</p><p> char name[30];</p><p><b> int i=0;</b></p><p><b> int j=0;</b></p><p> printf("請輸入要刪除的職工姓名:");</p><p> sc
68、anf("%s",name);</p><p> for(i=0;i<Number;i++)</p><p> {if (strcmp(name,wo[i].name)==0)</p><p> {for (j=i;j<Number-1;j++)</p><p> {wo[j]=wo[j+1];}<
69、;/p><p> Number--;}}</p><p> //將剩余數(shù)據(jù)寫入文件 擦除以前的數(shù)據(jù)</p><p> fp=fopen("C://worker.dat","wb");</p><p> for (i=0;i<Number;i++)</p><p> {
70、fwrite(&wo[i],sizeof(struct worker),1,fp);}</p><p> fclose(fp);</p><p> printf("刪除成功;\n");}</p><p> void ghsc()//按工號刪除 </p><p> {FILE *fp=NULL;</p&
71、gt;<p> char id[60];</p><p><b> int i=0;</b></p><p><b> int j=0;</b></p><p> printf("請輸入要刪除的職工工號:");</p><p> scanf("%
72、s",id);</p><p> for(i=0;i<Number;i++)</p><p> {if (strcmp(id,wo[i].ID)==0) </p><p> {for (j=i;j<Number-1;j++)</p><p> {wo[j]=wo[j+1];}</p><p&g
73、t;<b> Number--;</b></p><p><b> }</b></p><p><b> }</b></p><p> //將剩余數(shù)據(jù)寫入文件 擦除以前的數(shù)據(jù)</p><p> fp=fopen("C://worker.dat",&
74、quot;wb");</p><p> for (i=0;i<Number;i++)</p><p> {fwrite(&wo[i],sizeof(struct worker),1,fp);//就是執(zhí)行寫入的語句, 通過傳遞要寫入的數(shù)據(jù)}</p><p> fclose(fp);</p><p> printf
75、("刪除成功;\n");</p><p><b> }</b></p><p> 3.5職工工資排列函數(shù)</p><p> void array()</p><p><b> {int j;</b></p><p> { printf(&qu
76、ot;--------------------------------------------------------------------------------\n");</p><p> printf("\t*************************工資排序*********************\n\n");</p><p> prin
77、tf(" 1 按基本工資排序 \n\n");</p><p> printf(" 2 按職位工資排序 \n\n");</p><p> printf("
78、 3 按津貼排序 \n\n");</p><p> printf(" 0 退出 \n\n");</p><p> printf("----------------------------------------------
79、----------------------------------\n");</p><p> printf("\n\n\n");</p><p> {printf(" 請輸入你的選擇: \n\n");</p><p> scanf(&qu
80、ot;%d",&j);</p><p> system("cls");</p><p> if(j>=0&&j<=3)</p><p> {switch(j)</p><p> { case 1:</p><p> arr
81、ay_salary1();break;</p><p><b> case 2:</b></p><p> array_salary2();break;</p><p><b> case 3:</b></p><p> array_salary3();break;</p>&
82、lt;p><b> case 0:</b></p><p> return;} }}}}</p><p> //按基本工資排列(選擇法)</p><p> void array_salary1()</p><p> {int i,j,k;</p><p> for(i=0;i&l
83、t;Number-1;i++)</p><p><b> {k=i;</b></p><p> for(j=i+1;j<Number;j++)</p><p> {if(wo[k].salary1<wo[j].salary1)</p><p><b> k=j;}</b><
84、/p><p><b> if(k!=i)</b></p><p> { replace=wo[k];</p><p> wo[k]=wo[i];</p><p> wo[i]=replace;}}</p><p> printf("\n\n\t姓名\t\t工號\t\t基本工資\
85、t職務(wù)工資\t津貼\n\n");</p><p> for(j=0;j<Number;j++)</p><p> {printf("--------------------------------------------------------------------------------\n");printf("\t%s\t\t%s\t
86、\t%d\t\t%d\t\t%d\n",wo[j].name,wo[j].ID,wo[j].salary1,wo[j].salary2,wo[j].salary3);}</p><p> printf("--------------------------------------------------------------------------------\n");}<
87、/p><p> //按職位工資排列(冒泡法)</p><p> void array_salary2()</p><p><b> {int i,j;</b></p><p> for(i=0;i<Number;i++)</p><p> {for(j=0;j<Number-i;
88、j++)</p><p> {if(wo[j].salary2<wo[j+1].salary2)</p><p> {replace=wo[j];//替代 (replace)</p><p> wo[j]=wo[j+1];</p><p> wo[j+1]=replace;}}}</p><p> pr
89、intf("\n\n\t姓名\t\t工號\t\t基本工資\t職務(wù)工資\t津貼\n\n");</p><p> for(j=0;j<Number;j++)</p><p> {printf("--------------------------------------------------------------------------------\
90、n");</p><p> printf("\t%s\t\t%s\t\t%d\t\t%d\t\t%d\n",wo[j].name,wo[j].ID,wo[j].salary1,wo[j].salary2,wo[j].salary3);}</p><p> printf("--------------------------------------
91、------------------------------------------\n");}</p><p> //按津貼排序(選擇法)</p><p> void array_salary3()</p><p> {int i,j,k;</p><p> for(i=0;i<Number-1;i++)</p
92、><p><b> {k=i;</b></p><p> for(j=i+1;j<Number;j++)</p><p> {if(wo[k].salary3<wo[j].salary3)</p><p><b> k=j;}</b></p><p><
93、b> if(k!=i)</b></p><p> { replace=wo[k];</p><p> wo[k]=wo[i];</p><p> wo[i]=replace; }}</p><p> printf("\n\n\t姓名\t\t工號\t\t基本工資\t職務(wù)工資\t津貼\n\n")
94、;</p><p> for(j=0;j<Number;j++)</p><p> {printf("--------------------------------------------------------------------------------\n");</p><p> printf("\t%s\t\t%
95、s\t\t%d\t\t%d\t\t%d\n",wo[j].name,wo[j].ID,wo[j].salary1,wo[j].salary2,wo[j].salary3);</p><p><b> }</b></p><p> printf("--------------------------------------------------
96、------------------------------\n");}</p><p><b> //統(tǒng)計(jì)職工工資</b></p><p><b> 3.6統(tǒng)計(jì)職工工資</b></p><p> void statistics() </p><p><b> {<
97、/b></p><p><b> int i=0;</b></p><p> double s=0.0;</p><p> double sum[100];</p><p> printf("-------------------------------------</p><
98、p> -------------------------------------------\n");</p><p> printf("\n\t\t~v~ ***☆☆☆☆☆☆</p><p> ☆☆☆☆☆☆☆☆☆☆*** ~v~\n\n");</p><p> for(i=0;i<Number;i++)</p
99、><p><b> {</b></p><p> sum[i]=wo[i].salary1+wo[i].salary2+</p><p> wo[i].salary3;</p><p> printf(" </p><p> %s的總工資為
100、:%.2f\n\n",wo[i].name,sum</p><p><b> [i]);</b></p><p><b> }</b></p><p> for(i=0;i<Number;i++)</p><p><b> {</b></p>
101、<p> s+=sum[i];</p><p><b> }</b></p><p> printf("\t\t~v~ ***☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆*** ~v~\n\n");</p><p> printf(" 平均工資為:%.2f\n&
102、quot;,s/Number); </p><p> printf("\n\t\t~v~ ***☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆*** ~v~\n\n");</p><p> printf("--------------------------------------------------------------------------------\n&
103、quot;);</p><p><b> }</b></p><p><b> 3.7修改職工信息</b></p><p> void modify() </p><p><b> {</b></p><p> int mode=0;</
104、p><p> printf("--------------------------------------------------------------------------------\n");</p><p> printf("\t*************************修改職工信息選擇*********************\n\n&qu
105、ot;);</p><p> printf(" 1 按姓名修改 \n\n");</p><p> printf(" 2 按工號修改 \n\n");</p><p> printf
106、(" 0 退出 \n\n");</p><p> printf("--------------------------------------------------------------------------------\n");</p><p>
107、printf("\n\n\n");</p><p> printf(" 請輸入你的選擇: \n\n");</p><p> scanf("%d",&mode);</p><p> switch(mode)</p>
108、<p> {case 1: xmxg();</p><p><b> break;</b></p><p> case 2: ghxg();</p><p><b> break;} }</b></p><p> void xmxg()//按姓名修改 </p>
109、<p> {FILE *fp=NULL;</p><p> char name[30];</p><p><b> int i=0;</b></p><p> printf("請輸入要修改的職工姓名:");</p><p> scanf("%s",name);&
110、lt;/p><p> for (i=0;i<Number;i++)</p><p> {if (strcmp(name,wo[i].name));</p><p><b> else</b></p><p><b> break;}</b></p><p> pr
111、intf("\t姓名\t\t工號\t\t基本工資\t職務(wù)工資\t津貼\n");</p><p> printf("\t%s\t\t%s\t\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i].ID,wo[i].salary1,wo[i].salary2,wo[i].salary3);</p><p> printf("
112、;請重新輸入該職工信息");</p><p> printf("姓名:");</p><p> scanf("%s",wo[i].name);</p><p> printf("工號:");</p><p> scanf("%s",wo[i].I
113、D);</p><p> printf("基本工資:");</p><p> scanf("%d",&wo[i].salary1);</p><p> printf("職務(wù)工資:");</p><p> scanf("%d",&wo[i].
114、salary2);</p><p> printf("津貼:");</p><p> scanf("%d",&wo[i].salary3);</p><p> //信息修改后重新更新文件里面的數(shù)據(jù) 以保持?jǐn)?shù)據(jù)一致性</p><p> fp=fopen("C://worker.d
115、at","wb");</p><p> for (i=0;i<Number;i++)</p><p><b> {</b></p><p> fwrite(&wo[i],sizeof(struct worker),1,fp);}</p><p> fclose(fp);
116、}</p><p> void ghxg()//按工號修改 </p><p><b> {</b></p><p> FILE *fp=NULL;</p><p> char id[30];</p><p><b> int i=0;</b></p>
117、<p> printf("請輸入要修改的職工工號:");</p><p> scanf("%s",id);</p><p> for (i=0;i<Number;i++)</p><p><b> {</b></p><p> if (strcmp(id,
118、wo[i].ID));</p><p><b> else</b></p><p><b> break;}</b></p><p> printf("\t姓名\t\t工號\t\t基本工資\t職務(wù)工資\t津貼\n");</p><p> printf("\t%s
119、\t\t%s\t\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i].ID,wo[i].salary1,wo[i].salary2,wo[i].salary3);</p><p> printf("請重新輸入該職工信息");</p><p> printf("姓名:");</p><p>
120、printf("姓名:");</p><p> scanf("%s",wo[i].name);</p><p> printf("工號:");</p><p> scanf("%s",wo[i].ID);</p><p> printf("基本工
121、資:");</p><p> scanf("%d",&wo[i].salary1);</p><p> printf("職務(wù)工資:");</p><p> scanf("%d",&wo[i].salary2);</p><p> printf(&qu
122、ot;津貼:");</p><p> scanf("%d",&wo[i].salary3);</p><p> //信息修改后重新更新文件里面的數(shù)據(jù) 以保持?jǐn)?shù)據(jù)一致性</p><p> fp=fopen("C://worker.dat","wb");</p><p
123、> for (i=0;i<Number;i++)</p><p><b> {</b></p><p> fwrite(&wo[i],sizeof(struct worker),1,fp);}</p><p> fclose(fp);</p><p> printf("\t====
124、===>修改成功\n");</p><p><b> }</b></p><p><b> 保存數(shù)據(jù)</b></p><p><b> 3.8保存數(shù)據(jù)</b></p><p> void reserve()</p><p> {
125、printf("\n\n\n\n\n\n\n\n");</p><p> printf("\t\t=====程序在運(yùn)行時(shí)已自動保存.....\n");}</p><p><b> 3.9退出系統(tǒng)</b></p><p> void back()</p><p> {prin
126、tf("\n\n\t\t===>按Enter鍵返回主菜單\n");}</p><p><b> 3.10作者信息</b></p><p> void author()</p><p> {printf("\n\n\n\t\t~v~ **☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆** ~v~\n\n");
127、</p><p> printf("\t\t~v~ ^^^^^^^^^^^西安歐亞學(xué)院^^^^^^^^^^^ ~v~\n\n");</p><p> printf("\t\t~v~ ^^^^^^^^^^^電子信息工程^^^^^^^^^^^ ~v~\n\n");</p><p> printf("\t\t
128、~v~白黨軍 胡更偉 王洪來 王興興 李澤鵬制作~v~\n\n");</p><p> printf("\t\t~v~ **☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆** ~v~");</p><p> printf("\n\n\t\t _ ☆☆ ☆☆ ☆☆ ☆☆ _ \n");</p>&l
129、t;p> printf("\t\t\\. _(9> ★★ ★ ★★ <6)_ ,/ \n");</p><p> printf("\t\t \\==_) ☆☆ 祝你快樂! ☆☆ (_==/ \n");</p><p> printf("\t\t
130、-'= ★★ ★★ ='- \n");</p><p> printf("\t\t ☆☆ ☆☆ \n");</p><p> printf("\t\t ★★ ★★ \
131、n");</p><p> printf("\t\t ☆☆ ☆☆ \n");</p><p> printf("\t\t ★★ ★★ \n");</p><p> printf("\t\t
132、 ☆☆ \n");}</p><p><b> 4 設(shè)計(jì)體會</b></p><p> 通過這幾天的努力,職工工資管理系統(tǒng)的設(shè)計(jì)已基本完成。在本次課程設(shè)計(jì)中,我充分領(lǐng)略了C語言功能的強(qiáng)大,包括函數(shù)、數(shù)組、指針、結(jié)構(gòu)體、文件等。</p><p> 職工工資管理系統(tǒng)是一
133、個(gè)很實(shí)用并且使用廣泛的操作系統(tǒng)。此系統(tǒng)可以減少很多工作量,做到設(shè)計(jì)合理,便于使用,易于操作;界面友好,容錯(cuò)性高,可在很短的時(shí)間內(nèi),查找出所需的職工工資資料,提高工作效率。該系統(tǒng)具有添加、顯示、查詢、修改、刪除等基本功能,以方便對工資的各項(xiàng)管理操作。每一條記錄包括一個(gè)職工的工號、姓名、工資等信息,系統(tǒng)的各個(gè)功能模塊都用函數(shù)的形式來實(shí)現(xiàn),可以將職工信息保存在文件中,并從文件中讀取出來。</p><p> 總的來說,
134、通過這次程序設(shè)計(jì),使我加深了對C語言的認(rèn)識,進(jìn)一步熟悉了對C語言功能的靈活運(yùn)用,而且加深了我對程序的理解和編寫能力,通過文獻(xiàn)資料和網(wǎng)絡(luò)資料的幫助,使我對C語言程序設(shè)計(jì)這一基礎(chǔ)學(xué)科又一次加深了認(rèn)識,也意識到了其具有的強(qiáng)大功能和發(fā)展前景。這會對以后的學(xué)習(xí)有所幫助。</p><p> 通過這次程序的設(shè)計(jì),我發(fā)現(xiàn)現(xiàn)實(shí)的一個(gè)簡單實(shí)際問題要用我們學(xué)過的C語言編寫并不是一個(gè)簡單的工作.現(xiàn)實(shí)的一個(gè)職工管理系統(tǒng)并不能用我們學(xué)過的
135、一個(gè)簡單函數(shù)或簡單的語法結(jié)構(gòu)完成,他要用的許多函數(shù)和語法結(jié)構(gòu),而且在編寫過程中不僅要求我們對所學(xué)的知識非常熟悉而且在寫代碼的過程中要非常細(xì)心,因?yàn)槿魏我稽c(diǎn)小錯(cuò)誤都將導(dǎo)致程序無法運(yùn)行,導(dǎo)致程序制作失敗. 由于我們學(xué)習(xí)C語言的時(shí)間比較短,我們學(xué)到的事是有限,這就導(dǎo)致我們理想中程序需要的功能無法完成,所以我們需要找資料,而這些資料也許我們不懂,這就需要我們自學(xué)的能力,只有我們不斷學(xué)習(xí)C語言方面的新知識,才能使我們了解C語言的強(qiáng)大功能,
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言課程設(shè)計(jì)報(bào)告---職工工資管理系統(tǒng)
- c語言課程設(shè)計(jì)報(bào)告--職工工資管理系統(tǒng)
- c語言課程設(shè)計(jì)報(bào)告---職工工資管理系統(tǒng)
- c語言課程設(shè)計(jì)報(bào)告職工工資管理系統(tǒng)
- c語言職工工資管理系統(tǒng)課程設(shè)計(jì)
- c語言課程設(shè)計(jì)——職工工資管理
- c語言課程設(shè)計(jì)——職工工資管理
- c語言 職工工資管理系統(tǒng)設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)---職工工資管理系統(tǒng)
- c++課程設(shè)計(jì)---職工工資管理系統(tǒng)
- 課程設(shè)計(jì)報(bào)告--職工工資管理系統(tǒng)設(shè)計(jì)
- c++課程設(shè)計(jì)-職工工資管理系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)---職工工資管理系統(tǒng)
- 課程設(shè)計(jì)--職工工資管理系統(tǒng)
- 課程設(shè)計(jì)---職工工資管理系統(tǒng)
- 課程設(shè)計(jì)c++之職工工資管理系統(tǒng)
- c++課程設(shè)計(jì)--高校職工工資管理系統(tǒng)
- 職工工資管理系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)
- 職工工資管理系統(tǒng)設(shè)計(jì)的課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)---職工工資管理系統(tǒng)
評論
0/150
提交評論