版權(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> C語(yǔ)言課程設(shè)計(jì)</b></p><p> 一、題目:職工信息管理系統(tǒng)</p><p><b> 二、目的和要求</b></p><p> 目的:要求熟練掌握C語(yǔ)言的基本知識(shí)和編輯技能;</p><p> 基本掌握結(jié)構(gòu)化程序設(shè)計(jì)的基本思路和方法。</p>
2、;<p> 要求:設(shè)計(jì)一個(gè)職工信息管理系統(tǒng),使之能提供以下功能:</p><p> 1、應(yīng)提供一個(gè)界面來(lái)調(diào)用各個(gè)功能,調(diào)用界面和各個(gè)功能的操作界面應(yīng)盡可能清晰美觀!</p><p> 2、輸入功能:職工信息錄入(職工信息用文件保存),可以一次完成若干條記錄的輸入。</p><p> 3、瀏覽功能:完成對(duì)全部職工信息的顯示。</p>
3、<p> 4、查找功能:①完成按職工的職工號(hào)查詢(xún)職工的相關(guān)信息,并顯示。</p><p> ?、谕瓿砂绰毠さ膶W(xué)歷查詢(xún)職工的相關(guān)信息,并顯示。</p><p> ?、弁瓿砂绰毠さ碾娫捥?hào)碼查詢(xún)職工的相關(guān)信息,并顯示。</p><p> 5、刪除功能:通過(guò)輸入職工的姓名完成對(duì)該名職工的信息進(jìn)行刪除。</p><p> 6、添加功能
4、:完成添加新職工的信息的任務(wù)。</p><p> 7、修改功能:通過(guò)輸入職工的姓名完成對(duì)該名職工的信息進(jìn)行修改。</p><p> 8、退出職工信息管理系統(tǒng)。</p><p><b> 三、信息描述</b></p><p> 職工信息包括職工號(hào)、姓名、性別、年齡、學(xué)歷、工資、住址、電話等。</p>
5、<p><b> 四、解決方案</b></p><p> 1、首先進(jìn)行需求分析,搞清楚系統(tǒng)功能和任務(wù);</p><p> 2、然后在總體設(shè)計(jì)中確定模塊結(jié)構(gòu)、劃分功能模塊,將軟件功能需求分配給所劃分的最單元模塊。確定模塊間的聯(lián)系,確定數(shù)據(jù)結(jié)構(gòu)、文件結(jié)構(gòu)、數(shù)據(jù)庫(kù)模式,確定測(cè)試方法與策略;</p><p> 3、在詳細(xì)設(shè)計(jì)中,為每個(gè)
6、模塊確定采用的算法,選擇適當(dāng)?shù)墓ぞ弑磉_(dá)算法的過(guò)程(流程圖)來(lái)描述模塊的詳細(xì)過(guò)程。確定每一模塊采用的數(shù)據(jù)結(jié)構(gòu)和模塊接口的細(xì)節(jié),包括對(duì)系統(tǒng)外部的接口和用戶(hù)界面,對(duì)系統(tǒng)內(nèi)部其他模塊的接口;</p><p> 4、根據(jù)分析編寫(xiě)C語(yǔ)言代碼。</p><p><b> 五、進(jìn)度安排</b></p><p> 課程設(shè)計(jì)時(shí)間為兩周,分為五個(gè)階段完成:&l
7、t;/p><p> 分析設(shè)計(jì)階段。在老師的指導(dǎo)下自主學(xué)習(xí)和鉆研問(wèn)題,明確設(shè)計(jì)要求,找出現(xiàn)實(shí)方法。按照需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)幾個(gè)步驟進(jìn)行。這一階段前1-2天完成;</p><p> 編碼調(diào)試階段。根據(jù)設(shè)計(jì)分析方案編寫(xiě)C語(yǔ)言代碼,然后調(diào)試該代碼,實(shí)現(xiàn)課題要求的功能。這一階段在3-7天完成;</p><p> 總結(jié)報(bào)告階段??偨Y(jié)設(shè)計(jì)工作,寫(xiě)出課程設(shè)計(jì)說(shuō)明書(shū),包括需
8、求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試的步驟和內(nèi)容。這一階段在8-9天完成;</p><p><b> 考核階段。</b></p><p><b> 六、課程設(shè)計(jì)總結(jié)</b></p><p><b> 課程設(shè)計(jì)報(bào)告要求</b></p><p> 總結(jié)報(bào)告包括需求分析、總
9、體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼(詳細(xì)寫(xiě)出編程步驟)、測(cè)試的步驟和內(nèi)容、課程設(shè)計(jì)總結(jié)和參考資料等。</p><p><b> 七、參考資料</b></p><p> 《C程序設(shè)計(jì)》(第四版) 譚浩強(qiáng) 著 清華大學(xué)出版社</p><p> 《C程序設(shè)計(jì)學(xué)習(xí)輔導(dǎo)》(第四版 ) 譚浩強(qiáng) 編著 清華大學(xué)出版社</p><p>
10、<b> 目錄</b></p><p> 1.總體設(shè)計(jì)方案 ………………………………………………………………3</p><p> 2.使用說(shuō)明及運(yùn)行實(shí)例 ……………………………………………………5 </p><p> 3.項(xiàng)目源程序代碼 ……………………………………………………………10</p><p>
11、4.課程設(shè)計(jì)心得 ………………………………………………………………23</p><p><b> 總體設(shè)計(jì)方案</b></p><p> 一.系統(tǒng)的總體流程圖</p><p> 圖1.系統(tǒng)的總體流程圖</p><p> 二. 為了方便使用結(jié)構(gòu)此系統(tǒng)結(jié)構(gòu)均為全局類(lèi)型定義</p><p>
12、struct employee //定義一個(gè)職工信息的結(jié)構(gòu)體</p><p><b> {</b></p><p><b> int num;</b></p><p> char name[10];</p><p> char sex; </p><
13、;p><b> int age;</b></p><p> char xueli[30];</p><p><b> int wage;</b></p><p> char addr[30];</p><p> char tel[20];</p><p>
14、}em[100]; </p><p> 三.各模塊的功能和實(shí)現(xiàn)</p><p> 1.菜單模塊:顯示職工管理系統(tǒng)的主菜單,供用戶(hù)選擇所需的功能,通過(guò)自己定義的void menu()函數(shù)來(lái)實(shí)現(xiàn)。</p><p> 2.輸入模塊:輸入職工的工號(hào)、姓名以及其它的一些職工的相關(guān)信息,通過(guò)自己定義的void input()函數(shù)來(lái)實(shí)現(xiàn)。</p><
15、;p> 3.保存模塊:將內(nèi)存中職工的信息輸出到磁盤(pán)文件中,可以通過(guò)自己定義的void save(int)函數(shù)來(lái)實(shí)現(xiàn)。</p><p> 4.瀏覽模塊:瀏覽所有職工的相關(guān)信息,通過(guò)自己定義的void display()函數(shù)來(lái)實(shí)現(xiàn)。</p><p> 5.刪除模塊:刪除需要?jiǎng)h除的職工的所有信息,通過(guò)自己定義的void del()函數(shù)來(lái)實(shí)現(xiàn)。</p><p>
16、 6.添加模塊:添加需要添加的職工的相關(guān)信息,通過(guò)自己定義的void add()函數(shù)來(lái)實(shí)現(xiàn)。</p><p> 7.按職工號(hào)查詢(xún)模塊:可以按職工號(hào)來(lái)查詢(xún)職工的相關(guān)信息,通過(guò)自己定義的void search_num()函數(shù)來(lái)實(shí)現(xiàn)。</p><p> 8.按職工的的學(xué)歷查詢(xún)模塊:可以按職工的學(xué)歷來(lái)查詢(xún)職工的相關(guān)信息,通過(guò)自己定義的void search_xuelil函數(shù)來(lái)實(shí)現(xiàn)。</
17、p><p> 9.按職工的電話號(hào)碼查詢(xún)模塊:可以按職工的電話來(lái)查詢(xún)職工的相關(guān)信息,通過(guò)自己定義的void search_tel函數(shù)來(lái)實(shí)現(xiàn)。</p><p> 10.修改模塊:可以修改需要修改的職工的相關(guān)信息,通過(guò)自己定義的void modify()函數(shù) 來(lái)實(shí)現(xiàn)。</p><p> 11.退出系統(tǒng)模塊:退出職工信息管理系統(tǒng),通過(guò)頭文件windows.h中的exit(
18、0)函數(shù)來(lái)實(shí)現(xiàn)。</p><p><b> 使用說(shuō)明及運(yùn)行實(shí)例</b></p><p> 1.運(yùn)行程序,進(jìn)入職工信息管理系統(tǒng)的主菜單:</p><p> 圖1:進(jìn)入主菜單界面</p><p> 2.輸入數(shù)字“1”進(jìn)行錄入職工信息:</p><p><b> 圖2:錄入職工信息&
19、lt;/b></p><p> 3.輸入“y”返回主菜單(界面同圖1)。</p><p> 4.輸入“2”瀏覽職工信息:</p><p><b> 圖3:瀏覽職工信息</b></p><p> 5.輸入“y”后繼續(xù),輸入“3”進(jìn)行查詢(xún)職工信息:</p><p> 圖4:按職工號(hào)及學(xué)
20、歷查詢(xún)職工信息</p><p> 圖5:按電話號(hào)碼查詢(xún)職工信息</p><p> 6.進(jìn)入主菜單,輸入“4”進(jìn)行刪除職工信息:</p><p><b> 圖6:刪除職工信息</b></p><p> 7.進(jìn)入主菜單輸入“5”進(jìn)行添加職工信息:</p><p><b> 圖7:添
21、加職工信息</b></p><p> 8.進(jìn)入主菜單輸入“6”進(jìn)行修改職工信息:</p><p><b> 圖8:修改職工信息</b></p><p> 9.進(jìn)入主菜單輸入”7”退出職工信息管理系統(tǒng)。</p><p> 職工信息管理系統(tǒng)源程序代碼</p><p> #incl
22、ude <stdio.h></p><p> #include <windows.h></p><p> #include <string.h></p><p> #define N 100</p><p> struct employee</p><p><b>
23、 {</b></p><p><b> int num;</b></p><p> char name[20];</p><p> char sex; </p><p><b> int age;</b></p><p> char xueli[30
24、];</p><p><b> int wage;</b></p><p> char addr[30];</p><p> char tel[20];</p><p> }em[100]; /*定義一個(gè)結(jié)構(gòu)體*/</p><p> void menu();</p&g
25、t;<p> void input();</p><p> void save(int);</p><p> void display();</p><p> void del();</p><p> void add();</p><p> void search();</p>
26、<p> void search_num();</p><p> void search_xueli();</p><p> void search_tel();</p><p> void modify(); /*定義各函數(shù)*/</p><p> void main()</p><p><
27、;b> { </b></p><p><b> menu(); </b></p><p> int n,flag;</p><p><b> char a;</b></p><p><b> do</b></p><p>
28、;<b> {</b></p><p> printf("請(qǐng)選擇你需要操作的步驟(1--7):\n");</p><p> scanf("%d",&n);</p><p> if(n>=1&&n<=7)</p><p><b>
29、 {</b></p><p><b> flag=1;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> else</b></p><p>
30、<b> {</b></p><p><b> flag=0;</b></p><p> printf("您輸入有誤,請(qǐng)重新選擇!");</p><p><b> }</b></p><p><b> }</b></p&
31、gt;<p> while(flag==0);</p><p> while(flag==1)</p><p><b> {</b></p><p><b> switch(n)</b></p><p><b> {</b></p><
32、;p> case 1:printf(" ◆◆◆輸入職工信息◆◆◆\n");printf("\n");input();break;</p><p> case 2:printf(" ◆◆◆瀏覽職工信息◆◆◆\n");printf("\n");display();break;
33、</p><p> case 3:printf(" ◆◆◆按職工號(hào)查詢(xún)職工信息◆◆◆\n");printf("\n");search();break; </p><p> case 4:printf(" ◆◆◆刪除職工信息◆◆◆\n");printf("\n&quo
34、t;);del();break;</p><p> case 5:printf(" ◆◆◆添加職工信息◆◆◆\n");printf("\n");add();break;</p><p> case 6:printf(" ◆◆◆修改職工信息◆◆◆\n");printf(&qu
35、ot;\n");modify();break;</p><p> case 7:exit(0);break;</p><p> default :break;</p><p><b> }</b></p><p> getchar();</p><p> printf(&quo
36、t;\n");</p><p> printf("是否繼續(xù)進(jìn)行(y or n):\n");</p><p> scanf("%c",&a);</p><p> if(a=='y')</p><p><b> {</b></p>
37、<p><b> flag=1;</b></p><p> system("cls"); /*清屏*/</p><p> menu(); /*調(diào)用菜單函數(shù)*/</p><p> printf("請(qǐng)?jiān)俅芜x擇你需要操作的步驟(1--7):\n");</p><p>
38、; scanf("%d",&n);</p><p> printf("\n");</p><p><b> }</b></p><p><b> else </b></p><p><b> exit(0);</b>&l
39、t;/p><p><b> }</b></p><p><b> }</b></p><p> void menu() /*菜單函數(shù)*/</p><p><b> {</b></p><p> printf(" ****
40、********歡迎進(jìn)入職工信息管理系統(tǒng)**********\n");</p><p> printf(" 1.錄入職工信息");</p><p> printf(" 2.瀏覽職工信息\n");</p><p> printf(" 3.查詢(xún)職
41、工信息");</p><p> printf(" 4.刪除職工信息\n");</p><p> printf(" 5.添加職工信息");</p><p> printf(" 6.修改職工信息\n");</p><
42、p> printf(" 7.退出\n");</p><p> printf(" ********************謝謝使用******************\n");</p><p> printf("\n");</p><p> printf(&qu
43、ot;\n");</p><p><b> }</b></p><p> void input() /*錄入函數(shù)*/</p><p><b> {</b></p><p><b> int i,m;</b></p><p> pr
44、intf("請(qǐng)輸入需要?jiǎng)?chuàng)建信息的職工人數(shù)(1--100):\n");</p><p> scanf("%d",&m);</p><p> for (i=0;i<m;i++)</p><p><b> {</b></p><p> printf("請(qǐng)輸
45、入職工號(hào): ");</p><p> scanf("%d",&em[i].num);</p><p> printf("請(qǐng)輸入姓名: ");</p><p> scanf("%s",em[i].name);</p><p> getchar();</
46、p><p> printf("請(qǐng)輸入性別(f--女 m--男): ");</p><p> scanf("%c",&em[i].sex);</p><p> printf("請(qǐng)輸入年齡: ");</p><p> scanf("%d",&
47、em[i].age);</p><p> printf("請(qǐng)輸入學(xué)歷: ");</p><p> scanf("%s",em[i].xueli);</p><p> printf("請(qǐng)輸入工資: ");</p><p> scanf("%d",&
48、;em[i].wage);</p><p> printf("請(qǐng)輸入住址: ");</p><p> scanf("%s",em[i].addr);</p><p> printf("請(qǐng)輸入電話: ");</p><p> scanf("%s",em[
49、i].tel);</p><p> printf("\n");</p><p><b> }</b></p><p> printf("\n創(chuàng)建完畢!\n");</p><p><b> save(m);</b></p><p>
50、;<b> }</b></p><p> void save(int m) /*保存文件函數(shù)*/</p><p><b> {</b></p><p><b> int i;</b></p><p><b> FILE*fp;</b></
51、p><p> if ((fp=fopen("employee_list","wb"))==NULL)</p><p><b> {</b></p><p> printf ("cannot open file\n");</p><p><b> e
52、xit(0);</b></p><p><b> }</b></p><p> for (i=0;i<m;i++) /*將內(nèi)存中職工的信息輸出到磁盤(pán)文件中去*/</p><p> if (fwrite(&em[i],sizeof(struct employee),1,fp)!=1)</p><
53、p> printf("file write error\n");</p><p> fclose(fp);</p><p><b> }</b></p><p> int load() /*導(dǎo)入函數(shù)*/</p><p><b> {</b></p>
54、<p><b> FILE*fp;</b></p><p><b> int i=0;</b></p><p> if((fp=fopen("employee_list","rb"))==NULL)</p><p><b> {</b><
55、;/p><p> printf ("cannot open file\n");</p><p><b> exit(0);</b></p><p><b> }</b></p><p><b> else </b></p><p>
56、;<b> {</b></p><p><b> do </b></p><p><b> {</b></p><p> fread(&em[i],sizeof(struct employee),1,fp);</p><p><b> i++;<
57、;/b></p><p><b> }</b></p><p> while(feof(fp)==0);</p><p><b> }</b></p><p> fclose(fp);</p><p> return(i-1);</p><
58、p><b> }</b></p><p> void display() /*瀏覽函數(shù)*/</p><p><b> {</b></p><p><b> int i;</b></p><p> int m=load();</p><p&g
59、t; printf(" 職工號(hào)\t姓名\t\t性別\t\t年齡 \n");</p><p> for(i=0;i<m;i++) /*m為輸入部分的職工人數(shù)*/</p><p> printf("\n %d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age);
60、 </p><p> printf("\n 學(xué)歷\t\t工資\t\t住址\t\t電話 \n");</p><p> for(i=0;i<m;i++) /*m為輸入部分的職工人數(shù)*/</p><p> printf("\n %s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wag
61、e,em[i].addr,em[i].tel);</p><p><b> }</b></p><p> void del() /*刪除函數(shù)*/</p><p><b> {</b></p><p> int m=load();</p><p> int i,j
62、,n,t,flag;</p><p> char name[20];</p><p> printf("\n 原來(lái)的職工信息:\n");</p><p> display(); </p><p> printf("\n");</p><p> printf("
63、;請(qǐng)輸入要?jiǎng)h除的職工的姓名:\n");</p><p> scanf("%s",name);</p><p> for(flag=1,i=0;flag&&i<m;i++)</p><p><b> {</b></p><p> if(strcmp(em[i].n
64、ame,name)==0)</p><p><b> {</b></p><p> printf("\n已找到此人,原始記錄為:\n");</p><p> printf(" 職工號(hào)\t姓名\t\t性別\t\t年齡 \n");</p><p> printf(&quo
65、t;\n %d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age); </p><p> printf("\n 學(xué)歷\t\t工資\t\t住址\t\t電話 \n");</p><p> printf("\n %s\t%d\t\t%s\t%s\n",em
66、[i].xueli,em[i].wage,em[i].addr,em[i].tel); </p><p> printf("\n確實(shí)要?jiǎng)h除此人信息請(qǐng)按1,不刪除請(qǐng)按0\n");</p><p> scanf("%d",&n);</p><p><b> if(n==1)</b></p
67、><p><b> {</b></p><p> for(j=i;j<m-1;j++)</p><p><b> {</b></p><p> strcpy(em[j].name,em[j+1].name);</p><p> em[j].num=em[j+1].
68、num;</p><p> em[j].sex=em[j+1].sex;</p><p> em[j].age=em[j+1].age;</p><p> strcpy(em[j].xueli,em[j+1].xueli);</p><p> em[j].wage=em[j+1].wage; </p><p>
69、; strcpy(em[j].addr,em[j+1].addr);</p><p> strcpy(em[j].tel,em[j+1].tel);</p><p><b> }</b></p><p><b> flag=0;</b></p><p><b> }</b&
70、gt;</p><p><b> }</b></p><p><b> }</b></p><p><b> if(!flag)</b></p><p><b> m=m-1;</b></p><p><b>
71、else</b></p><p> printf("\n對(duì)不起,查無(wú)此人!\n");</p><p> printf("\n 瀏覽刪除后的所有職工信息:\n");</p><p> save(m); /*調(diào)用保存函數(shù)*/</p><p> display(); /*調(diào)用瀏覽
72、函數(shù)*/</p><p> printf("\n繼續(xù)刪除請(qǐng)按1,不再刪除請(qǐng)按0\n");</p><p> scanf("%d",&t);</p><p><b> switch(t)</b></p><p><b> {</b></p&
73、gt;<p> case 1:del();break;</p><p> case 0:break;</p><p> default :break;</p><p><b> }</b></p><p><b> }</b></p><p> vo
74、id add()/*添加函數(shù)*/</p><p><b> {</b></p><p><b> FILE*fp;</b></p><p><b> int n;</b></p><p> int count=0;</p><p><b&g
75、t; int i;</b></p><p> int m=load();</p><p> printf("\n 原來(lái)的職工信息:\n");</p><p> display(); </p><p> printf("\n");</p><p> fp=
76、fopen("emploee_list","a");</p><p> printf("請(qǐng)輸入想增加的職工數(shù):\n");</p><p> scanf("%d",&n);</p><p> for (i=m;i<(m+n);i++)</p><p&
77、gt;<b> {</b></p><p> printf("\n 請(qǐng)輸入新增加職工的信息:\n");</p><p> printf("請(qǐng)輸入職工號(hào): ");</p><p> scanf("%d",&em[i].num);</p><p>
78、 printf("\n");</p><p> printf("請(qǐng)輸入姓名: ");</p><p> scanf("%s",em[i].name);</p><p> getchar();</p><p> printf("請(qǐng)輸入性別(f--女 m--男):
79、 ");</p><p> scanf("%c",&em[i].sex);</p><p> printf("請(qǐng)輸入年齡: ");</p><p> scanf("%d",&em[i].age);</p><p> printf("請(qǐng)輸
80、入學(xué)歷: ");</p><p> scanf("%s",em[i].xueli);</p><p> printf("請(qǐng)輸入工資: ");</p><p> scanf("%d",&em[i].wage);</p><p> printf("
81、請(qǐng)輸入住址: ");</p><p> scanf("%s",em[i].addr);</p><p> printf("請(qǐng)輸入電話: ");</p><p> scanf("%s",em[i].tel);</p><p> printf("\n&qu
82、ot;);</p><p> count=count+1;</p><p> printf("已增加的人數(shù):\n");</p><p> printf("%d\n",count);</p><p><b> }</b></p><p> print
83、f("\n添加完畢!\n"); </p><p> m=m+count;</p><p> printf("\n瀏覽增加后的所有職工信息:\n");</p><p> printf("\n");</p><p><b> save(m);</b><
84、/p><p> display();</p><p> fclose(fp);</p><p><b> }</b></p><p> void search()/*查詢(xún)函數(shù)*/</p><p><b> {</b></p><p> int
85、t,flag;</p><p><b> do</b></p><p><b> {</b></p><p> printf("\n按職工號(hào)查詢(xún)請(qǐng)按1; 按學(xué)歷查詢(xún)請(qǐng)按2; 按電話號(hào)碼查詢(xún)請(qǐng)按3; 進(jìn)入主函數(shù)請(qǐng)按4\n");</p><p> scanf("
86、%d",&t);</p><p> if(t>=1&&t<=4)</p><p><b> {</b></p><p><b> flag=1;</b></p><p><b> break;</b></p>
87、<p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> flag=0;</b></p><p> printf("您輸入有誤,請(qǐng)重新選擇!&qu
88、ot;);</p><p><b> }</b></p><p><b> }</b></p><p> while(flag==0);</p><p> while(flag==1)</p><p><b> {</b></p>
89、<p><b> switch(t)</b></p><p><b> { </b></p><p> case 1:printf("按職工號(hào)查詢(xún)\n");search_num();break;</p><p> case 2:printf("按學(xué)歷查詢(xún)\n");
90、search_xueli();break;</p><p> case 3:printf("按電話號(hào)碼查詢(xún)\n");search_tel();break;</p><p> case 4:main();break;</p><p> default:break;</p><p><b> }</b&
91、gt;</p><p><b> }</b></p><p><b> }</b></p><p> void search_num()</p><p><b> {</b></p><p><b> int num;</b&g
92、t;</p><p><b> int i,t;</b></p><p> int m=load();</p><p> printf("請(qǐng)輸入要查找的職工號(hào):\n");</p><p> scanf("%d",&num);</p><p>
93、 for(i=0;i<m;i++)</p><p> if(num==em[i].num)</p><p><b> { </b></p><p> printf("\n已找到此人,其記錄為:\n");</p><p> printf(" 職工號(hào)\t姓名\t\t性別\t\
94、t年齡 \n");</p><p> printf("\n %d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age); </p><p> printf("\n 學(xué)歷\t\t工資\t\t住址\t\t電話 \n");</p><p
95、> printf("\n %s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel);</p><p><b> break;</b></p><p><b> }</b></p><p> if(i==m) <
96、;/p><p> printf("\n對(duì)不起,查無(wú)此人\n");</p><p> printf("\n");</p><p> printf("返回查詢(xún)函數(shù)請(qǐng)按1,繼續(xù)查詢(xún)職工號(hào)請(qǐng)按2\n");</p><p> scanf("%d",&t);<
97、;/p><p><b> switch(t)</b></p><p><b> { </b></p><p> case 1:search();break;</p><p> case 2: break;</p><p> default:break;</p>
98、;<p><b> }</b></p><p><b> }</b></p><p> void search_xueli()</p><p><b> {</b></p><p> char xueli[30];</p><p>
99、;<b> int i,t;</b></p><p> int m=load();</p><p> printf("請(qǐng)輸入要查找的學(xué)歷:\n");</p><p> scanf("%s",xueli);</p><p> for(i=0;i<m;i++)</
100、p><p> if(strcmp(em[i].xueli,xueli)==0)</p><p><b> {</b></p><p> printf("\n已找到,其記錄為:\n");</p><p> printf(" 職工號(hào)\t姓名\t\t性別\t\t年齡 \n");
101、</p><p> printf("\n %d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age); </p><p> printf("\n 學(xué)歷\t\t工資\t\t住址\t\t電話 \n");</p><p> printf(&qu
102、ot;\n %s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel); </p><p><b> }</b></p><p><b> if(i==m) </b></p><p> printf("\n對(duì)不起,查無(wú)此人\
103、n");</p><p> printf("\n");</p><p> printf("返回查詢(xún)函數(shù)請(qǐng)按1,繼續(xù)查詢(xún)學(xué)歷請(qǐng)按2\n");</p><p> scanf("%d",&t);</p><p><b> switch(t)</b&
104、gt;</p><p><b> { </b></p><p> case 1:search();break;</p><p> case 2:break;</p><p> default :break;</p><p><b> }</b></p>
105、<p><b> }</b></p><p> void search_tel()</p><p><b> {</b></p><p> char tel[20];</p><p><b> int i, t;</b></p><p&
106、gt; int m=load();</p><p> printf("請(qǐng)輸入要查找的電話號(hào)碼:\n");</p><p> scanf("%s",tel);</p><p> for(i=0;i<m;i++)</p><p> if(strcmp(tel,em[i].tel)==0)&l
107、t;/p><p><b> { </b></p><p> printf("\n已找到此人,其記錄為:\n");</p><p> printf(" 職工號(hào)\t姓名\t\t性別\t\t年齡 \n");</p><p> printf("\n %d\t\t%s
108、\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age); </p><p> printf("\n 學(xué)歷\t\t工資\t\t住址\t\t電話 \n");</p><p> printf("\n %s\t%d\t\t%s\t%s\n",em[i].xueli,em[i
109、].wage,em[i].addr,em[i].tel);</p><p><b> break;</b></p><p><b> }</b></p><p> if(i==m) </p><p> printf("\n對(duì)不起,查無(wú)此人\n");</p>
110、<p> printf("\n");</p><p> printf("返回查詢(xún)函數(shù)請(qǐng)按1,繼續(xù)查詢(xún)電話號(hào)碼請(qǐng)按2\n");</p><p> scanf("%d",&t);</p><p><b> switch(t)</b></p><
111、;p><b> { </b></p><p> case 1:search();break;</p><p> case 2:break;</p><p> default :break;</p><p><b> }</b></p><p><b>
112、; }</b></p><p> void modify() /*修改函數(shù)*/</p><p><b> {</b></p><p><b> int num;</b></p><p> char name[20];</p><p> char sex
113、; </p><p><b> int age;</b></p><p> char xueli[30];</p><p><b> int wage;</b></p><p> char addr[30];</p><p> char tel[20];</
114、p><p> int b,c,i,n,t,flag; </p><p> int m=load();</p><p> printf("\n 原來(lái)的職工信息:\n");</p><p> display(); </p><p> printf("\n");</p>
115、;<p> printf("請(qǐng)輸入要修改的職工的姓名:\n");</p><p> scanf("%s",name);</p><p> for(flag=1,i=0;flag&&i<m;i++)</p><p><b> {</b></p>&l
116、t;p> if(strcmp(em[i].name,name)==0)</p><p><b> {</b></p><p> printf("\n已找到此人,原始記錄為:\n");</p><p> printf(" 職工號(hào)\t姓名\t\t性別\t\t年齡 \n");</p&g
117、t;<p> printf("\n %d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age); </p><p> printf("\n 學(xué)歷\t\t工資\t\t住址\t\t電話 \n");</p><p> printf("\n %
118、s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel); </p><p> printf("\n確實(shí)要修改此人信息請(qǐng)按1 ; 不修改請(qǐng)按0\n");</p><p> scanf("%d",&n);</p><p><
119、;b> if(n==1)</b></p><p><b> {</b></p><p> printf("\n需要進(jìn)行修改的選項(xiàng)\n 1.職工號(hào) 2.姓名 3.性別 4.年齡 5.學(xué)歷 6.工資 7.住址 8.電話\n"); </p><p> printf("請(qǐng)輸入你想修改的那一項(xiàng)序號(hào)
120、:\n"); </p><p> scanf("%d",&c); </p><p> if(c>8||c<1) </p><p> printf("\n選擇錯(cuò)誤,請(qǐng)重新選擇!\n"); </p><p><b> }</b></p
121、><p><b> flag=0;</b></p><p><b> }</b></p><p><b> }</b></p><p> if(flag==1)</p><p> printf("\n對(duì)不起,查無(wú)此人!\n");
122、 </p><p><b> do </b></p><p><b> {</b></p><p> switch(c) /*因?yàn)楫?dāng)找到第i個(gè)職工時(shí),for語(yǔ)句后i自加了1,所以下面的應(yīng)該把改后的信息賦值給第i-1個(gè)人*/</p><p><b> { </b
123、></p><p> case 1:printf("職工號(hào)改為: ");</p><p> scanf("%d",&num);</p><p> em[i-1].num=num;</p><p><b> break; </b></p><
124、;p> case 2:printf("姓名改為: ");</p><p> scanf("%s",name);</p><p> strcpy(em[i-1].name,name); </p><p><b> break; </b></p><p> case
125、3:printf("性別改為: ");</p><p> getchar();</p><p> scanf("%c",&sex);</p><p> em[i-1].sex=sex;</p><p><b> break; </b></p><
126、;p> case 4:printf("年齡改為: ");</p><p> scanf("%d",&age);</p><p> em[i-1].age=age;</p><p><b> break; </b></p><p> case 5:print
127、f("學(xué)歷改為: ");</p><p> scanf("%s",xueli);</p><p> strcpy(em[i-1].xueli,xueli); </p><p><b> break; </b></p><p> case 6:printf("工資
128、改為: ");</p><p> scanf("%d",wage);</p><p><b> break; </b></p><p> case 7:printf("住址改為: ");</p><p> scanf("%s",addr);&
129、lt;/p><p> strcpy(em[i-1].addr,addr);</p><p><b> break; </b></p><p> case 8:printf("電話改為: ");</p><p> scanf("%s",tel);</p><
130、p> strcpy(em[i-1].tel,tel); </p><p><b> break; </b></p><p><b> } </b></p><p> printf("\n");</p><p> printf("\n是否確定所修改的信息
131、?\n 是 請(qǐng)按1 ; 不,重新修改 請(qǐng)按2: \n"); </p><p> scanf("%d",&b);</p><p><b> } </b></p><p> while(b==2);</p><p> printf("\n瀏覽修改后的所有職工信息:\
132、n");</p><p> printf("\n");</p><p><b> save(m);</b></p><p> display();</p><p> printf("\n繼續(xù)修改請(qǐng)按1,不再修改請(qǐng)按0\n");</p><p&g
133、t; scanf("%d",&t);</p><p><b> switch(t)</b></p><p><b> {</b></p><p> case 1:modify();break;</p><p> case 0:break;</p>
134、<p> default :break;</p><p><b> }</b></p><p><b> }</b></p><p><b> C語(yǔ)言課程設(shè)計(jì)心得</b></p><p> 通過(guò)這次課程設(shè)計(jì),增加了我們對(duì)軟件技術(shù)的了解,雖然還不明確軟件技術(shù)包
135、含的具體內(nèi)容,但從學(xué)習(xí)C語(yǔ)言這門(mén)課程開(kāi)始,已發(fā)現(xiàn)程序設(shè)計(jì)的好處,它對(duì)我們數(shù)學(xué)的學(xué)習(xí)也有很大的幫助。在學(xué)習(xí)C語(yǔ)言的過(guò)程中也學(xué)到和鞏固了許多計(jì)算機(jī)應(yīng)用基礎(chǔ)知識(shí),對(duì)計(jì)算機(jī)的機(jī)體也有了一個(gè)較為詳細(xì)的了解。在具體操作中對(duì)這學(xué)期所學(xué)的C語(yǔ)言的理論知識(shí)得到鞏固加強(qiáng),達(dá)到實(shí)訓(xùn)的目的,也發(fā)現(xiàn)自己的不足之處,為我們以后的c語(yǔ)言學(xué)習(xí)奠定了基礎(chǔ),同時(shí)體會(huì)到C語(yǔ)言具有的語(yǔ)句簡(jiǎn)潔,使用靈活,執(zhí)行效率高等特點(diǎn)。發(fā)現(xiàn)上機(jī)操作的重要作用,特別是對(duì)數(shù)組和循環(huán)有了深刻的理解
136、。通過(guò)實(shí)際操作,學(xué)會(huì) C語(yǔ)言程序編程的基本步驟、基本方法,開(kāi)發(fā)了自己的邏輯思維能力,培養(yǎng)了分析問(wèn)題、解決問(wèn)題的能力。</p><p> 由于本課題中的許多知識(shí)點(diǎn)都沒(méi)有學(xué)過(guò)都要靠自己到課外的資料中去查找。在用的時(shí)候難免出現(xiàn)這樣那樣的錯(cuò)誤。如開(kāi)始設(shè)計(jì)出來(lái)的菜單不是預(yù)想的那樣,而是總個(gè)窗中出現(xiàn)混亂。解決的這個(gè)問(wèn)題的辦法是調(diào)整。一個(gè)系統(tǒng)的菜單和提示信息非常重要。如果沒(méi)有這些用戶(hù)根本不知道怎么用你設(shè)計(jì)的這個(gè)系統(tǒng)。在設(shè)計(jì)的
137、調(diào)試過(guò)程中也無(wú)法順利的完成調(diào)試工作。有了一個(gè)清晰簡(jiǎn)單的菜單和一些提示信息這后,調(diào)試過(guò)程完成的非常順利。</p><p> 回顧起此次課程設(shè)計(jì),至今我們?nèi)愿锌H多,的確,從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,在這些日子里,可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我們懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所
138、學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,這畢竟第一次做的,難免會(huì)遇到過(guò)各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說(shuō)結(jié)構(gòu)體……通過(guò)這次課程設(shè)計(jì)之后,一定把以前所學(xué)過(guò)的知識(shí)本次課程設(shè)計(jì)結(jié)束了,對(duì)于我們的影響很大。我們通過(guò)這次實(shí)踐學(xué)到了許多知識(shí)。學(xué)到了設(shè)計(jì)一個(gè)簡(jiǎn)
139、單的系統(tǒng)。要注意哪些方面。也使我們知道自己哪些方面做得還不夠。</p><p> 但我們總結(jié)出了一點(diǎn)點(diǎn)的經(jīng)驗(yàn)如下:</p><p> ?、僖獙?duì)系統(tǒng)的功能和要求做出詳細(xì)的分析,并合理分解任務(wù)。 </p><p> ?、诎逊纸獬鰜?lái)的子任務(wù),做給一個(gè)相對(duì)獨(dú)立的模塊。</p><p> ③在設(shè)計(jì)一個(gè)模塊之前,要簡(jiǎn)單構(gòu)想一下總界面的顯視情況。<
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c語(yǔ)言課程設(shè)計(jì)報(bào)告--職工信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告----職工信息管理系統(tǒng)設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)--職工信息管理系統(tǒng)
- 職工信息管理系統(tǒng)c語(yǔ)言課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)職工信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)---職工信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)——職工信息管理系統(tǒng)
- c語(yǔ)言課程設(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ì)課程設(shè)計(jì)報(bào)告--職工信息管理系統(tǒng)
- c語(yǔ)言課程信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)報(bào)告課程信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)c語(yǔ)言課程設(shè)計(jì)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)報(bào)告----學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)c語(yǔ)言課程設(shè)計(jì)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---車(chē)票信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---學(xué)生信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---學(xué)生信息管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論