

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> C是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,可以作為系統(tǒng)設(shè)計(jì)語(yǔ)言編寫(xiě)系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語(yǔ)言,編寫(xiě)不依賴(lài)計(jì)算機(jī)硬件的應(yīng)用程序,因此它的應(yīng)用范圍廣闊。本系統(tǒng)是根據(jù)職工信息管理工作的需要,通過(guò)C語(yǔ)言開(kāi)發(fā)一個(gè)職工信息管理系統(tǒng)來(lái)實(shí)現(xiàn)對(duì)職工信息進(jìn)行有效、準(zhǔn)確的管理。整個(gè)系統(tǒng)從簡(jiǎn)便、實(shí)用的要求出發(fā),完成職工信息管理的全過(guò)程,包括職工信息
2、的錄入、修改、刪除、查找、輸出等功能。</p><p> 本文主要介紹了本課題的開(kāi)發(fā)背景,所要完成的功能和開(kāi)發(fā)的過(guò)程。系統(tǒng)的說(shuō)明了系統(tǒng)的設(shè)計(jì)思路、總體設(shè)計(jì)、各個(gè)功能模塊的設(shè)計(jì)與實(shí)現(xiàn)方法。</p><p> 關(guān)鍵詞:職工信息管理系統(tǒng), C語(yǔ)言,信息采集模塊</p><p><b> 目錄</b></p><p>
3、程序設(shè)計(jì)任務(wù)書(shū)要求···································&
4、#183;·4</p><p> 程序基本框架······························
5、;·············5</p><p> C語(yǔ)言課程設(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ù)書(shū)</b></p><p> 2013—2014 學(xué)年第一學(xué)期</p>
14、<p> 專(zhuān)業(yè)班級(jí): 學(xué)號(hào):姓名:</p><p> 課程名稱(chēng): 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é)專(zhuān)業(yè)課程(《C程序設(shè)計(jì)》)的基本理論知識(shí),進(jìn)一步培養(yǎng)學(xué)生綜合分析問(wèn)題和解決問(wèn)題的能力。掌握運(yùn)用C語(yǔ)言獨(dú)立地編寫(xiě)、調(diào)試應(yīng)用程序和進(jìn)行其它相關(guān)設(shè)計(jì)的技能,充分發(fā)掘廣大同學(xué)的潛力,使得同學(xué)們能夠通過(guò)本次課程設(shè)
16、計(jì)而得到全面的鍛煉。</p><p> 一、功能要求:職工信息管理系統(tǒng)是企業(yè)職工管理中的一項(xiàng)重要內(nèi)容,該系統(tǒng)功能主要包括: </p><p> 定義結(jié)構(gòu)體類(lèi)型數(shù)組存放職工信息。 </p><p> 編寫(xiě)函數(shù)輸出系統(tǒng)界面。
17、 </p><p> 編寫(xiě)各函數(shù)實(shí)現(xiàn)系統(tǒng)的追加、刪除、統(tǒng)計(jì)、查詢(xún)等功能。 </p><p> 該同學(xué)主要完成系統(tǒng)輸出界面和主函數(shù),追加,刪除,統(tǒng)計(jì),查詢(xún)模塊的設(shè)計(jì)。 </p><p> 二、設(shè)計(jì)任務(wù):1、設(shè)計(jì)職工信息管理系統(tǒng)的功能框圖、流程圖; 2、編寫(xiě)該系統(tǒng)的源 </p>
18、<p> 程序代碼; 3、上機(jī)調(diào)試; 4、撰寫(xiě)課程設(shè)計(jì)報(bào)告。 </p><p> 三、開(kāi)發(fā)工具:Turbo C 2.0 /Vc++6.0及UCDOS 7.0。 </p><p> 四、進(jìn)度安排:1、前4天進(jìn)行總體設(shè)計(jì)和模塊編寫(xiě)與調(diào)試。2、后
19、3天進(jìn)行課程設(shè)計(jì)報(bào)告的撰寫(xiě)和課程設(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語(yǔ)言程序設(shè)計(jì)教程.北京:中國(guó)鐵道出版社,2007.8 </p><p> C語(yǔ)言程序設(shè)計(jì)的目的:</p><p> 職工信息管理系統(tǒng),并且可以實(shí)現(xiàn)以下功能:&
21、lt;/p><p> 系統(tǒng)能夠以菜單的方式顯示所要選擇執(zhí)行的功能</p><p> 程序可以錄入職工的信息</p><p> 【職工信息包括(姓名、職工號(hào)、性別、年齡、學(xué)歷、工資、地址、電話(huà)、職位)】</p><p> 程序可以修改職工的信息</p><p> 程序可以刪除職工的信息</p><
22、;p> 程序能夠查詢(xún)到所需要的職工的信息</p><p> 【查詢(xún)時(shí)可按姓名、學(xué)歷或職工號(hào)查詢(xún)】</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]; //職工號(hào)</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]; //電話(huà)&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類(lèi)型數(shù)據(jù)的指針變量,可以使fp某一個(gè)一個(gè)文件的文件信息區(qū),通過(guò)該文件信息
27、區(qū)中的信息就能夠訪(fǎng)問(wèn)該文件)</p><p> void zhujiemian(); //查詢(xún)系統(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(); //按姓名查詢(xún)職工信息</p><p> void xueliway(); //按學(xué)歷查詢(xún)職工信息</p><p> void zhigonghaowa
29、y(); //按職工號(hào)查詢(xún)職工信息</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í)行完畢,請(qǐng)您再次選擇!\n");</p><p><b> }</b></p><p><b> else</b></p&g
37、t;<p> printf("輸入錯(cuò)誤,請(qǐng)您重新輸入。\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ù)組來(lái)處理諸多的變量,在下面的int main (void)語(yǔ)句中對(duì)在函數(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)入追夢(mèng)責(zé)任有限公司職工信息管理系統(tǒng)\n");</p>&l
40、t;p> printf("\t\t#############################################\n");</p><p> printf("\t\t添加,請(qǐng)按1 查找,請(qǐng)按2\n");</p><p> printf("\t\t修改,請(qǐng)按3
41、 刪除,請(qǐng)按4\n");</p><p> printf("\t\t輸出,請(qǐng)按5 退出,請(qǐng)按0\n");</p><p><b> }</b></p><p><b> 函數(shù)截圖:</b></p><p> 這是函數(shù)的主界面的
42、顯示圖,您如果想進(jìn)行您所想要的實(shí)現(xiàn)的功能,請(qǐng)按提示輸入對(duì)應(yīng)的序號(hào)來(lái)進(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)//打開(kāi)輸出文件,并使fp指向此文件</p><p><b> {</b></p><p> printf("該文件不能夠被打開(kāi)\n&quo
44、t;);//如果打開(kāi)時(shí)出錯(cuò),就輸出“打不開(kāi)”的信息</p><p> exit (0);//終止程序</p><p><b> }</b></p><p> printf("請(qǐng)輸入職工的信息:姓名、職工號(hào)、性別、年齡、學(xué)歷、職位、工資、電話(huà)、地址\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)閉前面鎖打開(kāi)的文件,避免文件中數(shù)據(jù)的丟失</p><p><b> }</b></p><p><b> 函數(shù)截圖:</b></p><p>
47、 這是添加職工信息的顯示圖,按照提示您可以輸入您想要輸入的職工的信息,執(zhí)行完畢后按回車(chē)鍵即可返回主界面,您在進(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若按姓名查找,請(qǐng)選擇:1\n");</p><p> printf("\t\t若按學(xué)歷查找,請(qǐng)選擇:2\n&
49、quot;);</p><p> printf("\t\t若按職工號(hào)查找,請(qǐng)選擇: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對(duì)不起,您的輸入有誤\n");</p><p><b> }</b></p><p><b> 函數(shù)截圖:</b></p><p> 在查找職工信息是您可以用姓名、學(xué)歷或職工號(hào)進(jìn)行查詢(xún),按照提示進(jìn)行您的操作,下面我漸進(jìn)性詳細(xì)說(shuō)明&
54、#183;·· ···</p><p> 上面是所有員工的信息,查詢(xún)方式有以下三種</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("請(qǐng)輸入您要查找的職工的姓名:");</p><p> scanf (&
56、quot;%s",nam);</p><p> if ((fp=fopen("filel","rb"))==NULL)//打開(kāi)輸出文件,并使fp指向此文件</p><p><b> {</b></p><p> printf("該文件不能夠被打開(kāi)\n");//如果打開(kāi)時(shí)
57、出錯(cuò),就輸出“打不開(kāi)”的信息</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("對(duì)不起,沒(méi)有您想要查找的人!\n");</p>
61、<p> fclose (fp);//關(guān)閉前面鎖打開(kāi)的文件,避免文件中數(shù)據(jù)的丟失</p><p><b> }</b></p><p><b> 程序執(zhí)行結(jié)果截圖:</b></p><p> 以上是按姓名查找您所需要的職工的信息··· ···
62、</p><p><b> 按學(xué)歷查詢(xún):</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("請(qǐng)輸入您想要查詢(xún)的學(xué)歷:");</p><p> scanf("%s",xuel);</p><p> if ((fp=fopen("filel","rb"))=
64、=NULL)//打開(kāi)輸出文件,并使fp指向此文件</p><p><b> {</b></p><p> printf("該文件不能夠被打開(kāi)\n");//如果打開(kāi)時(shí)出錯(cuò),就輸出“打不開(kāi)”的信息</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("對(duì)不起,沒(méi)有您想要查詢(xún)的人\n");</p><p> fclose(fp);//關(guān)閉前面鎖打開(kāi)的文件,避免文件中數(shù)據(jù)的丟失</p><p><b> }</b>
69、</p><p> 以上是按學(xué)歷查詢(xún)的結(jié)果··· ···</p><p><b> 按職工號(hào)查詢(xún):</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("請(qǐng)輸入您索要查詢(xún)的職工的職工號(hào):");</p><p> scanf("%
71、s",zhigongha);</p><p> if ((fp=fopen("filel","rb"))==NULL)//打開(kāi)輸出文件,并使fp指向此文件</p><p><b> {</b></p><p> printf("該文件不能夠被打開(kāi)\n");//如果打開(kāi)時(shí)
72、出錯(cuò),就輸出“打不開(kāi)”的信息</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("對(duì)不起,沒(méi)有您想要查找的人!\n");
76、</p><p> fclose (fp);//關(guān)閉前面鎖打開(kāi)的文件,避免文件中數(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("請(qǐng)輸入您要修改的職工的姓名:");</p><p> scanf("%s",namekey);</p><p> if ((fp=fopen("filel","r+"))==NULL)//打開(kāi)輸出文件,并使fp指向此文件</p><p><b> {<
79、/b></p><p> printf("該文件不能夠被打開(kāi)\n");//如果打開(kāi)時(shí)出錯(cuò),就輸出“打不開(kāi)”的信息</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("請(qǐng)輸入信息(按姓名、職工號(hào)、性別、年齡、學(xué)歷、職位、工資、電話(huà)、地址的順序輸入):\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("對(duì)不起,沒(méi)有查到此人,無(wú)法進(jìn)行修改\n");</p><p> fclose(fp);//關(guān)閉前面鎖打開(kāi)的文件,避免文件中數(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("請(qǐng)輸入您要?jiǎng)h除的職工的姓名:");</p><p> scanf("%s",namekey);</p><p> if ((fp=fopen("filel","r+"))==NULL)//打開(kāi)輸出文件,并使fp指向此文件</p><p
90、><b> {</b></p><p> printf("該文件不能被打開(kāi)\n");//如果打開(kāi)時(shí)出錯(cuò),就輸出“打不開(kāi)”的信息</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í)要?jiǎng)h除,請(qǐng)按1;如果不刪除,請(qǐng)按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("對(duì)不起,沒(méi)有查到此人\n");</p><p> fclose (fp);//關(guān)閉前面鎖打開(kāi)的文件,避免文件中數(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)//打開(kāi)輸出文件,并使fp指向此文件</p><p><b> {</b></p><p> printf("
100、;\n該文件不能被打開(kāi)\n");//如果打開(kāi)時(shí)出錯(cuò),就輸出“打不開(kāi)”的信息</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)閉前面鎖打開(kāi)的文件,避免文件中數(shù)據(jù)的丟失</p><p><b> }</b></p><p> 下面是輸出結(jié)果的屏慕截圖:</p><p> 本程序的運(yùn)行過(guò)程到此已全部執(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ù)打開(kāi)數(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]; //職工號(hào)</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]; //電話(huà)</p><p> char dizhi[100]; //地址</p><p><b> }
109、x;</b></p><p> FILE *fp; //定義一個(gè)指向文件型數(shù)據(jù)的指針變量</p><p> //(定義fp是一個(gè)指向FILE類(lèi)型數(shù)據(jù)的指針變量,可以使fp某一個(gè)一個(gè)文件的文件信息區(qū),通過(guò)該文件信息區(qū)中的信息就能夠訪(fǎng)問(wèn)該文件)</p><p> void zhujiemian(); //查詢(xún)系統(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(); //按姓名查詢(xún)職工信息</p><p> void xueliway(); //按學(xué)歷查詢(xún)職工信息</p><p> void zhigonghaoway(); //按職工號(hào)查詢(xún)職工信息</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í)行完畢,請(qǐng)您再次選擇!\n");</p><p><b> }</b></p><p><b> else</b></p><p> printf("輸入錯(cuò)誤,請(qǐng)您重新輸入。\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)入追夢(mèng)責(zé)任有限公司職工信息管理系統(tǒng)\n");</p><p> printf("\t\t#############################################\n
122、");</p><p> printf("\t\t添加,請(qǐng)按1 查找,請(qǐng)按2\n");</p><p> printf("\t\t修改,請(qǐng)按3 刪除,請(qǐng)按4\n");</p><p> printf("\t\t輸出,請(qǐng)按5
123、 退出,請(qǐng)按0\n");</p><p><b> }</b></p><p> void tianjia()</p><p><b> {</b></p><p> if ((fp=fopen("filel","a"))==
124、NULL)//打開(kāi)輸出文件,并使fp指向此文件</p><p><b> {</b></p><p> printf("該文件不能夠被打開(kāi)\n");//如果打開(kāi)時(shí)出錯(cuò),就輸出“打不開(kāi)”的信息</p><p> exit (0);//終止程序</p><p><b> }</b&
125、gt;</p><p> printf("請(qǐng)輸入職工的信息:姓名、職工號(hào)、性別、年齡、學(xué)歷、職位、工資、電話(huà)、地址\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)閉前面鎖打開(kāi)的文件,避免文件
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、名查找,請(qǐng)選擇:1\n");</p><p> printf("\t\t若按學(xué)歷查找,請(qǐng)選擇:2\n");</p><p> printf("\t\t若按職工號(hào)查找,請(qǐng)選擇: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對(duì)不起,您的輸入有誤\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("請(qǐng)輸入您要查找的職工的姓名:");</p><p> scanf
134、 ("%s",nam);</p><p> if ((fp=fopen("filel","rb"))==NULL)//打開(kāi)輸出文件,并使fp指向此文件</p><p><b> {</b></p><p> printf("該文件不能夠被打開(kāi)\n");//如果
135、打開(kāi)時(shí)出錯(cuò),就輸出“打不開(kāi)”的信息</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("對(duì)不起,沒(méi)有您想要查找的人!\n");</p&
139、gt;<p> fclose (fp);//關(guān)閉前面鎖打開(kāi)的文件,避免文件中數(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("請(qǐng)輸入您索要查詢(xún)的職工的職工號(hào):");</p><p> scanf("%s",zhigongha);</p><p> if ((fp=fopen("filel"
141、;,"rb"))==NULL)//打開(kāi)輸出文件,并使fp指向此文件</p><p><b> {</b></p><p> printf("該文件不能夠被打開(kāi)\n");//如果打開(kāi)時(shí)出錯(cuò),就輸出“打不開(kāi)”的信息</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("對(duì)不起,沒(méi)有您想要查找的人!\n");</p><p> fclose (fp);//關(guān)閉前面鎖打開(kāi)的文件,避免文件中數(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("請(qǐng)輸入您想要查詢(xún)的學(xué)歷:");</p><p> scanf("%s",xuel);</p><p> if ((fp=fopen("filel","rb"))==NULL)//打開(kāi)輸出文件,并使fp指向此文件</p><p><b> {</b&g
148、t;</p><p> printf("該文件不能夠被打開(kāi)\n");//如果打開(kāi)時(shí)出錯(cuò),就輸出“打不開(kāi)”的信息</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("對(duì)不起,沒(méi)有您想要查詢(xún)的人\n");</p><p> fclose(fp);//關(guān)閉前面鎖打開(kāi)的文件,避免文件中數(shù)據(jù)的丟失</p><p><b> }</b></p><p> void xiugai()</p><p><b>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 職工信息管理系統(tǒng)課程設(shè)計(jì)
- 職工信息管理系統(tǒng)課程設(shè)計(jì)
- jsp課程設(shè)計(jì)--職工信息管理系統(tǒng)
- 職工信息管理系統(tǒng)課程設(shè)計(jì) (2)
- c語(yǔ)言課程設(shè)計(jì)--職工信息管理系統(tǒng)
- 職工信息管理系統(tǒng)c語(yǔ)言課程設(shè)計(jì)
- c++課程設(shè)計(jì)--職工信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)職工信息管理系統(tǒng)
- c-課程設(shè)計(jì)--- 職工信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)---職工信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)——職工信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)——職工信息管理系統(tǒng)
- 面向?qū)ο笳n程設(shè)計(jì)--職工信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)—職工信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)--職工信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)---職工信息管理系統(tǒng)設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---職工信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告--職工信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告----職工信息管理系統(tǒng)設(shè)計(jì)
- c++課程設(shè)計(jì)--職工信息管理
評(píng)論
0/150
提交評(píng)論