版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> C是一種計(jì)算機(jī)程序設(shè)計(jì)語言,可以作為系統(tǒng)設(shè)計(jì)語言編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序,因此它的應(yīng)用范圍廣闊。本系統(tǒng)是根據(jù)職工信息管理工作的需要,通過C語言開發(fā)一個(gè)職工信息管理系統(tǒng)來實(shí)現(xiàn)對職工信息進(jìn)行有效、準(zhǔn)確的管理。整個(gè)系統(tǒng)從簡便、實(shí)用的要求出發(fā),完成職工信息管理的全過程,包括職工信息
2、的錄入、修改、刪除、查找、輸出等功能。</p><p> 本文主要介紹了本課題的開發(fā)背景,所要完成的功能和開發(fā)的過程。系統(tǒng)的說明了系統(tǒng)的設(shè)計(jì)思路、總體設(shè)計(jì)、各個(gè)功能模塊的設(shè)計(jì)與實(shí)現(xiàn)方法。</p><p> 關(guān)鍵詞:職工信息管理系統(tǒng), C語言,信息采集模塊</p><p><b> 目錄</b></p><p>
3、程序設(shè)計(jì)任務(wù)書要求···································&
4、#183;·4</p><p> 程序基本框架······························
5、;·············5</p><p> C語言課程設(shè)計(jì)的目的··················
6、;·················6</p><p> 詳細(xì)設(shè)計(jì)報(bào)告··············
7、83;····························7</p><p> 程序清單···
8、83;····································&
9、#183;······22</p><p> 課程設(shè)計(jì)總結(jié)························
10、3;··················30</p><p> 后記··············
11、;····································
12、83;··32</p><p> 參考文獻(xiàn)·····························
13、183;···················33</p><p><b> 課程設(shè)計(jì)任務(wù)書</b></p><p> 2013—2014 學(xué)年第一學(xué)期</p>
14、<p> 專業(yè)班級: 學(xué)號:姓名:</p><p> 課程名稱: C程序設(shè)計(jì) </p><p> 完成期限:自 2013年 12 月19日至 2013年 12 月26日 共 1 周 </p><p><b> 課程設(shè)計(jì)題目&l
15、t;/b></p><p> 職工信息管理系統(tǒng)的設(shè)計(jì)與應(yīng)用 </p><p> 設(shè)計(jì)目的:進(jìn)一步加深、鞏固學(xué)生所學(xué)專業(yè)課程(《C程序設(shè)計(jì)》)的基本理論知識,進(jìn)一步培養(yǎng)學(xué)生綜合分析問題和解決問題的能力。掌握運(yùn)用C語言獨(dú)立地編寫、調(diào)試應(yīng)用程序和進(jìn)行其它相關(guān)設(shè)計(jì)的技能,充分發(fā)掘廣大同學(xué)的潛力,使得同學(xué)們能夠通過本次課程設(shè)
16、計(jì)而得到全面的鍛煉。</p><p> 一、功能要求:職工信息管理系統(tǒng)是企業(yè)職工管理中的一項(xiàng)重要內(nèi)容,該系統(tǒng)功能主要包括: </p><p> 定義結(jié)構(gòu)體類型數(shù)組存放職工信息。 </p><p> 編寫函數(shù)輸出系統(tǒng)界面。
17、 </p><p> 編寫各函數(shù)實(shí)現(xiàn)系統(tǒng)的追加、刪除、統(tǒng)計(jì)、查詢等功能。 </p><p> 該同學(xué)主要完成系統(tǒng)輸出界面和主函數(shù),追加,刪除,統(tǒng)計(jì),查詢模塊的設(shè)計(jì)。 </p><p> 二、設(shè)計(jì)任務(wù):1、設(shè)計(jì)職工信息管理系統(tǒng)的功能框圖、流程圖; 2、編寫該系統(tǒng)的源 </p>
18、<p> 程序代碼; 3、上機(jī)調(diào)試; 4、撰寫課程設(shè)計(jì)報(bào)告。 </p><p> 三、開發(fā)工具:Turbo C 2.0 /Vc++6.0及UCDOS 7.0。 </p><p> 四、進(jìn)度安排:1、前4天進(jìn)行總體設(shè)計(jì)和模塊編寫與調(diào)試。2、后
19、3天進(jìn)行課程設(shè)計(jì)報(bào)告的撰寫和課程設(shè)計(jì)答辯。 </p><p> 五、主要參考資料: </p><p> [1] Stephen prata.C primer plus(第五版).北京:人民郵電出版社,2010.4 </p>
20、<p> [2] 譚浩強(qiáng).C程序設(shè)計(jì)(第三版).北京:清華大學(xué)出版社,2005.7 </p><p> [3] 張磊等.C語言程序設(shè)計(jì)教程.北京:中國鐵道出版社,2007.8 </p><p> C語言程序設(shè)計(jì)的目的:</p><p> 職工信息管理系統(tǒng),并且可以實(shí)現(xiàn)以下功能:&
21、lt;/p><p> 系統(tǒng)能夠以菜單的方式顯示所要選擇執(zhí)行的功能</p><p> 程序可以錄入職工的信息</p><p> 【職工信息包括(姓名、職工號、性別、年齡、學(xué)歷、工資、地址、電話、職位)】</p><p> 程序可以修改職工的信息</p><p> 程序可以刪除職工的信息</p><
22、;p> 程序能夠查詢到所需要的職工的信息</p><p> 【查詢時(shí)可按姓名、學(xué)歷或職工號查詢】</p><p> 程序能夠輸出所錄入的所有職工的信息</p><p> 職工信息管理系統(tǒng)詳細(xì)報(bào)告</p><p><b> 主函數(shù):</b></p><p><b> 【程
23、序】</b></p><p> #include <stdio.h></p><p> #include <stdlib.h></p><p> #include <string.h>//ANSI C標(biāo)準(zhǔn)要求在使用字符串時(shí)要包含頭文件 string.h</p><p> struct z
24、higong { //定義數(shù)據(jù)結(jié)構(gòu)變量,下面九個(gè)成員列表</p><p> char name[30]; //姓名</p><p> char zhigonghao[30]; //職工號</p><p> char xingbie[30]; //性別</p><p> char age[30];
25、 //年齡</p><p> char xueli[30]; //學(xué)歷</p><p> char zhiwei[30]; //職位</p><p> char gongzi[30]; //工資</p><p> char tel[30]; //電話&l
26、t;/p><p> char dizhi[100]; //地址</p><p><b> }x;</b></p><p> FILE *fp; //定義一個(gè)指向文件型數(shù)據(jù)的指針變量</p><p> //(定義fp是一個(gè)指向FILE類型數(shù)據(jù)的指針變量,可以使fp某一個(gè)一個(gè)文件的文件信息區(qū),通過該文件信息
27、區(qū)中的信息就能夠訪問該文件)</p><p> void zhujiemian(); //查詢系統(tǒng)的主界面</p><p> void tianjia(); //添加職工信息</p><p> void chazhao(); //查找職工信息</p><p> void xiugai(); //修改職工信息</p>&l
28、t;p> void shanchu(); //刪除職工信息</p><p> void shuchu(); //輸出職工信息</p><p> void nameway(); //按姓名查詢職工信息</p><p> void xueliway(); //按學(xué)歷查詢職工信息</p><p> void zhigonghaowa
29、y(); //按職工號查詢職工信息</p><p> int main(void)</p><p><b> {</b></p><p><b> int m;</b></p><p><b> while (1)</b></p><p><
30、;b> {</b></p><p> zhujiemian();</p><p> scanf ("%d",&m);</p><p> if (m>=0&&m<=5)</p><p><b> {</b></p><p
31、> switch (m)</p><p><b> {</b></p><p><b> case 1:</b></p><p> system ("cls");//清空主界面</p><p> tianjia();</p><p><
32、;b> break;</b></p><p><b> case 2:</b></p><p> system ("cls");//清空主界面</p><p> chazhao();</p><p><b> break;</b></p>
33、<p><b> case 3:</b></p><p> system ("cls");//清空主界面</p><p><b> xiugai();</b></p><p><b> break;</b></p><p><b&g
34、t; case 4:</b></p><p> system ("cls");//清空主界面</p><p> shanchu();</p><p><b> break;</b></p><p><b> case 5:</b></p>&l
35、t;p> system ("cls");//清空主界面</p><p><b> shuchu();</b></p><p><b> break;</b></p><p><b> case 0:</b></p><p><b>
36、 exit (0);</b></p><p><b> }</b></p><p> printf("功能執(zhí)行完畢,請您再次選擇!\n");</p><p><b> }</b></p><p><b> else</b></p&g
37、t;<p> printf("輸入錯(cuò)誤,請您重新輸入。\n");</p><p><b> }</b></p><p><b> return 0;</b></p><p><b> }</b></p><p> 上面的函數(shù)包括職工信
38、息管理系統(tǒng)所需的所有函數(shù)聲明,定義了一個(gè)結(jié)構(gòu)數(shù)組來處理諸多的變量,在下面的int main (void)語句中對在函數(shù)頭的那么多的變量進(jìn)行調(diào)用,以使本系統(tǒng)能夠順利運(yùn)行!</p><p><b> B、主界面:</b></p><p><b> 【程序】</b></p><p> void zhujiemian()&l
39、t;/p><p><b> {</b></p><p> printf("\t\t#############################################\n");</p><p> printf("\t\t歡迎進(jìn)入追夢責(zé)任有限公司職工信息管理系統(tǒng)\n");</p>&l
40、t;p> printf("\t\t#############################################\n");</p><p> printf("\t\t添加,請按1 查找,請按2\n");</p><p> printf("\t\t修改,請按3
41、 刪除,請按4\n");</p><p> printf("\t\t輸出,請按5 退出,請按0\n");</p><p><b> }</b></p><p><b> 函數(shù)截圖:</b></p><p> 這是函數(shù)的主界面的
42、顯示圖,您如果想進(jìn)行您所想要的實(shí)現(xiàn)的功能,請按提示輸入對應(yīng)的序號來進(jìn)行操作··· ···</p><p><b> C、錄入職工信息:</b></p><p><b> 【程序】</b></p><p> void tianjia()</p>
43、<p><b> {</b></p><p> if ((fp=fopen("filel","a"))==NULL)//打開輸出文件,并使fp指向此文件</p><p><b> {</b></p><p> printf("該文件不能夠被打開\n&quo
44、t;);//如果打開時(shí)出錯(cuò),就輸出“打不開”的信息</p><p> exit (0);//終止程序</p><p><b> }</b></p><p> printf("請輸入職工的信息:姓名、職工號、性別、年齡、學(xué)歷、職位、工資、電話、地址\n");</p><p> scanf(&qu
45、ot;%s%s%s%s%s%s%s%s%s",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p> fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xing
46、bie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p> fclose (fp);//關(guān)閉前面鎖打開的文件,避免文件中數(shù)據(jù)的丟失</p><p><b> }</b></p><p><b> 函數(shù)截圖:</b></p><p>
47、 這是添加職工信息的顯示圖,按照提示您可以輸入您想要輸入的職工的信息,執(zhí)行完畢后按回車鍵即可返回主界面,您在進(jìn)行其他操作··· ···</p><p><b> D、查找職工信息:</b></p><p><b> 【程序】</b></p><p> vo
48、id chazhao()</p><p><b> {</b></p><p><b> int a;</b></p><p> printf("\t\t若按姓名查找,請選擇:1\n");</p><p> printf("\t\t若按學(xué)歷查找,請選擇:2\n&
49、quot;);</p><p> printf("\t\t若按職工號查找,請選擇:3\n");</p><p> scanf("%d",&a);</p><p> if(a>=1&&a<=3)</p><p><b> {</b><
50、/p><p> switch (a)</p><p><b> {</b></p><p><b> case 1:</b></p><p> nameway();</p><p><b> break;</b></p><p&
51、gt;<b> case 2:</b></p><p> xueliway();</p><p><b> break;</b></p><p><b> case 3:</b></p><p> zhigonghaoway();</p><p&g
52、t;<b> break;</b></p><p><b> }</b></p><p> printf("您所選擇的該操作執(zhí)行完畢\n");</p><p><b> }</b></p><p><b> else</b>&
53、lt;/p><p> printf("\t\t對不起,您的輸入有誤\n");</p><p><b> }</b></p><p><b> 函數(shù)截圖:</b></p><p> 在查找職工信息是您可以用姓名、學(xué)歷或職工號進(jìn)行查詢,按照提示進(jìn)行您的操作,下面我漸進(jìn)性詳細(xì)說明&
54、#183;·· ···</p><p> 上面是所有員工的信息,查詢方式有以下三種</p><p><b> 按姓名查找:</b></p><p><b> 【程序】</b></p><p> void nameway()</p>
55、<p><b> {</b></p><p><b> int k=0;</b></p><p> char nam[30];//聲明要查找的職工姓名</p><p> printf("請輸入您要查找的職工的姓名:");</p><p> scanf (&
56、quot;%s",nam);</p><p> if ((fp=fopen("filel","rb"))==NULL)//打開輸出文件,并使fp指向此文件</p><p><b> {</b></p><p> printf("該文件不能夠被打開\n");//如果打開時(shí)
57、出錯(cuò),就輸出“打不開”的信息</p><p> exit (0);//終止程序</p><p><b> }</b></p><p> while(!feof(fp))</p><p><b> {</b></p><p> fscanf(fp,"%s%s
58、%s%s%s%s%s%s%s",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p> if(strcmp(nam,x.name)==0)</p><p><b> {</b></p><p> printf(&
59、quot;已查到此人,期記錄為:\n");</p><p> printf("%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p><b>
60、k=1;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> if(k==0)</b></p><p> printf("對不起,沒有您想要查找的人!\n");</p>
61、<p> fclose (fp);//關(guān)閉前面鎖打開的文件,避免文件中數(shù)據(jù)的丟失</p><p><b> }</b></p><p><b> 程序執(zhí)行結(jié)果截圖:</b></p><p> 以上是按姓名查找您所需要的職工的信息··· ···
62、</p><p><b> 按學(xué)歷查詢:</b></p><p><b> 【程序】</b></p><p> void xueliway()</p><p><b> {</b></p><p><b> int b=0;</
63、b></p><p> char xuel[30];</p><p> printf("請輸入您想要查詢的學(xué)歷:");</p><p> scanf("%s",xuel);</p><p> if ((fp=fopen("filel","rb"))=
64、=NULL)//打開輸出文件,并使fp指向此文件</p><p><b> {</b></p><p> printf("該文件不能夠被打開\n");//如果打開時(shí)出錯(cuò),就輸出“打不開”的信息</p><p> exit (0);//終止程序</p><p><b> }</b
65、></p><p> while (!feof(fp))</p><p><b> {</b></p><p> fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel
66、,x.dizhi);</p><p> if(strcmp(xuel,x.xueli)==0)</p><p><b> {</b></p><p> printf("已查到此人,期記錄為:\n");</p><p> printf("%-10s%-8s%-5s%-5s%-10s%-
67、8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p><b> b=1;</b></p><p><b> }</b></p><p><b>
68、; }</b></p><p><b> if(b)</b></p><p> printf("對不起,沒有您想要查詢的人\n");</p><p> fclose(fp);//關(guān)閉前面鎖打開的文件,避免文件中數(shù)據(jù)的丟失</p><p><b> }</b>
69、</p><p> 以上是按學(xué)歷查詢的結(jié)果··· ···</p><p><b> 按職工號查詢:</b></p><p><b> 【程序】</b></p><p> void zhigonghaoway()</p>
70、<p><b> {</b></p><p><b> int c=0;</b></p><p> char zhigongha[30];</p><p> printf("請輸入您索要查詢的職工的職工號:");</p><p> scanf("%
71、s",zhigongha);</p><p> if ((fp=fopen("filel","rb"))==NULL)//打開輸出文件,并使fp指向此文件</p><p><b> {</b></p><p> printf("該文件不能夠被打開\n");//如果打開時(shí)
72、出錯(cuò),就輸出“打不開”的信息</p><p> exit (0);//終止程序</p><p><b> }</b></p><p> while (!feof(fp))</p><p><b> {</b></p><p> fscanf(fp,"%s%
73、s%s%s%s%s%s%s%s",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p> if(strcmp(zhigongha,x.zhigonghao)==0)</p><p><b> {</b></p><p&
74、gt; printf("已查到此人,期記錄為:\n");</p><p> printf("%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p&g
75、t;<b> c=1;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> if(c)</b></p><p> printf("對不起,沒有您想要查找的人!\n");
76、</p><p> fclose (fp);//關(guān)閉前面鎖打開的文件,避免文件中數(shù)據(jù)的丟失</p><p><b> }</b></p><p><b> E、修改職工信息:</b></p><p><b> 【程序】</b></p><p>
77、 void xiugai()</p><p><b> {</b></p><p><b> int k=0;</b></p><p><b> long a;</b></p><p> char namekey[30];</p><p> p
78、rintf("請輸入您要修改的職工的姓名:");</p><p> scanf("%s",namekey);</p><p> if ((fp=fopen("filel","r+"))==NULL)//打開輸出文件,并使fp指向此文件</p><p><b> {<
79、/b></p><p> printf("該文件不能夠被打開\n");//如果打開時(shí)出錯(cuò),就輸出“打不開”的信息</p><p> exit (0);//終止程序</p><p><b> }</b></p><p> while (!feof(fp))</p><p
80、><b> {</b></p><p> a=ftell(fp);</p><p> fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><
81、p> if(!strcmp(namekey,x.name))</p><p><b> {</b></p><p><b> k=1;</b></p><p><b> break;</b></p><p><b> }</b></p
82、><p><b> }</b></p><p><b> if(k)</b></p><p><b> {</b></p><p> printf("已查到,期記錄為:\n");</p><p> printf("%-
83、10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p> printf("請輸入信息(按姓名、職工號、性別、年齡、學(xué)歷、職位、工資、電話、地址的順序輸入):\n");</p>
84、;<p> scanf("%s%s%s%s%s%s%s%s%s",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p> fseek(fp,a,0);</p><p> fprintf(fp,"%-10s%-8s%-5s%-
85、5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p><b> }</b></p><p><b> else</b></p><p>
86、; printf("對不起,沒有查到此人,無法進(jìn)行修改\n");</p><p> fclose(fp);//關(guān)閉前面鎖打開的文件,避免文件中數(shù)據(jù)的丟失</p><p><b> }</b></p><p> 程序之執(zhí)行結(jié)果截圖:</p><p><b> {1}</b>
87、;</p><p><b> {2}</b></p><p> 以上是程序執(zhí)行前后的職工信息的修改結(jié)果,您如果還想修改其他的職工的信息,只需進(jìn)行如同以上的操作即可··· ···</p><p> F、刪除職工的信息:</p><p><b>
88、【程序】</b></p><p> void shanchu()</p><p><b> {</b></p><p> int m,k=0;</p><p><b> long a;</b></p><p> char namekey[30];<
89、/p><p> printf("請輸入您要刪除的職工的姓名:");</p><p> scanf("%s",namekey);</p><p> if ((fp=fopen("filel","r+"))==NULL)//打開輸出文件,并使fp指向此文件</p><p
90、><b> {</b></p><p> printf("該文件不能被打開\n");//如果打開時(shí)出錯(cuò),就輸出“打不開”的信息</p><p> exit (0);//終止程序</p><p><b> }</b></p><p> while (!feof(fp
91、))</p><p><b> {</b></p><p> a=ftell(fp);</p><p> fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizh
92、i);</p><p> if((strcmp(namekey,x.name))==0)</p><p><b> {</b></p><p><b> k=1;</b></p><p><b> break;</b></p><p><b
93、> }</b></p><p><b> }</b></p><p><b> if(k==1)</b></p><p><b> {</b></p><p> printf ("已查到您所需要的信息,其記錄為:\n");<
94、/p><p> printf("%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p> printf("確實(shí)要刪除,請按1;如果不刪除,請按0\n"
95、;);</p><p> scanf("%d",&m);</p><p><b> if(m==1)</b></p><p><b> {</b></p><p> fseek(fp,a,0);</p><p> fprintf(fp,&
96、quot;%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n,",","","","","","","","",");</p><p><b> }</b></p><
97、p><b> }</b></p><p><b> else</b></p><p> printf("對不起,沒有查到此人\n");</p><p> fclose (fp);//關(guān)閉前面鎖打開的文件,避免文件中數(shù)據(jù)的丟失</p><p><b> }
98、</b></p><p> 上面是刪除前的結(jié)果,下面我將刪除欣欣、偉偉的職工信息</p><p><b> 下面是刪除后的結(jié)果</b></p><p> G、輸出職工的信息:</p><p><b> 【程序】</b></p><p> void shu
99、chu()</p><p><b> {</b></p><p> if((fp=fopen("filel","r"))==NULL)//打開輸出文件,并使fp指向此文件</p><p><b> {</b></p><p> printf("
100、;\n該文件不能被打開\n");//如果打開時(shí)出錯(cuò),就輸出“打不開”的信息</p><p> exit (0);//終止程序</p><p><b> }</b></p><p> printf("\n%20s\n","職工信息管理系統(tǒng)");</p><p> w
101、hile (!feof(fp))</p><p><b> {</b></p><p> fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p&
102、gt; printf("%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p><b> }</b></p><p> fclose (fp
103、);//關(guān)閉前面鎖打開的文件,避免文件中數(shù)據(jù)的丟失</p><p><b> }</b></p><p> 下面是輸出結(jié)果的屏慕截圖:</p><p> 本程序的運(yùn)行過程到此已全部執(zhí)行完畢··· ···</p><p> 下面是該程序的其它介紹:<
104、/p><p> 在輸入的數(shù)大于5并且小于0時(shí)的結(jié)果:</p><p> 輸入不存在的職工姓名時(shí):</p><p> 在該程序中我還引入了文件的使用,如下:</p><p> FILE *fp; //定義一個(gè)指向文件的指針變量fp</p><p> 用fopen函數(shù)打開數(shù)據(jù)文件:fopen(文件名,使用文件方
105、式);</p><p> 用fclose函數(shù)關(guān)閉數(shù)據(jù)文件:fclose(文件指針);</p><p><b> 使用文件的方式</b></p><p><b> 程序清單</b></p><p> #include <stdio.h></p><p>
106、#include <stdlib.h></p><p> #include <string.h>//ANSI C標(biāo)準(zhǔn)要求在使用字符串時(shí)要包含頭文件 string.h</p><p> struct zhigong { //定義數(shù)據(jù)結(jié)構(gòu)變量,下面九個(gè)成員列表</p><p> char name[30]; //姓名&l
107、t;/p><p> char zhigonghao[30]; //職工號</p><p> char xingbie[30]; //性別</p><p> char age[30]; //年齡</p><p> char xueli[30]; //學(xué)歷</p><p
108、> char zhiwei[30]; //職位</p><p> char gongzi[30]; //工資</p><p> char tel[30]; //電話</p><p> char dizhi[100]; //地址</p><p><b> }
109、x;</b></p><p> FILE *fp; //定義一個(gè)指向文件型數(shù)據(jù)的指針變量</p><p> //(定義fp是一個(gè)指向FILE類型數(shù)據(jù)的指針變量,可以使fp某一個(gè)一個(gè)文件的文件信息區(qū),通過該文件信息區(qū)中的信息就能夠訪問該文件)</p><p> void zhujiemian(); //查詢系統(tǒng)的主界面</p><
110、p> void tianjia(); //添加職工信息</p><p> void chazhao(); //查找職工信息</p><p> void xiugai(); //修改職工信息</p><p> void shanchu(); //刪除職工信息</p><p> void shuchu(); //輸出職工信息<
111、;/p><p> void nameway(); //按姓名查詢職工信息</p><p> void xueliway(); //按學(xué)歷查詢職工信息</p><p> void zhigonghaoway(); //按職工號查詢職工信息</p><p> int main(void)</p><p><b&g
112、t; {</b></p><p><b> int m;</b></p><p><b> while (1)</b></p><p><b> {</b></p><p> zhujiemian();</p><p> scan
113、f ("%d",&m);</p><p> if (m>=0&&m<=5)</p><p><b> {</b></p><p> switch (m)</p><p><b> {</b></p><p>&l
114、t;b> case 1:</b></p><p> system ("cls");//清空主界面</p><p> tianjia();</p><p><b> break;</b></p><p><b> case 2:</b></p>
115、;<p> system ("cls");//清空主界面</p><p> chazhao();</p><p><b> break;</b></p><p><b> case 3:</b></p><p> system ("cls&quo
116、t;);//清空主界面</p><p><b> xiugai();</b></p><p><b> break;</b></p><p><b> case 4:</b></p><p> system ("cls");//清空主界面</p
117、><p> shanchu();</p><p><b> break;</b></p><p><b> case 5:</b></p><p> system ("cls");//清空主界面</p><p><b> shuchu();
118、</b></p><p><b> break;</b></p><p><b> case 0:</b></p><p><b> exit (0);</b></p><p><b> }</b></p><p&g
119、t; printf("功能執(zhí)行完畢,請您再次選擇!\n");</p><p><b> }</b></p><p><b> else</b></p><p> printf("輸入錯(cuò)誤,請您重新輸入。\n");</p><p><b>
120、}</b></p><p><b> return 0;</b></p><p><b> }</b></p><p> void zhujiemian()</p><p><b> {</b></p><p> printf(&q
121、uot;\t\t#############################################\n");</p><p> printf("\t\t歡迎進(jìn)入追夢責(zé)任有限公司職工信息管理系統(tǒng)\n");</p><p> printf("\t\t#############################################\n
122、");</p><p> printf("\t\t添加,請按1 查找,請按2\n");</p><p> printf("\t\t修改,請按3 刪除,請按4\n");</p><p> printf("\t\t輸出,請按5
123、 退出,請按0\n");</p><p><b> }</b></p><p> void tianjia()</p><p><b> {</b></p><p> if ((fp=fopen("filel","a"))==
124、NULL)//打開輸出文件,并使fp指向此文件</p><p><b> {</b></p><p> printf("該文件不能夠被打開\n");//如果打開時(shí)出錯(cuò),就輸出“打不開”的信息</p><p> exit (0);//終止程序</p><p><b> }</b&
125、gt;</p><p> printf("請輸入職工的信息:姓名、職工號、性別、年齡、學(xué)歷、職位、工資、電話、地址\n");</p><p> scanf("%s%s%s%s%s%s%s%s%s",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi
126、);</p><p> fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p> fclose (fp);//關(guān)閉前面鎖打開的文件,避免文件
127、中數(shù)據(jù)的丟失</p><p><b> }</b></p><p> void chazhao()</p><p><b> {</b></p><p><b> int a;</b></p><p> printf("\t\t若按姓
128、名查找,請選擇:1\n");</p><p> printf("\t\t若按學(xué)歷查找,請選擇:2\n");</p><p> printf("\t\t若按職工號查找,請選擇:3\n");</p><p> scanf("%d",&a);</p><p> i
129、f(a>=1&&a<=3)</p><p><b> {</b></p><p> switch (a)</p><p><b> {</b></p><p><b> case 1:</b></p><p> na
130、meway();</p><p><b> break;</b></p><p><b> case 2:</b></p><p> xueliway();</p><p><b> break;</b></p><p><b> c
131、ase 3:</b></p><p> zhigonghaoway();</p><p><b> break;</b></p><p><b> }</b></p><p> printf("您所選擇的該操作執(zhí)行完畢\n");</p><
132、p><b> }</b></p><p><b> else</b></p><p> printf("\t\t對不起,您的輸入有誤\n");</p><p><b> }</b></p><p> void nameway()</p&
133、gt;<p><b> {</b></p><p><b> int k=0;</b></p><p> char nam[30];//聲明要查找的職工姓名</p><p> printf("請輸入您要查找的職工的姓名:");</p><p> scanf
134、 ("%s",nam);</p><p> if ((fp=fopen("filel","rb"))==NULL)//打開輸出文件,并使fp指向此文件</p><p><b> {</b></p><p> printf("該文件不能夠被打開\n");//如果
135、打開時(shí)出錯(cuò),就輸出“打不開”的信息</p><p> exit (0);//終止程序</p><p><b> }</b></p><p> while(!feof(fp))</p><p><b> {</b></p><p> fscanf(fp,"%
136、s%s%s%s%s%s%s%s%s",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p> if(strcmp(nam,x.name)==0)</p><p><b> {</b></p><p> print
137、f("已查到此人,期記錄為:\n");</p><p> printf("%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p><b>
138、; k=1;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> if(k==0)</b></p><p> printf("對不起,沒有您想要查找的人!\n");</p&
139、gt;<p> fclose (fp);//關(guān)閉前面鎖打開的文件,避免文件中數(shù)據(jù)的丟失</p><p><b> }</b></p><p> void zhigonghaoway()</p><p><b> {</b></p><p><b> int c=0;
140、</b></p><p> char zhigongha[30];</p><p> printf("請輸入您索要查詢的職工的職工號:");</p><p> scanf("%s",zhigongha);</p><p> if ((fp=fopen("filel"
141、;,"rb"))==NULL)//打開輸出文件,并使fp指向此文件</p><p><b> {</b></p><p> printf("該文件不能夠被打開\n");//如果打開時(shí)出錯(cuò),就輸出“打不開”的信息</p><p> exit (0);//終止程序</p><p>
142、;<b> }</b></p><p> while (!feof(fp))</p><p><b> {</b></p><p> fscanf(fp,"%s%s%s%s%s%s%s%s%s",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiw
143、ei,x.gongzi,x.tel,x.dizhi);</p><p> if(strcmp(zhigongha,x.zhigonghao)==0)</p><p><b> {</b></p><p> printf("已查到此人,期記錄為:\n");</p><p> printf(&qu
144、ot;%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p><b> c=1;</b></p><p><b> }</b>&l
145、t;/p><p><b> }</b></p><p><b> if(c)</b></p><p> printf("對不起,沒有您想要查找的人!\n");</p><p> fclose (fp);//關(guān)閉前面鎖打開的文件,避免文件中數(shù)據(jù)的丟失</p>&l
146、t;p><b> }</b></p><p> void xueliway()</p><p><b> {</b></p><p><b> int b=0;</b></p><p> char xuel[30];</p><p>
147、printf("請輸入您想要查詢的學(xué)歷:");</p><p> scanf("%s",xuel);</p><p> if ((fp=fopen("filel","rb"))==NULL)//打開輸出文件,并使fp指向此文件</p><p><b> {</b&g
148、t;</p><p> printf("該文件不能夠被打開\n");//如果打開時(shí)出錯(cuò),就輸出“打不開”的信息</p><p> exit (0);//終止程序</p><p><b> }</b></p><p> while (!feof(fp))</p><p>
149、<b> {</b></p><p> fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p> if(strcmp(xuel,x.xueli)==0)</
150、p><p><b> {</b></p><p> printf("已查到此人,期記錄為:\n");</p><p> printf("%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xu
151、eli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p><b> b=1;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> if(b)</b><
152、/p><p> printf("對不起,沒有您想要查詢的人\n");</p><p> fclose(fp);//關(guān)閉前面鎖打開的文件,避免文件中數(shù)據(jù)的丟失</p><p><b> }</b></p><p> void xiugai()</p><p><b>
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 職工信息管理系統(tǒng)課程設(shè)計(jì)
- 職工信息管理系統(tǒng)課程設(shè)計(jì)
- jsp課程設(shè)計(jì)--職工信息管理系統(tǒng)
- 職工信息管理系統(tǒng)課程設(shè)計(jì) (2)
- c語言課程設(shè)計(jì)--職工信息管理系統(tǒng)
- 職工信息管理系統(tǒng)c語言課程設(shè)計(jì)
- c++課程設(shè)計(jì)--職工信息管理系統(tǒng)
- c語言課程設(shè)計(jì)職工信息管理系統(tǒng)
- c-課程設(shè)計(jì)--- 職工信息管理系統(tǒng)
- c語言課程設(shè)計(jì)---職工信息管理系統(tǒng)
- c語言課程設(shè)計(jì)——職工信息管理系統(tǒng)
- c語言課程設(shè)計(jì)——職工信息管理系統(tǒng)
- 面向?qū)ο笳n程設(shè)計(jì)--職工信息管理系統(tǒng)
- c語言課程設(shè)計(jì)—職工信息管理系統(tǒng)
- c語言課程設(shè)計(jì)--職工信息管理系統(tǒng)
- c語言課程設(shè)計(jì)---職工信息管理系統(tǒng)設(shè)計(jì)
- c語言課程設(shè)計(jì)報(bào)告---職工信息管理系統(tǒng)
- c語言課程設(shè)計(jì)報(bào)告--職工信息管理系統(tǒng)
- c語言課程設(shè)計(jì)報(bào)告----職工信息管理系統(tǒng)設(shè)計(jì)
- c++課程設(shè)計(jì)--職工信息管理
評論
0/150
提交評論