版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)(論文)</b></p><p> 題 目 名 稱 職工信息管理系統(tǒng) </p><p> 課 程 名 稱 C語言程序課程設(shè)計(jì) </p><p> 2012年 5月 28 日</p><p><b>
2、 目 錄</b></p><p> 一、課程設(shè)計(jì)的目的與要求3</p><p><b> 1.1目的3</b></p><p><b> 1.2 要求3</b></p><p><b> 二、題目說明4</b></p><
3、p> 2.1程序開發(fā)背景4</p><p> 2.2開發(fā)工具介紹4</p><p><b> 三、總體設(shè)計(jì)5</b></p><p><b> 3.1總體思想5</b></p><p> 3.2軟件模塊結(jié)構(gòu)圖5</p><p> 3.3系統(tǒng)流程圖
4、6</p><p> 3.3.1主函數(shù)6</p><p> 3.3.2顯示函數(shù)7</p><p> 3.3.3錄入函數(shù)7</p><p> 3.3.4查詢函數(shù)8</p><p> 3.3.5刪除函數(shù)9</p><p> 3.3.6排序函數(shù)10</p><
5、;p> 四、詳細(xì)設(shè)計(jì)和系統(tǒng)實(shí)施11</p><p> 4.1數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)11</p><p> 4.1.1定義數(shù)組11</p><p> 4.1.2定義結(jié)構(gòu)體11</p><p> 4.1.3函數(shù)功能描述11</p><p> 4.2界面設(shè)計(jì)12</p><p>
6、 4.2.1用戶登錄界面12</p><p> 4.2.2 主界面13</p><p> 4.2.3顯示界面15</p><p> 4.2.4錄入界面16</p><p> 4.2.5信息查詢界面17</p><p> 4.2.6刪除界面19</p><p> 五、遇到的
7、問題及解決辦法20</p><p> 六、課程設(shè)計(jì)總結(jié)21</p><p><b> 七、參考文獻(xiàn)22</b></p><p> 附錄(源程序代碼)23</p><p> 一、課程設(shè)計(jì)的目的與要求</p><p><b> 1.1目的</b></p&g
8、t;<p> 1.掌握C語言編程的基礎(chǔ)知識(shí)較熟練的編寫C語言應(yīng)用程序。</p><p> 2.能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的程序設(shè)計(jì)問題,增強(qiáng)獨(dú)立完成工作的能力。</p><p> 3.通過設(shè)計(jì)主要使學(xué)生有一個(gè)獨(dú)立編寫程序的過程,對(duì)理論學(xué)習(xí)及動(dòng)手能力都有一個(gè)很大的提高,進(jìn)一步培養(yǎng)學(xué)生熱愛專業(yè)的思想,同時(shí)對(duì)本專業(yè)綜合素質(zhì)的提高起一個(gè)積極的推動(dòng)作用。</p&
9、gt;<p><b> 1.2 要求 </b></p><p> 1.要求利用C語言面向過程的編程思想來完成系統(tǒng)的設(shè)計(jì); </p><p> 2.突出C語言的函數(shù)特征,以多個(gè)函數(shù)實(shí)現(xiàn)每一個(gè)子功能; </p><p> 3.畫出功能模塊圖; </p><p> 4. 進(jìn)行簡(jiǎn)單界面設(shè)計(jì),能夠?qū)崿F(xiàn)友好的
10、交互; </p><p> 5. 具有清晰的程序流程圖和數(shù)據(jù)結(jié)構(gòu)的詳細(xì)定義; </p><p> 6. 熟練掌握C語言對(duì)文件的各種操作。</p><p><b> 二、題目說明</b></p><p> 1.職工信息管理系統(tǒng)設(shè)計(jì),使之包括職工號(hào)、姓名、性別、年齡、學(xué)歷、工資、住址、電話等(職工號(hào)不重復(fù))。<
11、/p><p> 2.使這個(gè)管理系統(tǒng)具有以下功能:可以使系統(tǒng)以菜單方式工作、能夠錄入、查詢、刪除、排序職工的信息。</p><p> 3.可以按學(xué)歷、按工號(hào)查詢職工信息。使查詢職工信息變得方便、簡(jiǎn)單。</p><p><b> 2.1程序開發(fā)背景</b></p><p> 現(xiàn)在隨著社會(huì)的進(jìn)步和人民生活水平的逐漸提升,大
12、學(xué)生數(shù)量越來越多,相應(yīng)的所需要處理的的信息也越來越復(fù)雜,而憑借人力不可能準(zhǔn)確及時(shí)地處理所有信息,因此,編寫此程序是極為必要的。但由于各個(gè)學(xué)校的情況不同,所以難以編寫一個(gè)通用的成績(jī)管理程序。此程序是根據(jù)本校情況和老師指導(dǎo)所編寫,用以解決教師對(duì)學(xué)生成績(jī)的添加、修改、刪除以及學(xué)生對(duì)其成績(jī)的查詢等工作。</p><p><b> 2.2開發(fā)工具介紹</b></p><p>
13、 Visual C++ Visual C++是一個(gè)功能強(qiáng)大的可視化軟件開發(fā)工具。自1993年Microsoft公司推出Visual C++1.0后,隨著其新版本的不斷問世,Visual C++已成為專業(yè)程序員進(jìn)行軟件開發(fā)的首選工具。 雖然微軟公司推出了Visual C++.NET(Visual C++7.0),但它的應(yīng)用的很大的局限性,只適用于Windows 2000,Windows XP和Windows NT4.0。所以實(shí)際中,更多
14、的是以Visual C++6.0為平臺(tái)。 Visual C++6.0不僅是一個(gè)C++編譯器,而且是一個(gè)基于Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境。 Visual C++6.0由許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)ppWizard、類向?qū)lass Wizard等開發(fā)工具。 這些組件通過一個(gè)名為Developer Studio的組件集成為和諧的開發(fā)環(huán)境。 Visual C++它大概可以分成三個(gè)主要的部分: 1. Devel
15、oper Studio。2. MFC。3. Platform SDK。[1]</p><p><b> 三、總體設(shè)計(jì)</b></p><p><b> 3.1總體思想</b></p><p> 本系統(tǒng)主要的設(shè)計(jì)思想是實(shí)現(xiàn)對(duì)職工信息的錄入、刪除、排序、查詢等主要功能。職工信息以文件的形式存儲(chǔ)。系統(tǒng)的人機(jī)接口采用簡(jiǎn)單的字
16、符界面進(jìn)行交互。系統(tǒng)的設(shè)計(jì)方法是結(jié)構(gòu)化設(shè)計(jì)方法,采用C語言進(jìn)行開發(fā)。軟件開發(fā)平臺(tái)采用Visual C++6.0,主要考慮在VC中可以使用中文,用戶交互界面設(shè)計(jì)比較美觀清晰。</p><p> 3.2軟件模塊結(jié)構(gòu)圖</p><p> 根據(jù)需求分析結(jié)果,職工信息管理系統(tǒng)可以分為顯示員工資料、錄入員工資料、員工信息查詢、刪除員工信息、員工信息排序、退出信息系統(tǒng)。如圖3-1所示。</p&
17、gt;<p><b> 圖3-1</b></p><p><b> 3.3系統(tǒng)流程圖</b></p><p> 3.3.1主函數(shù) </p><p><b> 3.3.2顯示函數(shù)</b></p><p><b> 3.3.3錄入函數(shù)</
18、b></p><p><b> 3.3.4查詢函數(shù)</b></p><p><b> 3.3.5刪除函數(shù)</b></p><p><b> 3.3.6排序函數(shù)</b></p><p> 四、詳細(xì)設(shè)計(jì)和系統(tǒng)實(shí)施 </p><p><b&
19、gt; 4.1數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)</b></p><p><b> 4.1.1定義數(shù)組</b></p><p> 定義一維數(shù)組struct worker work[50];用于定義員工的總?cè)藬?shù),當(dāng)員工總?cè)藬?shù)超過50后便不能再錄入員工資料。</p><p> 4.1.2定義結(jié)構(gòu)體</p><p> 結(jié)構(gòu)體s
20、truct worker用于存放存放員工的資料,包括員工的基本信息:工號(hào),姓名,年齡,學(xué)歷,工資,住址,電話號(hào)碼。</p><p> struct worker</p><p><b> {</b></p><p> int num; 工號(hào)</p><p> char name[15];
21、名字</p><p> char xingbie; 性別</p><p> int age; 年齡</p><p> char exp[6]; 學(xué)歷</p><p> int wage; 工資</p><p> char address[20]; 住址<
22、;/p><p> char tel[12]; 電話號(hào)碼</p><p><b> };</b></p><p> int count=0; 當(dāng)前工人個(gè)數(shù)</p><p> int sort_type=0; 當(dāng)前排序類型</p><p> 4.1
23、.3函數(shù)功能描述</p><p> 函數(shù)主界面:void homepage();</p><p> 顯示職工成績(jī)信息:void display();</p><p> 錄入職工信息信息:void input();</p><p> 刪除職工信息:void del();</p><p> 查詢職工信息:void
24、 find();</p><p> 排序職工信息:void sort();</p><p> 用戶等待函數(shù):void waiting();</p><p> 退出系統(tǒng)函數(shù): void quit();</p><p><b> 4.2界面設(shè)計(jì)</b></p><p> 4.2.1用戶登錄界
25、面</p><p> 此模塊用于歡迎界面,同時(shí)要求用戶輸入用戶名和密碼,只有當(dāng)兩者都正確時(shí),才能進(jìn)入到系統(tǒng),當(dāng)有三次錯(cuò)誤,系統(tǒng)就會(huì)自動(dòng)退出,如圖4-1所示。</p><p><b> 圖4-1</b></p><p><b> 代碼實(shí)現(xiàn):</b></p><p> void main()&l
26、t;/p><p> { int i=0,k=0;</p><p> char username[15],pwd[6];</p><p> for(i=0;i<3;i++)</p><p><b> {</b></p><p> printf("\n請(qǐng)輸入用戶名:"
27、;);</p><p> gets(username);</p><p> printf("\n請(qǐng)輸入6位密碼:");</p><p> gets(pwd);</p><p> if((strcmp(username,"admin")==0)&&(strcmp(pwd,"
28、;123456")==0))</p><p><b> {</b></p><p> printf("\n您已經(jīng)成功登錄");</p><p><b> k=1;</b></p><p> for(i=0;i<20;i++)</p><
29、p><b> {</b></p><p> printf(".");</p><p> Sleep(100);</p><p><b> }</b></p><p> system("cls");</p><p> h
30、omepage();</p><p><b> break;</b></p><p><b> }</b></p><p><b> else</b></p><p> printf("\n用戶名或密碼無效 請(qǐng)重新輸入:\n");</p>
31、<p><b> continue;</b></p><p><b> }</b></p><p><b> if(k==0)</b></p><p> printf("\n連續(xù)輸入錯(cuò)誤3次 將退出程序\n");</p><p> S
32、leep(2000);</p><p><b> quit();</b></p><p><b> }</b></p><p> 在此模塊中,if((strcmp(username,"Admin")==0)&&(strcmp(pwd,"123456")==0))
33、,用于檢測(cè)用戶名和密碼是否正確。</p><p> for(i=0;i<3;i++)</p><p><b> {</b></p><p> printf("\n請(qǐng)輸入用戶名:");</p><p> gets(username);</p><p> print
34、f("\n請(qǐng)輸入6位密碼:");</p><p> gets(pwd);</p><p> 此段代碼用于獲取賬戶名和密碼并計(jì)數(shù)是否超過三次,超過三次,則有Sleep(2000);實(shí)現(xiàn)退出程序。</p><p><b> 4.2.2 主界面</b></p><p> 此模塊主要實(shí)現(xiàn)進(jìn)入主界面和根
35、據(jù)用戶需要進(jìn)入相應(yīng)界面,包括顯示界面,錄入界面,刪除界面,排序界面并可以選擇退出,如圖4-2所示:</p><p><b> 圖4-2</b></p><p><b> 代碼實(shí)現(xiàn)</b></p><p> void homepage()</p><p><b> {</b&g
36、t;</p><p><b> char n;</b></p><p> while ((n!='1')&&(n!='2')&&(n!='3')&&(n!='4')&&(n!='5')&&(n!='
37、0'))</p><p><b> {</b></p><p> printf("\n請(qǐng)選擇:");</p><p> fflush(stdin);</p><p> scanf("%c",&n);</p><p><b>
38、 switch(n)</b></p><p><b> {</b></p><p><b> case '1':</b></p><p> display();</p><p><b> break;</b></p><
39、p><b> case '2':</b></p><p> if(count<50) input();</p><p><b> else</b></p><p> {printf("記錄數(shù)已滿\n");</p><p> Sleep(200
40、0);</p><p> system("cls");</p><p> homepage();</p><p><b> }</b></p><p><b> break;</b></p><p><b> ……</b>&
41、lt;/p><p> 此模塊中,switch(n),case()用于判定主界面的選項(xiàng),根據(jù)選項(xiàng)進(jìn)行設(shè)置。其中if(count<50)用于限制錄入員工的人數(shù),超過50名員工就無法再進(jìn)行錄入,并且直接通過sleep(2000);homepage()回到主界面上。</p><p><b> 4.2.3顯示界面</b></p><p> 此模塊
42、是用來顯示員工的資料信息的,包括工號(hào),姓名,性別,年齡,學(xué)歷,工資,住址,電話等基本信息,一邊管理員能夠及時(shí)的掌握到所要員工的資料。如圖4-3所示。</p><p><b> 圖4-3</b></p><p><b> 代碼實(shí)現(xiàn)</b></p><p> void display()</p><p
43、><b> {</b></p><p><b> int i;</b></p><p><b> char c;</b></p><p> printf("備注:學(xué)歷(1=中專,2=大專,3=本科,4=碩士,5=博士,6=其它):\n\n\n");</p>
44、<p> switch(sort_type)</p><p><b> {</b></p><p> case 0: printf("\t\t未排序:\n\n"); break;</p><p> case 1:printf("\t\t按工號(hào)排序:\n\n"); //sort();b
45、reak;</p><p> case 2:printf("\t\t按工資排序:\n\n");//sort();break;</p><p><b> }</b></p><p> printf("\t工號(hào)\t姓名\t性別\t年齡\t學(xué)歷\t工資\t住址\t電話\n");</p>&l
46、t;p><b> ……</b></p><p> 此模塊中有三種顯示方式,第一種是無序顯示,就是按照錄入時(shí)的順序顯示,,還有兩種分別是是按照工號(hào)和工資來排序。后兩種顯示方式主要是有switch(sort_type)語句來實(shí)現(xiàn)的,它相當(dāng)于一個(gè)開關(guān),與下面的case()相對(duì)應(yīng),相括號(hào)中的數(shù)字相對(duì)應(yīng)時(shí),就會(huì)執(zhí)行相應(yīng)的語句。</p><p><b> 4
47、.2.4錄入界面</b></p><p> 這個(gè)模塊主要是錄入員工資料,錄入的順序如圖所示,當(dāng)錄入的員工人數(shù)滿到50后,便不能再進(jìn)行錄入員工資料,此時(shí)已經(jīng)達(dá)到了錄入人數(shù)的最大值。如圖4-4所示。</p><p><b> 圖4-4</b></p><p><b> 代碼實(shí)現(xiàn)</b></p>
48、<p> void input()</p><p> { int i,numcheck;</p><p><b> char c;</b></p><p><b> do</b></p><p> { printf("工號(hào):\n");</p>
49、<p> scanf("%d",&work[count].num);</p><p> numcheck=1;</p><p> if(work[count].num<0)</p><p> printf("請(qǐng)輸入正整數(shù):\n");</p><p> for(i=0
50、;i<count;i++)</p><p><b> {</b></p><p> if(work[count].num==work[i].num)</p><p> { numcheck=0;</p><p> printf("工號(hào)重復(fù),重新輸入:\n");</p>&
51、lt;p><b> }</b></p><p><b> }</b></p><p><b> ……</b></p><p><b> do</b></p><p><b> {</b></p><
52、p> c=getchar();</p><p> if(c=='y'||c=='Y')</p><p><b> {</b></p><p><b> count++;</b></p><p><b> ……</b></p&
53、gt;<p> 此模塊中if(work[count].num==work[i].num);numcheck=0;很是重要,它判定錄入的工號(hào)是否重復(fù),重復(fù)的話會(huì)有重新輸入的提示,避免職工信息的重復(fù)。當(dāng)記錄數(shù)已滿時(shí),通過sleep(2000),使之回到主界面,進(jìn)行其他選項(xiàng)設(shè)置。</p><p> 4.2.5信息查詢界面</p><p> 此模塊用于職工信息的查詢,共分為兩種
54、查詢方式,一是按工號(hào)查詢,二是按學(xué)歷查詢。用if函數(shù)來實(shí)現(xiàn),可快速查詢到職工的姓名、工號(hào)、學(xué)歷、電話等詳細(xì)信息。如圖4-5所示。</p><p><b> 圖4-5</b></p><p><b> 代碼實(shí)現(xiàn)</b></p><p> void find()</p><p><b>
55、 {</b></p><p><b> int i,j;</b></p><p> int choice=0;</p><p> int find_num;</p><p> char findedu[6];</p><p><b> char c;</b&
56、gt;</p><p> system("cls");</p><p> printf("\t\t請(qǐng)選擇查詢功能:\n");</p><p> printf("\t1.按工號(hào)查詢\n");</p><p> printf("\t2.按學(xué)歷查詢\n");&l
57、t;/p><p> printf("請(qǐng)輸入選擇:");</p><p><b> do</b></p><p><b> {</b></p><p> scanf("%d",&choice);</p><p> }whil
58、e ((choice!=1)&&(choice!=2));</p><p> if (choice==1)</p><p><b> {</b></p><p> printf("\n\t請(qǐng)輸入要查詢的職工號(hào)\n");</p><p> scanf("%d"
59、,&find_num);</p><p> printf("\n正在查詢,請(qǐng)稍候");</p><p> for(i=0;i<20;i++)</p><p><b> {</b></p><p> printf(".");</p><p&g
60、t; Sleep(100);</p><p><b> }</b></p><p> system("cls");</p><p> printf("\n\n按任意鍵返回\n");</p><p> c=getch();</p><p> sys
61、tem("cls");</p><p> homepage();</p><p><b> }</b></p><p> 此模塊中,通過while ((choice!=1)&&(choice!=2));這個(gè)選擇來實(shí)現(xiàn)查詢的方式,選擇“1”為工號(hào)查詢,選擇“2”則為按學(xué)歷查詢。 if (find_num=
62、=work[i].num)即為根據(jù)職工號(hào)進(jìn)行查詢,strcmp(findedu,work[i].exp)根據(jù)學(xué)歷進(jìn)行職工信息查詢。</p><p><b> 4.2.6刪除界面</b></p><p> 此模塊用于刪除員工信息,對(duì)于已經(jīng)無用的員工信息進(jìn)行刪除,采用按工號(hào)刪除的模式。如圖4-6所示。</p><p><b> 圖4
63、-6</b></p><p><b> 代碼實(shí)現(xiàn)</b></p><p> void del()</p><p><b> {</b></p><p> int i,j,del_num,match=0;</p><p><b> char c;
64、</b></p><p> system("cls");</p><p> printf("請(qǐng)輸入要?jiǎng)h除的員工工號(hào):\n");</p><p> scanf("%d",&del_num);</p><p> waiting();</p>&l
65、t;p> for(i=0;i<count;i++)</p><p><b> {</b></p><p> if(work[i].num==del_num)</p><p><b> {</b></p><p><b> match=1;</b></
66、p><p> for(j=i;j<count;j++)</p><p> work[j]=work[j+1];</p><p><b> count--;</b></p><p><b> }</b></p><p><b> }</b>&l
67、t;/p><p> 此模塊中,首先還是要先進(jìn)職工信息查詢模塊,然后再根據(jù)查詢到的職工號(hào)進(jìn)行刪除。printf("%d",&del_num);即為顯示要?jiǎng)h除的職工號(hào),if(c=='y'||c=='Y')則是確定是否刪除選定的職工信息。最后通過homepage()回到主界面。 五、遇到的問題及解決辦法 </p&g
68、t;<p> 1.在一些字符或字符串的定義上出項(xiàng)錯(cuò)誤,如定義職工電話號(hào)碼的時(shí)候,用成了float類型,而正確的應(yīng)該是char類型。</p><p> 2.在進(jìn)行模塊函數(shù)設(shè)計(jì)時(shí),find()函數(shù)功能沒有設(shè)計(jì)好,導(dǎo)致部分函數(shù)代碼過長(zhǎng),可讀性降低,以至于再次重寫里面的一小部分代碼,浪費(fèi)了大量的時(shí)間。</p><p> 3.在整個(gè)程序設(shè)計(jì)編寫完成后,編譯時(shí)出現(xiàn)了大量的錯(cuò)誤,而且
69、里面大部分是因?yàn)榇笮憜栴},還有void拼錯(cuò)拼成viod,還有“;”沒有寫,后來經(jīng)過程序錯(cuò)誤查詢,一一更改了過來。</p><p> 4. 在編寫代碼時(shí)沒有添加注解,降低了在調(diào)試測(cè)試時(shí)程序的可讀性,同時(shí)也降低了與其他同學(xué)的交流,雖然在測(cè)試過程中我把全部的注解加上, 但也延長(zhǎng)了整個(gè)程序的開發(fā)時(shí)間。</p><p><b> 六、課程設(shè)計(jì)總結(jié)</b></p>
70、;<p> 通過此次學(xué)生成績(jī)信息管理系統(tǒng),讓我熟悉了軟件開發(fā)的流程,相信在以后的工作中我能在最短的時(shí)間內(nèi)投入到大的程序開發(fā)項(xiàng)目中。</p><p> 在進(jìn)行課程設(shè)計(jì)的前兩天,不知道從何入手,很是不解,不知道我們究竟要做什么。后來通過上網(wǎng)找資料,才發(fā)現(xiàn)有好多做法,根本就看不完,此時(shí)才真正意識(shí)到差距所在。于是,通過借鑒網(wǎng)絡(luò)作品,才發(fā)現(xiàn)作品并不是一味的照搬照抄才實(shí)用,集眾家之所成,不斷完善,才能造出屬
71、于自己的作品,并且實(shí)用。</p><p> 在整個(gè)課程設(shè)計(jì)中,我認(rèn)為最重要的就是耐心和細(xì)心。細(xì)心,就是在編寫過程中注意拼寫,仔細(xì)編寫程序;耐心,就是程序編譯中出現(xiàn)很多錯(cuò)誤的時(shí)候能夠耐心去修改,只有這樣,才能很好的完成程序。</p><p> 雖然在整個(gè)過程中出現(xiàn)了不少錯(cuò)誤,但最終還是圓滿完成了,此次程序設(shè)計(jì)的經(jīng)歷讓我學(xué)到了太多,同時(shí)也讓我理解到參加的項(xiàng)目越大越能學(xué)到知識(shí),因此以后我會(huì)積
72、極主動(dòng)的去參加一些項(xiàng)目,以此來提高自己的技能和編程經(jīng)驗(yàn)。</p><p><b> 七、參考文獻(xiàn)</b></p><p> 【1】.《實(shí)用c語言簡(jiǎn)明教程》李金祥、顧小晶主編</p><p> 【2】.《c++語言程序設(shè)計(jì)》,劉振安,劉燕君,孫忱,機(jī)械工業(yè)出版社;</p><p> 【3】.《C語言程序設(shè)計(jì)一體化案
73、例教程》,劉維富,清華大學(xué)出版社;</p><p> 【4】.《C語言課程設(shè)計(jì)》,黃明,梁旭,萬洪莉,電子工業(yè)出版。</p><p><b> 附錄(源程序代碼)</b></p><p> #include<stdio.h></p><p> #include<string.h></
74、p><p> #include<windows.h></p><p> #include<conio.h></p><p> void homepage(); //主界面</p><p> void display(); //顯示全部信息</p><p> v
75、oid input(); //錄入 插入</p><p> void find();</p><p> void del(); //刪除記錄</p><p> void sort(); //排序</p><p> void waiting(); //等待
76、界面</p><p> void quit(); //退出界面</p><p> struct worker</p><p><b> {</b></p><p> int num; //工號(hào)</p><p> char name[15]; //名字&
77、lt;/p><p> char xingbie; //性別</p><p> int age; //年齡</p><p> char exp[6]; //學(xué)歷</p><p> int wage; //工資</p><p> char address[20];//住址</p&
78、gt;<p> char tel[12]; //電話號(hào)碼</p><p><b> };</b></p><p> int count=0; //當(dāng)前工人個(gè)數(shù)</p><p> int sort_type=0; //當(dāng)前排序類型</p><p> stru
79、ct worker work[50];</p><p> void main()</p><p> { int i=0,k=0;</p><p> char username[15],pwd[6];</p><p> system("color 3f");</p><p> p
80、rintf("\n\n");</p><p> printf(" \t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");</p><p> printf(" \t┃**********************************************************┃\n");</
81、p><p> printf(" \t┃***┏━━━━━━━━━━━━━━━━━━━━━━━━┓***┃\n");</p><p> printf(" \t┃***┃************************************************┃***┃\n");</p><p> printf(&qu
82、ot; \t┃***┃*** ****┃***┃\n");</p><p> printf(" \t┃***┃*** 歡迎使用職工信息管理系統(tǒng) ****┃***┃\n");</p><p> printf(" \t┃***┃***
83、 ****┃***┃\n");</p><p> printf(" \t┃***┃*** ****┃***┃\n");</p><p> printf(" \t┃***┃***
84、 郝佳麗 ****┃***┃\n");</p><p> printf(" \t┃***┃*** ****┃***┃\n");</p><p> printf(" \t┃***┃***
85、 2011.06.20 ****┃***┃\n");</p><p> printf(" \t┃***┃*** ****┃***┃\n");</p><p> printf(" \t┃***┃*******************
86、*****************************┃***┃\n");</p><p> printf(" \t┃***┗━━━━━━━━━━━━━━━━━━━━━━━━┛***┃\n");</p><p> printf(" \t┃***************************************************
87、*******┃\n");</p><p> printf(" \t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n"); </p><p> for(i=0;i<3;i++)</p><p><b> {</b></p><p> printf(&q
88、uot;\n請(qǐng)輸入用戶名:");</p><p> gets(username);</p><p> printf("\n請(qǐng)輸入6位密碼:");</p><p> gets(pwd);</p><p> if((strcmp(username,"admin")==0)&&
89、;(strcmp(pwd,"123456")==0))</p><p><b> {</b></p><p> printf("\n您已經(jīng)成功登錄");</p><p><b> k=1;</b></p><p> for(i=0;i<20;i+
90、+)</p><p><b> {</b></p><p> printf(".");</p><p> Sleep(100);</p><p><b> }</b></p><p> system("cls");</p
91、><p> homepage();</p><p><b> break;</b></p><p><b> }</b></p><p><b> else</b></p><p> printf("\n用戶名或密碼無效 請(qǐng)重新輸入:\n
92、");</p><p><b> continue;</b></p><p><b> }</b></p><p><b> if(k==0)</b></p><p> printf("\n連續(xù)輸入錯(cuò)誤3次 將退出程序\n");</p
93、><p> Sleep(2000);</p><p><b> quit();</b></p><p><b> }</b></p><p> void homepage()</p><p><b> {</b></p><p&
94、gt;<b> char n;</b></p><p> printf("\n\n");</p><p> printf("\t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");</p><p> printf("\t┃**********************
95、**************************************┃\n");</p><p> printf("\t┃* * *┃\n");</p><p> printf("\t┃* 1.顯示員工資料
96、 * 2.錄入員工資料 *┃\n");</p><p> printf("\t┃* * *┃\n");</p><p> printf("\t┃**********************************
97、**************************┃\n");</p><p> printf("\t┃* * *┃\n");</p><p> printf("\t┃* 3.員工信息查詢 * 4.刪
98、除員工記錄 *┃\n");</p><p> printf("\t┃* * *┃\n");</p><p> printf("\t┃**********************************************
99、**************┃\n");</p><p> printf("\t┃* * *┃\n");</p><p> printf("\t┃* 5.員工信息排序 * 0.退出信息系統(tǒng)
100、 *┃\n");</p><p> printf("\t┃* * *┃\n");</p><p> printf("\t┃**********************************************************
101、**┃\n");</p><p> printf("\t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");</p><p> while ((n!='1')&&(n!='2')&&(n!='3')&&(n!='4')&am
102、p;&(n!='5')&&(n!='0'))</p><p><b> {</b></p><p> printf("\n請(qǐng)選擇:");</p><p> fflush(stdin);</p><p> scanf("%c&qu
103、ot;,&n);</p><p><b> switch(n)</b></p><p><b> {</b></p><p><b> case '1':</b></p><p> display();</p><p>&
104、lt;b> break;</b></p><p><b> case '2':</b></p><p> if(count<50)</p><p><b> input();</b></p><p><b> else</b>&
105、lt;/p><p><b> {</b></p><p> printf("記錄數(shù)已滿\n");</p><p> Sleep(2000);</p><p> system("cls");</p><p> homepage();</p>
106、<p><b> }</b></p><p><b> break;</b></p><p><b> case '3':</b></p><p><b> find();</b></p><p><b>
107、break;</b></p><p><b> case '4':</b></p><p><b> del();</b></p><p><b> break;</b></p><p><b> case '5':
108、</b></p><p><b> sort();</b></p><p><b> break;</b></p><p><b> case '0':</b></p><p><b> quit();</b></
109、p><p><b> break;</b></p><p><b> default:</b></p><p> printf("\n選項(xiàng)錯(cuò)誤\n");</p><p><b> }</b></p><p><b>
110、}</b></p><p><b> }</b></p><p> void display()</p><p><b> {</b></p><p><b> int i;</b></p><p><b> char c
111、;</b></p><p> system("cls");</p><p> printf("備注:學(xué)歷(1=中專,2=大專,3=本科,4=碩士,5=博士,6=其它):\n\n\n");</p><p> switch(sort_type)</p><p><b> {&l
112、t;/b></p><p><b> case 0:</b></p><p> printf("\t\t未排序:\n\n");</p><p><b> break;</b></p><p><b> case 1:</b></p>
113、<p> printf("\t\t按工號(hào)排序:\n\n");</p><p><b> //sort();</b></p><p><b> break;</b></p><p><b> case 2:</b></p><p> p
114、rintf("\t\t按工資排序:\n\n");</p><p><b> //sort();</b></p><p><b> break;</b></p><p><b> }</b></p><p> printf("\t工號(hào)\t姓名
115、\t性別\t年齡\t學(xué)歷\t工資\t住址\t電話\n");</p><p> if (count==0) printf("\n\t無員工信息!\n");</p><p> for(i=0;i<count;i++)</p><p><b> {</b></p><p> prin
116、tf("\t%d\t%s\t%c\t%d\t%s\t%d\t%s\t%s\n",work[i].num,work[i].name,work[i].xingbie,work[i].age,work[i].exp,work[i].wage,work[i].address,work[i].tel);</p><p><b> }</b></p><p>
117、; printf("\n\n按任意鍵返回\n");</p><p> c=getch();</p><p> system("cls");</p><p> homepage();</p><p><b> }</b></p><p> void
118、 input()</p><p><b> {</b></p><p> int i,numcheck;</p><p><b> char c;</b></p><p> system ("cls");</p><p><b> do
119、</b></p><p><b> {</b></p><p> printf("工號(hào):\n");</p><p> scanf("%d",&work[count].num);</p><p> numcheck=1;</p><p&
120、gt; if(work[count].num<0)</p><p> printf("請(qǐng)輸入正整數(shù):\n");</p><p> for(i=0;i<count;i++)</p><p><b> {</b></p><p> if(work[count].num==work[i
121、].num)</p><p><b> {</b></p><p> numcheck=0;</p><p> printf("工號(hào)重復(fù),重新輸入:\n");</p><p><b> }</b></p><p><b> }</
122、b></p><p> }while(!numcheck);{</p><p> printf("姓名:");</p><p> fflush(stdin);</p><p> scanf("%s",work[count].name);</p><p> fflu
123、sh(stdin);</p><p> printf("性別(F:M):");</p><p> scanf("%c",&work[count].xingbie);</p><p> printf("年齡:");</p><p> scanf("%d&quo
124、t;,&work[count].age);</p><p> fflush(stdin);</p><p> printf("學(xué)歷(1=中專,2=大專,3=本科,4=碩士,5=博士,6=其它):\n");</p><p> scanf("%s",work[count].exp);</p><p
125、> printf("工資:");</p><p> scanf("%d",&work[count].wage);</p><p> printf("住址:");</p><p> scanf("%s",work[count].address);</p>
126、<p> printf("電話:");</p><p> scanf("%s",work[count].tel);</p><p><b> }</b></p><p> printf("\n是否繼續(xù)輸入(y/n):\n");</p><p&g
127、t;<b> do</b></p><p><b> {</b></p><p> c=getchar();</p><p> if(c=='y'||c=='Y')</p><p><b> {</b></p><p
128、><b> count++;</b></p><p> if(count<50)</p><p><b> input();</b></p><p><b> else</b></p><p><b> {</b></p>
129、<p> printf("記錄數(shù)已滿\n");</p><p> Sleep(2000);</p><p> system("cls");</p><p> homepage();</p><p><b> }</b></p><p>
130、;<b> }</b></p><p> else if(c=='n'||c=='N')</p><p><b> {</b></p><p><b> count++;</b></p><p> system("cls&qu
131、ot;);</p><p> homepage();</p><p><b> }</b></p><p><b> else;</b></p><p> }while((c!='y')&&(c!='n')&&(c!='
132、Y')&&(c!='N'));</p><p><b> }</b></p><p> void del()</p><p><b> {</b></p><p> int i,j,del_num,match=0;</p><p&g
133、t;<b> char c;</b></p><p> system("cls");</p><p> printf("請(qǐng)輸入要?jiǎng)h除的員工工號(hào):\n");</p><p> scanf("%d",&del_num);</p><p> wait
134、ing();</p><p> for(i=0;i<count;i++)</p><p><b> {</b></p><p> if(work[i].num==del_num)</p><p><b> {</b></p><p><b> mat
135、ch=1;</b></p><p> for(j=i;j<count;j++)</p><p> work[j]=work[j+1];</p><p><b> count--;</b></p><p><b> }</b></p><p><
136、b> }</b></p><p> if(!match) printf("\n沒有要找的工號(hào).\n");</p><p> printf("\n是否繼續(xù)刪除?(y/n)");</p><p> fflush(stdin);</p><p><b> do</b
137、></p><p><b> {</b></p><p> c=getchar();</p><p> if(c=='y'||c=='Y')</p><p><b> {</b></p><p><b> del();
138、</b></p><p><b> }</b></p><p> else if(c=='n'||c=='N')</p><p><b> {</b></p><p> system("cls");</p><
139、;p> homepage();</p><p><b> }</b></p><p> }while((c!='y')&&(c!='n'));</p><p><b> }</b></p><p> void sort()</p&
140、gt;<p><b> {</b></p><p><b> int i,j;</b></p><p> int choice=0;</p><p> struct worker temp;</p><p> system("cls");</p>
141、;<p> printf("\t\t請(qǐng)選擇排序功能:\n");</p><p> printf("\t1.按工號(hào)排序\n");</p><p> printf("\t2.按工資排序\n");</p><p> printf("請(qǐng)輸入選擇:");</p>
142、<p><b> do</b></p><p><b> {</b></p><p> scanf("%d",&choice);</p><p> }while((choice!=1)&&(choice!=2));</p><p>
143、switch(choice)</p><p><b> {</b></p><p><b> case 1:</b></p><p><b> {</b></p><p> for(i=0;i<count-1;i++)</p><p>&l
144、t;b> {</b></p><p> for(j=0;j<count-i-1;j++)</p><p><b> {</b></p><p> if(work[j].num>work[j+1].num)</p><p><b> {</b></p>
145、;<p> temp=work[j];</p><p> work[j]=work[j+1];</p><p> work[j+1]=temp;</p><p><b> }</b></p><p><b> }</b></p><p><b&g
146、t; }</b></p><p> sort_type=1;</p><p><b> break;</b></p><p><b> }</b></p><p><b> case 2:</b></p><p><b>
溫馨提示
- 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. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 職工信息管理系統(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)
- 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ì)課程設(shè)計(jì)報(bào)告--職工信息管理系統(tǒng)
- c++課程設(shè)計(jì)--職工信息管理系統(tǒng)
- c-課程設(shè)計(jì)--- 職工信息管理系統(tǒng)
- c語言課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計(jì)--- 學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計(jì)——學(xué)生信息管理系統(tǒng)
- 教師信息管理系統(tǒng)(c語言課程設(shè)計(jì))
- c語言課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論