版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 算法與數(shù)據(jù)結構綜合實習</p><p><b> ——員工管理系統(tǒng)</b></p><p> 姓 名 </p><p> 學 號 </p><p> 班 級
2、</p><p> 指導教師 </p><p> 實習日期 2010年9月 17日</p><p><b> 一、需求分析</b></p><p> 隨著計算機的飛速發(fā)展,它的應用已經(jīng)十分廣泛,它在人們的生產(chǎn)、生活、工作和學習中發(fā)揮著重要的作用。例如一個現(xiàn)代化的公司,擁有數(shù)
3、千名的員工,那么如何管理這么龐大的職工信息檔案呢?這時,開發(fā)一個功能完善的職工信息管理系統(tǒng)就必不可少了。從職工的信息的查詢到管理實現(xiàn)了自動化的模式,從而提高了工作效率和減少工作中的出錯率,對公司內(nèi)部的員工管理更加方便。</p><p> 該系統(tǒng)主要管理職工的個人信息以便負責人對其更好的管理。其中輸入的數(shù)據(jù)包括:職工號 職位 姓名 性別 文化程度 工資 身體狀況。該系統(tǒng)具有的功能是:根據(jù)職工號對職工的信息進行輸
4、入、顯示、修改、追加、刪除、統(tǒng)計、查詢等。對各功能模塊的界面采用菜單顯示方式。本系統(tǒng)具有通用性,即可廣泛適用于多單位,多人數(shù),多功能的使用,并且系統(tǒng)采用模塊化設計,主體為一個主函數(shù),分別可以調(diào)用其他模塊,利用不同子模塊具有的不同功能,綜合完成系統(tǒng)功能,不但主體與子模塊間有相互聯(lián)系,各個子模塊間也有相互作用,從而實現(xiàn)了預期的功能。</p><p><b> 二、概要設計</b></p&
5、gt;<p><b> 1、抽象數(shù)據(jù)類型</b></p><p><b> ADT List{</b></p><p> 數(shù)據(jù)對象:D={ai|ai∈ElemSet,i=1,2,…,n,n≧0}</p><p> 數(shù)據(jù)關系:R1={﹤ai-1,ai﹥ai-1,ai∈D,i=1,2,…n}</p&
6、gt;<p><b> 基本操作:</b></p><p> Lnitlinklist(&L)</p><p> 操作結果:構造一個空的線性表L。</p><p> Insert(&L,i,e)</p><p> 初始條件:線性表L已存在,1≦i≦Listlength(L)+1&l
7、t;/p><p> 操作結果:在線性表的的第i個位置插入新的數(shù)據(jù)元素</p><p> Delete(&L,I,&e)</p><p> 初始條件:線性表L已存在,0﹤i≦listlength(L)+1</p><p> 操作結果:在L中刪除第i個元素</p><p><b> }ADT
8、 List</b></p><p> 2、本程序包含的函數(shù):</p><p> main() </p><p><b> manage();</b></p><p><b> query();</b></p
9、><p> communicate();</p><p><b> input();</b></p><p> display();</p><p><b> change();</b></p><p><b> del();</b></p&
10、gt;<p><b> count();</b></p><p><b> creat();</b></p><p> 3、程序中函數(shù)關系框圖如下:</p><p><b> 三、詳細設計</b></p><p><b> 1、創(chuàng)建數(shù)組<
11、/b></p><p> struct employee//職工基本情況</p><p><b> {</b></p><p> int num;//工號</p><p> int position;//職位1為董事長2為總經(jīng)理3為副總經(jīng)理等</p><p> char name[
12、8];//姓名</p><p> char sex[2];//性別f為女m為男</p><p> int age;//年齡</p><p> int cult;//文化程度1為專家2為博士3為碩士4為學士5為其他</p><p> int salary;//工資</p><p> int state;//健康
13、情況分為good,general,bad</p><p><b> }em[N];</b></p><p> struct communication//職工通訊錄</p><p><b> {</b></p><p> char name[8];</p><p>
14、 char officetel[13];</p><p> char hometel[13];</p><p> char handtel[13];</p><p> char address[13];</p><p><b> }empc[N];</b></p><p> struct
15、 empsalary//職工工資與姓名的文件</p><p><b> {</b></p><p> char name[8];</p><p> int salary;</p><p><b> }emps[N];</b></p><p><b> (2
16、)主函數(shù)</b></p><p> void main()</p><p><b> {</b></p><p> int choice;</p><p> char s[7];</p><p> int flag=0;</p><p><b&g
17、t; int n=3;</b></p><p><b> do</b></p><p><b> {</b></p><p> printf("~~~~~~~~~~\t\t\t~~~~~~~~~~~~\n");</p><p> printf("\
18、t\t歡迎進入職工管理系統(tǒng)中文版\n");</p><p> printf("制作人:黃瑩\t班級:計0801-1班\t學號:20082463\n");</p><p> printf("聯(lián)系地址:石家莊鐵道大學\n");</p><p> printf("%%%%%%%%%%%%%%%%%%%%%%
19、%%%%%\n");</p><p> printf("\t\t請你選擇操作類型:\n");</p><p> printf("==============\t\t==============\n");</p><p> printf("\t\t1進入管理系統(tǒng)\n");</p>
20、<p> printf("\t\t2進入查詢系統(tǒng)\n");</p><p> printf("\t\t3進入通訊錄\n");</p><p> printf("\t\t0退出系統(tǒng)\n");</p><p> printf("==============\t\t=========
21、=====\n");</p><p> scanf("%d",&choice);</p><p> switch(choice)</p><p><b> {</b></p><p><b> case 1:</b></p><p&g
22、t;<b> manage();</b></p><p><b> break;</b></p><p><b> case 2:</b></p><p><b> query();</b></p><p><b> break;<
23、;/b></p><p><b> case 3:</b></p><p> communicate();</p><p><b> break;</b></p><p><b> case 0:</b></p><p><b>
24、 {</b></p><p> printf("謝謝使用再見\n");</p><p><b> exit(0);</b></p><p><b> }</b></p><p><b> default:</b></p>
25、<p><b> {</b></p><p> printf("輸入有錯誤請重新輸入:\n");</p><p><b> return;</b></p><p><b> }</b></p><p><b> }</b&
26、gt;</p><p> }while(1);</p><p><b> }</b></p><p><b> ?。?)創(chuàng)建管理函數(shù)</b></p><p> void manage()</p><p><b> {</b></p>
27、<p> int choicemanage;</p><p> char choice='y';</p><p> while(choice=='y'||choice=='Y')</p><p><b> {</b></p><p> printf(&
28、quot;\t\t歡迎進入管理系統(tǒng)\n");</p><p> printf("===================\n");</p><p> printf("\t\t請你選擇操作類型:\n");</p><p> printf("\t\t1輸入職工信息\n");</p>
29、<p> printf("\t\t2顯示職工信息\n");</p><p> printf("\t\t3修改職工信息\n");</p><p> printf("\t\t4追加一個職工信息\n");</p><p> printf("\t\t5刪除一個職工信息\n");
30、</p><p> printf("\t\t6統(tǒng)計職工信息\n");</p><p> printf("\t\t0返回\n");</p><p> printf("=====================\n");</p><p> scanf("%d"
31、,&choicemanage);</p><p> switch(choicemanage)</p><p><b> {</b></p><p><b> case 1:</b></p><p> input();//輸入職工信息</p><p><b
32、> break;</b></p><p><b> case 2:</b></p><p> display();//顯示職工信息</p><p><b> break;</b></p><p><b> case 3:</b></p>
33、<p> change();//修改職工信息</p><p><b> break;</b></p><p><b> case 4:</b></p><p> add();//追加一個職工信息</p><p><b> break;</b></p&
34、gt;<p><b> case 5:</b></p><p> del();//刪除一個職工信息</p><p><b> break;</b></p><p><b> case 6:</b></p><p> count();//統(tǒng)計職工信息<
35、;/p><p><b> break;</b></p><p><b> case 0:</b></p><p> printf("謝謝你的使用再見\n");</p><p><b> return;</b></p><p>&l
36、t;b> default:</b></p><p> printf("你的輸入有錯請重新輸入\n");</p><p><b> }</b></p><p> printf("是否繼續(xù)管理?(y/n)");</p><p> scanf("%s
37、",&choice);</p><p><b> }</b></p><p> if(toupper(choice)=='N'||(choice)=='n')</p><p><b> {</b></p><p> printf("
38、輸入完畢,任意鍵返回\n");</p><p><b> getch();</b></p><p><b> return;</b></p><p><b> }</b></p><p><b> }</b></p><
39、;p><b> ?。?)創(chuàng)建輸入函數(shù)</b></p><p> void input()</p><p><b> {</b></p><p><b> FILE *fp;</b></p><p><b> int i=0;</b></
40、p><p> char choiceinput='y';</p><p> if((fp=fopen("employee.txt","w"))==NULL)</p><p><b> return;</b></p><p> while(choiceinput=
41、='y'||choiceinput=='Y')</p><p><b> {</b></p><p><b> i++;</b></p><p> printf("第%d個職工\n",i);</p><p> printf("\n
42、");</p><p> printf("請你輸入工號:\n");//輸入工號</p><p> scanf("%d",&em[i].num);</p><p> printf("\n");</p><p> printf("請你輸入職位:\n&q
43、uot;);//輸入職位</p><p> printf("1為董事長2為總經(jīng)理3為副總經(jīng)理\n");</p><p> printf("4為經(jīng)理5為副經(jīng)理6為秘書\n");</p><p> printf("7為技術員8為領班9為員工\n");</p><p> scanf
44、("%d",&em[i].position);</p><p> printf("\n");</p><p> printf("請你輸入姓名:\n");//輸入姓名</p><p> scanf("%s",em[i].name);</p><p>
45、 printf("\n");</p><p> printf("請你輸入性別以m為男f為女:\n");//輸入性別</p><p> scanf("%s",em[i].sex);</p><p> printf("\n");</p><p> printf
46、("請你輸入文化程度:\n");//輸入文化程度</p><p> printf("1為專家2為博士3為碩士4為學士5為其他\n");</p><p> scanf("%d",&em[i].cult);</p><p> printf("\n");</p>&
47、lt;p> printf("請你輸入工資:\n");//輸入工資</p><p> scanf("%d",&em[i].salary);</p><p> printf("\n");</p><p> printf("請你輸入身體情況:\n");//身體情況<
48、/p><p> printf("1好2為一般3為差\n");</p><p> scanf("%d",&em[i].state);</p><p> printf("\n");</p><p> printf("是否繼續(xù)輸入?(y/n)\n");<
49、;/p><p> scanf("%s",&choiceinput);</p><p> fwrite(&em[i],sizeof(struct employee),1,fp);</p><p><b> }</b></p><p> if(toupper(choiceinput)=
50、='N')</p><p><b> {</b></p><p> fclose(fp);</p><p> printf("輸入完畢,任意鍵返回\n");</p><p><b> getch();</b></p><p><
51、;b> return;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> ?。?)顯示職工信息</b></p><p> void display()//顯示職工信息</p>&
52、lt;p><b> {</b></p><p><b> FILE *fp;</b></p><p><b> int i;</b></p><p> if((fp=fopen("employee.txt","r"))==NULL)</p&g
53、t;<p><b> return;</b></p><p> printf("輸出結果:\n");</p><p> printf("工號 職位 姓名 性別 文化程度 工資 身體情況\n");</p><p> for(i=0;fread(&em[i
54、],sizeof(struct employee),1,fp)!=0;i++)</p><p><b> {</b></p><p> printf("工號%d\n",em[i].num);</p><p> printf("職位為%d\n",em[i].position);</p>
55、<p> printf("1為董事長2為總經(jīng)理3為副總經(jīng)理\n");</p><p> printf("4為經(jīng)理5為副經(jīng)理6為秘書\n");</p><p> printf("7為技術員8為領班9為員工\n");</p><p> printf("姓名為%s\n",em
56、[i].name);</p><p> printf("性別為%s\n",em[i].sex);</p><p> printf("其中m為男f為女\n");</p><p> printf("文化程度為%d\n",em[i].cult);</p><p> printf(&
57、quot;1為專家2為博士3為碩士4為學士5為其他\n");</p><p> printf("工資為%d\n",em[i].salary);</p><p> printf("身體情況為%d\n",em[i].state);</p><p> printf("1好2為一般3為差\n");&
58、lt;/p><p><b> }</b></p><p> printf("完畢按任意鍵返回\n");</p><p><b> getch();</b></p><p> fclose(fp);</p><p><b> return;&
59、lt;/b></p><p><b> }</b></p><p><b> ?。?)更改職工信息</b></p><p> void change()</p><p><b> {</b></p><p><b> FILE *
60、fp;</b></p><p><b> int i;</b></p><p> char chname[8];</p><p> int choicechange;</p><p> printf("請你輸入要修改的人的姓名:\n");</p><p>
61、 scanf("%s",&chname);</p><p> if((fp=fopen("employee.txt","w+"))==NULL)</p><p><b> {</b></p><p> printf("不能夠打開這個文件\n");<
62、;/p><p><b> return;</b></p><p><b> }</b></p><p> for(i=0;i<N;i++)</p><p><b> {</b></p><p> if(strcmp(chname,em[i].
63、name)==0)</p><p><b> {</b></p><p> printf("這是你要修改的人的信息\n");</p><p> printf("工號為%d職位為%d姓名為%s性別為%s文化程度為%d工資為%d身體為%d\n",em[i].num,em[i].position,em[i
64、].name,em[i].sex,em[i].cult,em[i].salary,em[i].state);</p><p> printf("------------------------------------------------------------\n");</p><p> printf("請你輸入要修改的部分:\n");<
65、;/p><p> printf("======================\n");</p><p> printf("1修改職位\n");</p><p> printf("2修改文化程度\n");</p><p> printf("3修改工資\n");
66、</p><p> printf("4修改身體情況\n");</p><p> printf("0退出系統(tǒng)\n");</p><p> printf("======================\n");</p><p> printf("請選擇\n")
67、;</p><p> scanf("%d",&choicechange);</p><p> switch(choicechange)</p><p><b> {</b></p><p><b> case 1:</b></p><p>
68、 em[i].position=changeposition();</p><p><b> break;</b></p><p><b> case 2:</b></p><p> em[i].cult=changecult();</p><p><b> break;<
69、/b></p><p><b> case 3:</b></p><p> em[i].salary=changesalary();</p><p><b> break;</b></p><p><b> case 4:</b></p><p
70、> em[i].state=changestate();</p><p><b> break;</b></p><p><b> case 0:</b></p><p><b> return;</b></p><p><b> default :&
71、lt;/b></p><p> printf("輸入有錯誤");</p><p><b> }</b></p><p> fwrite(&em[i],sizeof(struct employee),1,fp);</p><p><b> }</b></
72、p><p><b> } </b></p><p> fclose(fp);</p><p> printf("操作完成按任意鍵返回\n");</p><p><b> getch();</b></p><p><b> return;&l
73、t;/b></p><p><b> }</b></p><p> ?。?)追加一個職工信息</p><p> void add()</p><p><b> {</b></p><p> struct employee emp;</p><
74、p><b> FILE *fp;</b></p><p><b> int i=0;</b></p><p> if((fp=fopen("employee.txt","ab+"))==NULL)</p><p><b> {</b></p&
75、gt;<p> printf("不能夠打開這個文件\n");</p><p><b> getch();</b></p><p><b> return;</b></p><p><b> }</b></p><p> printf(
76、"請你輸入新人的內(nèi)容:\n");</p><p> printf("請你輸入工號:\n");//輸入工號</p><p> scanf("%d",&emp.num);</p><p> printf("請你輸入職位:\n");//輸入職位</p><p&
77、gt; printf("1為董事長2為總經(jīng)理3為副總經(jīng)理\n");</p><p> printf("4為經(jīng)理5為副經(jīng)理6為秘書\n");</p><p> printf("7為技術員8為領班9為員工\n");</p><p> scanf("%d",&emp.posit
78、ion);</p><p> printf("請你輸入姓名:\n");//輸入姓名</p><p> scanf("%s",emp.name);</p><p> printf("請你輸入性別以m為男f為女:\n");//輸入性別</p><p> scanf("%
79、s",emp.sex);</p><p> printf("請你輸入文化程度:\n");//輸入文化程度</p><p> printf("1為專家2為博士3為碩士4為學士5為其他\n");</p><p> scanf("%d",&emp.cult);</p><
80、;p> printf("請你輸入工資:\n");//輸入工資</p><p> scanf("%d",&emp.salary);</p><p> printf("請你輸入身體情況:\n");//身體情況</p><p> printf("1好2為一般3為差\n")
81、;</p><p> scanf("%d",&emp.state);</p><p> fwrite(&emp,sizeof(struct employee),1,fp);</p><p> rewind(fp);</p><p> printf("插入完畢,按任意鍵返回\n")
82、;</p><p><b> getch();</b></p><p> fclose(fp);</p><p><b> return;</b></p><p><b> }</b></p><p> ?。?)刪除一個職工信息</p>
83、;<p> void del()//刪除一個職工信息</p><p><b> {</b></p><p><b> int i=0;</b></p><p> char delname[8];</p><p><b> FILE *fp;</b><
84、;/p><p> if((fp=fopen("employee.txt","w"))==NULL)</p><p><b> {</b></p><p> printf("文件為空,不能夠打開\n");</p><p> printf("按任意鍵返
85、回\n");</p><p><b> getch();</b></p><p><b> return;</b></p><p><b> }</b></p><p> printf("請你輸入要刪除的人的姓名:\n");//刪除的職工的
86、信息</p><p> scanf("%s",delname);</p><p> for(i=0;fread(&em[i],sizeof(struct employee),1,fp)!=0;i++)</p><p><b> {</b></p><p> if(strcmp(em[i
87、].name,delname)!=0)</p><p> fwrite(&em[i],sizeof(struct employee),1,fp);</p><p><b> }</b></p><p> fclose(fp);</p><p> if((fp=fopen("employee.tx
88、t","r"))==NULL)//顯示新的職工的信息</p><p><b> return;</b></p><p> printf("新的職工的信息為:\n");</p><p> for(i=0;fread(&em[i],sizeof(struct employee),1,f
89、p)!=0;i++)</p><p><b> {</b></p><p> printf("工號%d",em[i].num);</p><p> printf("職位為%d",em[i].position);</p><p> printf("1為董事長2為總經(jīng)
90、理3為副總經(jīng)理\n");</p><p> printf("4為經(jīng)理5為副經(jīng)理6為秘書\n");</p><p> printf("7為技術員8為領班9為員工\n");</p><p> printf("姓名為%s",em[i].name[8]);</p><p>
91、 printf("性別為%s",em[i].sex[2]);</p><p> printf("其中m為男f為女");</p><p> printf("文化程度為%d",em[i].cult);</p><p> printf("1為專家2為博士3為碩士4為學士5為其他\n");
92、</p><p> printf("工資為%d",em[i].salary);</p><p> printf("身體情況為%d",em[i].state);</p><p> printf("1好2為一般3為差\n");</p><p> fclose(fp);</p
93、><p><b> }</b></p><p><b> }</b></p><p> ?。?)對職工信息進行統(tǒng)計</p><p> void count()</p><p><b> {</b></p><p><b&
94、gt; FILE *fp;</b></p><p><b> int i=0;</b></p><p> int num=0;//總?cè)藬?shù)統(tǒng)計</p><p> int mnum=0,fnum=0;//性別人數(shù)統(tǒng)計</p><p> int expernum=0,doctornum=0,mastern
95、um=0,bechelornum=0,othernum=0;//學位人數(shù)統(tǒng)計</p><p> int dsznum=0,zglnum=0,fzglnum=0,glnum=0,fglnum=0;//職位人數(shù)統(tǒng)計</p><p> int mishunum=0,jsynum=0,lbnum=0,ygnum=0;</p><p> if((fp=fopen(&qu
96、ot;employee.txt","r"))==NULL)</p><p><b> {</b></p><p> printf("不能夠打開這個文件\n");</p><p> printf("按任意鍵繼續(xù)\n");</p><p><b
97、> getch();</b></p><p><b> return;</b></p><p><b> }</b></p><p><b> do</b></p><p><b> {</b></p><p
98、> fread(&em[i],sizeof(struct employee),1,fp);</p><p> if(feof(fp))</p><p><b> break;</b></p><p><b> num++;</b></p><p> if(strcmp(em[
99、i].sex,"m")==0)</p><p><b> mnum++;</b></p><p> if(strcmp(em[i].sex,"f")==0)</p><p><b> fnum++;</b></p><p> if(em[i].cult
100、==1)</p><p> expernum++;</p><p> if(em[i].cult==2)</p><p> doctornum++;</p><p> if(em[i].cult==3)</p><p> masternum++;</p><p> if(em[i].
101、cult=4)</p><p> bechelornum++;</p><p> if(em[i].cult=5)</p><p> othernum++;</p><p> if(em[i].position==1)//職位統(tǒng)計</p><p><b> dsznum++;</b>&l
102、t;/p><p> if(em[i].position==2)</p><p><b> zglnum++;</b></p><p> if(em[i].position==3)</p><p> fzglnum++;</p><p> if(em[i].position==4)</p
103、><p><b> glnum++;</b></p><p> if(em[i].position==5)</p><p><b> fglnum++;</b></p><p> if(em[i].position==6)</p><p> mishunum++;<
104、;/p><p> if(em[i].position==7)</p><p><b> jsynum++;</b></p><p> if(em[i].position==8)</p><p><b> lbnum++;</b></p><p> if(em[i].po
105、sition==9)</p><p><b> ygnum++;</b></p><p><b> i++;</b></p><p> }while(1);</p><p> printf("總?cè)藬?shù)為%d\n",num);</p><p> pr
106、intf("====性別分類=====\n");</p><p> printf("男人數(shù)為%d\n",mnum);</p><p> printf("女人數(shù)為%d\n",fnum);</p><p> printf("=====文憑分類=====\n");</p>
107、<p> printf("專家數(shù)為%d\n",expernum);</p><p> printf("博士數(shù)為%d\n",doctornum);</p><p> printf("碩士數(shù)為%d\n",masternum);</p><p> printf("學士數(shù)為%d\n&qu
108、ot;,bechelornum);</p><p> printf("其他的數(shù)為%d\n",othernum);</p><p> printf("=====職位分類========\n");</p><p> printf("董事長數(shù)為%d\n",dsznum);</p><p&
109、gt; printf("總經(jīng)理數(shù)為%d\n",zglnum);</p><p> printf("副總經(jīng)理數(shù)為%d",fzglnum);</p><p> printf("經(jīng)理數(shù)為%d",glnum);</p><p> printf("副經(jīng)理數(shù)為%d",fglnum);<
110、/p><p> printf("秘書數(shù)為%d",mishunum);</p><p> printf("技術員數(shù)為%d",jsynum);</p><p> printf("領班人數(shù)為%d",lbnum);</p><p> printf("員工數(shù)為%d",y
111、gnum);</p><p> fclose(fp);</p><p><b> return;</b></p><p><b> }</b></p><p> ?。?0)查詢職工信息</p><p> void query()</p><p>
112、;<b> {</b></p><p><b> FILE *fp;</b></p><p><b> int i=0;</b></p><p> char quename[8];</p><p> if((fp=fopen("employee.txt&qu
113、ot;,"r"))==NULL)</p><p><b> {</b></p><p> printf("不能夠打開文件,按任意鍵返回\n");</p><p><b> getch();</b></p><p><b> return;&l
114、t;/b></p><p><b> }</b></p><p> printf("請你輸入要查詢的人的姓名\n");</p><p> scanf("%s",quename);</p><p> for(i=0;fread(&em[i],sizeof(str
115、uct employee),1,fp)!=0;i++)</p><p><b> {</b></p><p> if(strcmp(em[i].name,quename)==0) /*找到,并顯示該職工記錄*/</p><p><b> {</b></p><p> printf(&qu
116、ot;\t\t\n查詢到的職工號或姓名為的信息如下:\n");</p><p> printf("以下是你要查詢的人的信息\n");</p><p> printf("工號%d",em[i].num);</p><p> printf("職位為%d",em[i].position);<
117、/p><p> printf("\t1為董事長2為總經(jīng)理3為副總經(jīng)理\n");</p><p> printf("\t4為經(jīng)理5為副經(jīng)理6為秘書\n");</p><p> printf("\t7為技術員8為領班9為員工\n");</p><p> printf("姓名
118、為%s",em[i].name);</p><p> printf("性別為%s",em[i].sex);</p><p> printf("\t其中m為男f為女");</p><p> printf("文化程度為%d",em[i].cult);</p><p>
119、printf("\t1為專家2為博士3為碩士4為學士5為其他\n");</p><p> printf("工資為%d",em[i].salary);</p><p> printf("身體情況為%d",em[i].state);</p><p> printf("\n");<
120、/p><p> printf("查詢完畢,按任意鍵返回\n");</p><p><b> getch();</b></p><p> fclose(fp);</p><p><b> return;</b></p><p><b> }&
121、lt;/b></p><p><b> }</b></p><p> printf("沒有這樣的人,按任意鍵返回\n");</p><p><b> getch();</b></p><p> fclose(fp);</p><p><
122、b> return;</b></p><p><b> }</b></p><p> ?。?1)進入職工通訊錄</p><p> void communicate()</p><p><b> {</b></p><p> int choiceco
123、mmunicate;</p><p> printf("歡迎進入通訊錄系統(tǒng)\n"); </p><p> printf("請你選擇操作類型:\n");</p><p> printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");</p><p&
124、gt; printf("1為輸入通訊錄信息\n");</p><p> printf("2為查詢通訊錄信息\n");</p><p> printf("3為修改通訊錄信息\n");</p><p> printf("0為退出通訊錄系統(tǒng)\n");</p><p&
125、gt; printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");</p><p> scanf("%d",&choicecommunicate);</p><p> switch(choicecommunicate)</p><p><b> {</b
126、></p><p><b> case 1:</b></p><p> inputcommunicate();</p><p><b> break;</b></p><p><b> case 2:</b></p><p> query
127、communicate();</p><p><b> break;</b></p><p><b> case 3:</b></p><p> changecommunicate();</p><p><b> break;</b></p><p&
128、gt;<b> case 0:</b></p><p><b> {</b></p><p> printf("謝謝使用再見\n");</p><p> printf("按任意鍵返回\n");</p><p><b> getch();&l
129、t;/b></p><p><b> return;</b></p><p><b> }</b></p><p><b> default:</b></p><p> printf("輸入有錯\n");</p><p>
130、;<b> }</b></p><p><b> } </b></p><p><b> 四、調(diào)試分析</b></p><p> 在編完程序時,以運行會經(jīng)常出現(xiàn)了一些問題,比如丟掉分號,語句調(diào)用錯誤,變量定義錯誤等怎么也弄不好,后來經(jīng)過和同學交流討論和查閱有關資料終于將其克服了。</
131、p><p> 通過做這次課程設計,自己的感觸甚多,收獲也很多。這驗證了知識學到了還不一定是你自己的,只有自己真真正正地動手去做了,將自己學到的課本知識應用到實際中去,當遇到問題時,再細心地耐心地慢慢去推敲,去查找錯誤,看看是哪一步錯了,錯在哪里,找出問題后再翻翻課本,直到解決問題為止。這時,當你回頭看時,你會突然發(fā)現(xiàn)自己已經(jīng)學到了很多東西。我發(fā)現(xiàn)導致程序出現(xiàn)問題錯誤或運行不了,很大部分原因歸結于對課本知識點的不熟悉
132、或理解錯誤,這些要是不親自動手去做,光看課本是只能掌握基礎知識,在實踐中才能查漏補缺,將所學知識進行拓展和延伸,總結經(jīng)驗,為以后的進一步學習打下堅實基礎!</p><p><b> 五、用戶使用說明</b></p><p><b> 進入界面后:</b></p><p> 選1進入管理系統(tǒng)界面:</p>
133、<p> [1]輸入職工信息[2]顯示職工信息[3]修改職工信息[4]追加一個職工信息[5]刪除一個職工信息[6]統(tǒng)計一個職工信息;</p><p><b> 選2進入查詢系統(tǒng)</b></p><p><b> 選3進入通訊錄:</b></p><p> [1]選1進入通訊錄信息[2]查詢通訊錄信息[3
134、]修改通訊錄信息;</p><p><b> 選0退出系統(tǒng)</b></p><p><b> 六、調(diào)試結果</b></p><p><b> 七、附錄</b></p><p> #include <stdio.h></p><p>
135、 #include <string.h></p><p> #include <stdlib.h></p><p> #include <conio.h></p><p> #define N 100</p><p> struct employee//職工基本情況</p><p
136、><b> {</b></p><p> int num;//工號</p><p> int position;//職位1為董事長2為總經(jīng)理3為副總經(jīng)理等</p><p> char name[8];//姓名</p><p> char sex[2];//性別f為女m為男</p><p
137、> int age;//年齡</p><p> int cult;//文化程度1為專家2為博士3為碩士4為學士5為其他</p><p> int salary;//工資</p><p> int state;//健康情況分為good,general,bad</p><p><b> }em[N];</b>
138、</p><p> struct communication//職工通訊錄</p><p><b> {</b></p><p> char name[8];</p><p> char officetel[13];</p><p> char hometel[13];</p>
139、;<p> char handtel[13];</p><p> char address[13];</p><p><b> }empc[N];</b></p><p> struct empsalary//職工工資與姓名的文件</p><p><b> {</b><
140、/p><p> char name[8];</p><p> int salary;</p><p><b> }emps[N];</b></p><p> void manage();</p><p> void query();</p><p> void co
141、mmunicate();</p><p> void input();</p><p> void display();</p><p> void change();</p><p> void del();</p><p> void add();</p><p> void c
142、ount();</p><p> int changeposition();</p><p> int changecult();</p><p> int changesalary();</p><p> int changestate();</p><p> void querysalary();<
143、/p><p> void creat();</p><p> void inputcommunicate();</p><p> void querycommunicate();</p><p> void changecommunicate();</p><p> void changetel1();</
144、p><p> void changetel2();</p><p> void changetel3();</p><p> void main()</p><p><b> {</b></p><p> int choice;</p><p> char s[7]
145、;</p><p> int flag=0;</p><p><b> int n=3;</b></p><p><b> do</b></p><p><b> {</b></p><p> printf("~~~~~~~~~~\t
146、\t\t~~~~~~~~~~~~\n");</p><p> printf("\t\t歡迎進入職工管理系統(tǒng)中文版\n");</p><p> printf("制作人:黃瑩\t班級:計0801-1班\t學號:20082463\n");</p><p> printf("聯(lián)系地址:石家莊鐵道大學\n&qu
147、ot;);</p><p> printf("%%%%%%%%%%%%%%%%%%%%%%%%%%%\n");</p><p> printf("\t\t請你選擇操作類型:\n");</p><p> printf("==============\t\t==============\n");</
148、p><p> printf("\t\t1進入管理系統(tǒng)\n");</p><p> printf("\t\t2進入查詢系統(tǒng)\n");</p><p> printf("\t\t3進入通訊錄\n");</p><p> printf("\t\t0退出系統(tǒng)\n");
149、</p><p> printf("==============\t\t==============\n");</p><p> scanf("%d",&choice);</p><p> switch(choice)</p><p><b> {</b></
150、p><p><b> case 1:</b></p><p><b> manage();</b></p><p><b> break;</b></p><p><b> case 2:</b></p><p><b&g
151、t; query();</b></p><p><b> break;</b></p><p><b> case 3:</b></p><p> communicate();</p><p><b> break;</b></p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)結構課程設計---員工管理系統(tǒng)
- 數(shù)據(jù)結構課程設計---員工管理系統(tǒng)
- 數(shù)據(jù)結構與算法課程設計
- 算法與數(shù)據(jù)結構課程設計
- 數(shù)據(jù)結構課程設計--簡單的員工管理系統(tǒng)
- 數(shù)據(jù)結構課程設計--員工信息管理系統(tǒng)
- 數(shù)據(jù)結構與算法課程設計
- 數(shù)據(jù)結構及其應用(算法與數(shù)據(jù)結構課程設計)
- 數(shù)據(jù)結構課程設計---數(shù)據(jù)結構相關算法的演示系統(tǒng)
- 數(shù)據(jù)結構課程設計--- 數(shù)據(jù)結構各章算法的演示系統(tǒng)
- 數(shù)據(jù)結構與算法課程設計報告
- 數(shù)據(jù)結構與算法課程設計報告
- 算法與數(shù)據(jù)結構課程設計報告
- 數(shù)據(jù)結構與算法課程設計-- 簡單工資管理系統(tǒng)設計
- 算法與數(shù)據(jù)結構-課程設計報告
- 數(shù)據(jù)結構與算法課程設計報告
- 數(shù)據(jù)結構與算法分析課程設計
- 數(shù)據(jù)結構與算法課程設計題目
- 數(shù)據(jù)結構課程設計--排序算法演示系統(tǒng)
- 數(shù)據(jù)結構課程設計--企業(yè)員工信息管理系統(tǒng)設計與實現(xiàn)
評論
0/150
提交評論