版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> C語言課程設(shè)計實驗總結(jié)</p><p><b> 一、需求分析:</b></p><p><b> 1.需求概述</b></p><p> 設(shè)計一個職工信息管理系統(tǒng),使之能提供以下功能:</p><p> (1)職工信息錄入功能</p><p>
2、 ?。?)職工信息瀏覽功能</p><p> ?。?)職工信息刪除功能</p><p> ?。?)職工信息修改功能</p><p> (5) 職工信息查詢功能 </p><p><b> 2.需求說明</b></p><p> (1)職工信息包括:職工號、姓名、性別、出生年月、學(xué)歷職務(wù)、工
3、資、住址、電話,并且職工號要求不重復(fù)。</p><p> ?。?)錄入的職工信息要求用文件形式保存,并對其進行瀏覽、查詢、修改、刪除等基本操作。</p><p> ?。?)對職工的信息分別按職工號、性別、姓名、工資四種方式進行查詢,并返回所有符合條件的職工信息。</p><p> ?。?)對職工信息的修改應(yīng)該逐個進行,一個職工的信息修改不應(yīng)影響其他職工的信息。<
4、;/p><p> ?。?)所設(shè)計的系統(tǒng)應(yīng)以菜單的方式工作,應(yīng)為用戶提供清晰的使用提示,依據(jù)用戶的選擇進行各種處理,并要求在此過程中能夠盡可能的兼容用戶使用過程中的異常情況。</p><p><b> 二、總體設(shè)計</b></p><p><b> 1.功能劃分</b></p><p> 該系統(tǒng)可以
5、按功能進行模塊劃分,如下圖所示:</p><p><b> 其中:</b></p><p> 菜單選擇模塊完成用戶的選擇,此模塊也是職工信息管理系統(tǒng)的入口,用戶所要進行的所有操作需要在此模塊中選擇,并調(diào)用相對應(yīng)的模塊實現(xiàn)相應(yīng)的功能。</p><p> 信息輸入模塊完成信息的錄入功能,輸入的信息包括:職工號、姓名、性別、出生年月、學(xué)歷職務(wù)、
6、工資、住址、電話。</p><p> 信息瀏覽模塊完成對所有的職工的信息的顯示。</p><p> 信息查詢模塊分四種查詢方式:按職工號查詢、按性別查詢、按姓名查詢、按職務(wù)查詢。并且輸出相對應(yīng)且符合要求的職工信息。</p><p> 信息修改模塊完成的是職工信息的修改功能。</p><p> 信息刪除模塊完成的是職工信息的刪除功能。&
7、lt;/p><p><b> 2.數(shù)據(jù)結(jié)構(gòu)</b></p><p> 本系統(tǒng)中的主要數(shù)據(jù)結(jié)構(gòu)為職工的信息,其中包含:職工號、姓名、性別、出生年月、學(xué)歷職務(wù)、工資、住址、電話等,其中的出生年月用結(jié)構(gòu)體表示,其中又包含:出生的年份、出生的月份、出生的日期。</p><p><b> 3.程序流程</b></p>
8、<p> 系統(tǒng)的執(zhí)行應(yīng)從功能菜單的選擇開始,依據(jù)用戶的選擇進行后續(xù)的處理,直到用戶選擇退出系統(tǒng)為止,其間應(yīng)對用戶的選擇做出判斷及異常處理。系統(tǒng)流程圖如下圖所示:</p><p> 三、詳細設(shè)計 </p><p><b> 1. 數(shù)據(jù)結(jié)構(gòu)</b></p><p><b> (1)職工信息:</b>&
9、lt;/p><p><b> struct Zg</b></p><p><b> {</b></p><p> char num[20]; //職工號</p><p> char name[15]; // 姓名</p><p> char sex; //性別</
10、p><p> struct Birthday birthday; //出生年月</p><p> char xueli[10]; //學(xué)歷</p><p> char position[15]; //職務(wù)</p><p> int wage; //工資</p><p> char address[20];住址&l
11、t;/p><p> char phone[12]; //電話</p><p><b> }zg[N];</b></p><p><b> (2)出生年月</b></p><p> struct Birthday //出生年月</p><p><b> {&l
12、t;/b></p><p><b> int year;</b></p><p> int month;</p><p><b> int day;</b></p><p><b> };</b></p><p> 2. 各個功能模塊的處
13、理流程</p><p> 對應(yīng)總體設(shè)計時的系統(tǒng)模塊圖,各個功能模塊的處 流程如下:</p><p><b> 菜單模塊</b></p><p><b> 清屏;</b></p><p><b> 繪制菜單界面;</b></p><p> 信息提
14、示,提示用戶選擇相應(yīng)的序號;</p><p> 判斷選擇序號是否正確;</p><p><b> 返回變量的值;</b></p><p><b> 信息錄入模塊</b></p><p><b> 定義相關(guān)變量;</b></p><p><b
15、> 判斷文件能否打開;</b></p><p> 提示需要輸入職工個數(shù);</p><p><b> for(循環(huán)條件)</b></p><p><b> {</b></p><p><b> 提示輸入信息;</b></p><p&
16、gt;<b> 將信息寫進文件;</b></p><p><b> }</b></p><p> 提示是否退出該菜單;</p><p><b> 關(guān)閉文件;</b></p><p><b> 瀏覽信息模塊</b></p><p
17、><b> 定義相關(guān)變量;</b></p><p><b> 判斷文件能否打開;</b></p><p><b> 輸出所有職工信息;</b></p><p><b> 關(guān)閉文件;</b></p><p><b> 信息查詢模塊&
18、lt;/b></p><p><b> 定義相關(guān)變量;</b></p><p><b> 判斷文件能否打開;</b></p><p><b> do</b></p><p><b> {</b></p><p><
19、;b> 清屏;</b></p><p><b> 輸出查詢菜單;</b></p><p> 提示用戶選擇相應(yīng)的序號;</p><p> switch(變量)</p><p><b> {</b></p><p><b> 判斷查詢方式;
20、</b></p><p><b> }</b></p><p> 提示是否退出該菜單;</p><p> }while(循環(huán)條件); </p><p><b> 按職工號查詢模塊</b></p><p><b> 定義相關(guān)變量;</b&
21、gt;</p><p><b> 判斷文件能否打開;</b></p><p><b> do</b></p><p><b> {</b></p><p><b> 信息提示;</b></p><p> for(;循環(huán)條件
22、;)</p><p><b> {</b></p><p><b> 判斷是否符合條件;</b></p><p><b> 若符合計數(shù)器加1;</b></p><p> 輸出符合的職工信息;</p><p><b> }</b&
23、gt;</p><p> 判斷計數(shù)器是否為0;</p><p> 若為0,輸出相關(guān)信息;</p><p> 提示是否退出該菜單;</p><p> }while(循環(huán)條件);</p><p><b> 按性別查詢模塊</b></p><p><b>
24、定義相關(guān)變量;</b></p><p><b> 判斷文件能否打開;</b></p><p><b> do</b></p><p><b> {</b></p><p><b> 信息提示;</b></p><p&
25、gt; for(;循環(huán)條件;)</p><p><b> {</b></p><p><b> 判斷是否符合條件;</b></p><p><b> 若符合計數(shù)器加1;</b></p><p> 輸出符合的職工信息;</p><p><b
26、> }</b></p><p> 判斷計數(shù)器是否為0;</p><p> 若為0,輸出相關(guān)信息;</p><p> 提示是否退出該菜單;</p><p> }while(循環(huán)條件);</p><p><b> 按姓名查詢模塊</b></p><p&
27、gt;<b> 定義相關(guān)變量;</b></p><p><b> 判斷文件能否打開;</b></p><p><b> do</b></p><p><b> {</b></p><p><b> 信息提示;</b><
28、/p><p> for(;循環(huán)條件;)</p><p><b> {</b></p><p><b> 判斷是否符合條件;</b></p><p><b> 若符合計數(shù)器加1;</b></p><p> 輸出符合的職工信息;</p>
29、<p><b> }</b></p><p> 判斷計數(shù)器是否為0;</p><p> 若為0,輸出相關(guān)信息;</p><p> 提示是否退出該菜單;</p><p> }while(循環(huán)條件);</p><p><b> 按職務(wù)查詢模塊</b><
30、/p><p><b> 定義相關(guān)變量;</b></p><p><b> 判斷文件能否打開;</b></p><p><b> do</b></p><p><b> {</b></p><p><b> 信息提示;
31、</b></p><p> for(;循環(huán)條件;)</p><p><b> {</b></p><p><b> 判斷是否符合條件;</b></p><p><b> 若符合計數(shù)器加1;</b></p><p> 輸出符合的職工信
32、息;</p><p><b> }</b></p><p> 判斷計數(shù)器是否為0;</p><p> 若為0,輸出相關(guān)信息;</p><p> 提示是否退出該菜單;</p><p> }while(循環(huán)條件);</p><p><b> 信息刪除模塊&
33、lt;/b></p><p><b> 定義相關(guān)變量</b></p><p><b> 判斷能否打開文件</b></p><p><b> 提示信息;</b></p><p><b> for(循環(huán)條件)</b></p><
34、;p><b> {</b></p><p> 判斷是否是要刪除的職工;</p><p> 若是則記標(biāo)志變量為1;</p><p> 若不是則將其寫入臨時文件;</p><p><b> }</b></p><p><b> 關(guān)閉相關(guān)文件;</
35、b></p><p><b> 判斷標(biāo)志變量的值;</b></p><p> 如果為1,則將源文件刪除,并將臨時文件重命名;</p><p> 否則輸出相關(guān)提示信息;</p><p><b> 提示退出該菜單; </b></p><p><b> 信
36、息修改模塊</b></p><p><b> 定義相關(guān)變量</b></p><p><b> 判斷能否打開文件</b></p><p><b> 提示信息;</b></p><p><b> for(循環(huán)條件)</b></p>
37、;<p><b> {</b></p><p> 判斷是否是要修改的職工;</p><p> 若是則記標(biāo)志變量為1,并將修改后的信息寫入臨時文件;</p><p> 若不是則將其寫入臨時文件;</p><p><b> }</b></p><p>&l
38、t;b> 關(guān)閉相關(guān)文件;</b></p><p><b> 判斷標(biāo)志變量的值;</b></p><p> 如果為1,則將源文件刪除,并將臨時文件重命名;</p><p> 否則輸出相關(guān)提示信息;</p><p><b> 提示退出該菜單;</b></p>&
39、lt;p><b> 四、詳細程序</b></p><p> # include<stdio.h></p><p> # include<stdlib.h></p><p> # include<conio.h></p><p> # include<string.
40、h></p><p> # define N 100</p><p> void welcome();//歡迎界面</p><p> int menu();//菜單</p><p> void input();//輸入函數(shù)</p><p> int pdnum(char num[20]);//判斷職工號
41、是否重復(fù)</p><p> int pdsex(char ch);//判斷輸入性別是否符合要求</p><p> void output();//輸出函數(shù)</p><p> void dayin(int i);//輸出所查詢的信息</p><p> int dq();//讀取文件中數(shù)據(jù)個數(shù)</p><p>
42、void search();//查詢函數(shù)</p><p> void searchzgnum();//按職工號查詢</p><p> void searchsex();//按性別查詢</p><p> void searchname();//按姓名查詢</p><p> void searchposition();//按職務(wù)查詢<
43、;/p><p> void del();//刪除函數(shù)</p><p> void xiugai();//修改函數(shù)</p><p> struct Birthday //出生年月</p><p><b> {</b></p><p><b> int year;</b>
44、</p><p> int month;</p><p><b> int day;</b></p><p><b> };</b></p><p><b> struct Zg</b></p><p><b> {</b>
45、;</p><p> char num[20]; //職工號</p><p> char name[15]; // 姓名</p><p> char sex; //性別</p><p> struct Birthday birthday; /
46、/出生年月</p><p> char xueli[10]; //學(xué)歷</p><p> char position[15]; //職務(wù)</p><p> int wage; //工資</p><p> char address[20];
47、 //住址</p><p> char phone[12]; //電話</p><p><b> }zg[N];</b></p><p> int Number=0;</p><p> /****************************主函數(shù)****************
48、**************/</p><p> int main()</p><p><b> {</b></p><p> fflush(stdin);</p><p> welcome();</p><p><b> while(1)</b></p>
49、;<p><b> {</b></p><p> switch(menu())</p><p><b> {</b></p><p> case 1:input();break;</p><p> case 2:output();break;</p><p
50、> case 3:search();break;</p><p> case 4:del();break;</p><p> case 5:xiugai();break;</p><p> case 6:exit(0);break;</p><p><b> }</b></p><p&
51、gt;<b> }</b></p><p><b> return 0;</b></p><p><b> }</b></p><p> /******************************歡迎界面****************************/</p>&l
52、t;p> void welcome()</p><p><b> {</b></p><p> system("cls");</p><p> printf("\n\t\5\5\3\3\3\3☆☆※★★※☆☆※★★※☆☆※★★※☆☆\3\3\3\3\3\3\3\3\3\3\3\3");<
53、;/p><p> printf("\n\t\5\5\3\3※◆◆☆☆◆◆◆◆◆◆※☆☆※◆◆◆◆◆◆☆☆◆◆※\3\3");</p><p> printf("\n\t\5\5\3\3\3\3\3\3★★ ★★\3\3\3\3\3\3\3\3\3");</p><p&
54、gt; printf("\n\t\5\5\3\3\3\3\3☆★☆☆★★☆ 歡 迎 進 入 ☆☆★☆☆★★\3\3\3\3\3\3\3");</p><p> printf("\n\t\5\5\3\3\3\3\3\3★★ ★★\3\3\3\3\3\3\3\3\3");</p><p
55、> printf("\n\t\5\5\3\3\3\3☆★☆☆★◆◆ 本 系 統(tǒng) ◆◆★☆☆★☆\3\3\3\3\3\3");</p><p> printf("\n\t\5\5\3\3\3\3\3\3★★ ★★\3\3\3\3\3\3\3\3\3");</p><p
56、> printf("\n\t\5\5\3\3\3\3\3\3☆☆※★★※☆☆※★★※☆☆※★★※☆☆\3\3\3\3\3\3\3\3\3\3");</p><p> printf("\n\t\5\5\3\3\3\3\3\3★★☆◆◆ 按任意鍵進入 ◆◆☆★★\3\3\3\3\3\3\3\3\3");</p><p> pri
57、ntf("\n\t\5\5\3\3\3\3☆☆※★★※☆☆※★★※☆☆※★★※☆☆\3\3\3\3\3\3\3\3\3\3\3\3\n");</p><p> fflush(stdin);</p><p><b> getch();</b></p><p><b> }</b></p>
58、<p> /******************************菜單****************************/</p><p> int menu()</p><p><b> {</b></p><p><b> int n;</b></p><p>
59、 system("cls");</p><p> printf("\t\t※◆※◆※◆※ 菜◆單 ※◆※◆※◆※\n");</p><p> printf("\t\t※ ※\n");</p><p> printf("\t\t※
60、 1.錄入 2.瀏覽 ※\n");</p><p> printf("\t\t※ 3.查詢 4.刪除 ※\n");</p><p> printf("\t\t※ 5.修改 6.退出 ※\n");</p><p>
61、 printf("\t\t※ ※\n");</p><p> printf("\t\t※◆※◆※◆※◆※◆※◆※◆※◆※※\n");</p><p> printf("\n\t\t--請輸入您的選擇的序號(1-6):[ ]--\b\b\b\b");</p&g
62、t;<p> fflush(stdin);</p><p> scanf("%d",&n);</p><p><b> while(1)</b></p><p><b> {</b></p><p> if(n<1 || n>6)<
63、;/p><p><b> {</b></p><p> printf("\t\t-----輸入錯誤!請重新選擇:[ ]----\b\b\b\b\b\b");</p><p> scanf("%d",&n);</p><p><b> }</b>&l
64、t;/p><p><b> else</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> return n;</b></p><p><b> }&
65、lt;/b></p><p> /******************************讀取文件中數(shù)據(jù)個數(shù)****************************/</p><p><b> int dq()</b></p><p><b> {</b></p><p> FIL
66、E *fp=NULL;</p><p><b> int i=0;</b></p><p> fp=fopen("職工信息登記表.txt","rb");</p><p> while(fread(&zg[i],sizeof(struct Zg),1,fp))</p><p
67、><b> i++;</b></p><p> fclose(fp);</p><p><b> return i;</b></p><p><b> }</b></p><p> /******************************錄入信息*****
68、***********************/</p><p> void input()</p><p><b> {</b></p><p><b> FILE *fp;</b></p><p> int i,number,flage;</p><p> if
69、((fp=fopen("職工信息登記表.txt","ab"))==NULL)</p><p><b> {</b></p><p> printf("文件 職工信息登記表.txt 不能打開!");</p><p><b> getch();</b></
70、p><p><b> exit(1);</b></p><p><b> }</b></p><p> printf("\t請輸入錄入職工數(shù):");</p><p> scanf("%d",&number);</p><p>
71、; for(i=0;i<number;i++)</p><p><b> {</b></p><p> printf("\t---請輸入第%d個職工的信息:---",i+1);</p><p><b> do</b></p><p><b> {<
72、/b></p><p> printf("\n請輸入職工號:");scanf("%s",&zg[i].num);</p><p> flage=pdnum(zg[i].num);</p><p> }while(flage==1);</p><p> printf("請輸
73、入姓名:");scanf("%s",&zg[i].name);</p><p><b> do</b></p><p><b> {</b></p><p> printf("請輸入性別(f/m):");scanf("%s",&zg
74、[i].sex);</p><p> flage=pdsex(zg[i].sex);</p><p> }while(flage==0);</p><p> printf("請輸入出生年月如(2010 6 7):");scanf("%d%d%d",&zg[i].birthday.year,&zg[i].b
75、irthday.month,&zg[i].birthday.day);</p><p> printf("請輸入學(xué)歷(junior,high,college,master,doctor):");scanf("%s",&zg[i].xueli);</p><p> printf("請輸入職務(wù):");scanf(&
76、quot;%s",&zg[i].position);</p><p> printf("請輸入工資:");scanf("%d",&zg[i].wage);</p><p> printf("請輸入住址:");scanf("%s",&zg[i].address);</p
77、><p> printf("請輸入電話:");scanf("%s",&zg[i].phone);</p><p> fwrite(&zg[i],sizeof(struct Zg),1,fp);</p><p><b> }</b></p><p> printf
78、("\t★★★★按任意鍵退出錄入菜單★★★★\n");</p><p><b> getch();</b></p><p> fclose(fp);</p><p><b> }</b></p><p> /******************************判斷
79、職工號是否重復(fù)****************************/</p><p> int pdnum(char num[20])</p><p><b> {</b></p><p><b> FILE *fp;</b></p><p> struct Zg temp;</p
80、><p> int i,flage=0;</p><p> if((fp=fopen("職工信息登記表.txt","rb"))==NULL)</p><p><b> {</b></p><p> printf("文件 職工信息登記表.txt 不能打開!")
81、;</p><p><b> getch();</b></p><p><b> exit(1);</b></p><p><b> }</b></p><p> while(fread(&temp,sizeof(struct Zg),1,fp)==1)<
82、/p><p><b> {</b></p><p> if(strcmp(temp.num,num)==0)</p><p><b> {</b></p><p> printf("\t此職工號已存在!請重新輸入");</p><p><b>
83、; flage=1;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> return(flage);</p><p><b&g
84、t; }</b></p><p> /******************************判斷輸入性別是否正確****************************/</p><p> int pdsex(char ch)</p><p><b> {</b></p><p> int f
85、lage;</p><p> if(ch=='f' || ch=='m')</p><p><b> flage=1;</b></p><p><b> else</b></p><p><b> flage=0;</b></p&g
86、t;<p> if(flage==0)</p><p> printf("\t**輸入錯誤!請重新輸入\n**");</p><p> return(flage);</p><p><b> }</b></p><p> /***************************
87、***輸出所查詢的信息****************************/</p><p> void dayin(int i)</p><p><b> {</b></p><p> printf("職工號:%s\n",zg[i].num);</p><p> printf("
88、;姓名:%s\n",zg[i].name);</p><p> printf("性別:%c\n",zg[i].sex);</p><p> printf("出生日期:%d %d %d\n",zg[i].birthday.year,zg[i].birthday.month,zg[i].birthday.day);</p>&
89、lt;p> printf("學(xué)歷:%s\n",zg[i].xueli);</p><p> printf("職務(wù):%s\n",zg[i].position);</p><p> printf("工資:%d\n",zg[i].wage);</p><p> printf("住址:%s\
90、n",zg[i].address);</p><p> printf("電話:%s\n\n",zg[i].phone);</p><p><b> }</b></p><p> /******************************輸出全部信息****************************/
91、</p><p> void output()</p><p><b> {</b></p><p><b> FILE *fp;</b></p><p> int count=0,i;</p><p> Number=dq();</p><p&
92、gt; if((fp=fopen("職工信息登記表.txt","rb"))==NULL)</p><p><b> {</b></p><p> printf("文件 職工信息登記表.txt 不能打開!");</p><p><b> getch();</b&g
93、t;</p><p><b> exit(1);</b></p><p><b> }</b></p><p> for(i=0;i<Number;i++)</p><p><b> {</b></p><p><b> day
94、in(i);</b></p><p><b> count++;</b></p><p><b> }</b></p><p> printf("\t共有%d個職工。\n",count);</p><p> printf("\t---按任意鍵退出瀏覽
95、菜單---\n");</p><p><b> getch();</b></p><p> fclose(fp);</p><p><b> }</b></p><p> /******************************查詢信息********************
96、********/</p><p> void search()</p><p><b> {</b></p><p> int choice;</p><p><b> char ch;</b></p><p><b> do</b><
97、/p><p><b> {</b></p><p> system("cls");</p><p> printf("\n\t★★★★★★★★★★★★★★★★\n");</p><p> printf("\t★ 請輸入你的查詢方式 ★\n")
98、;</p><p> printf("\t★ 1.職工號 2.性別 ★\n");</p><p> printf("\t★ 3.姓名 4.職務(wù) ★\n");</p><p> printf("\t★★★★★★★★★★★★★★★★\n");</p&g
99、t;<p> scanf("%d",&choice);</p><p> switch(choice)</p><p><b> {</b></p><p> case 1:searchzgnum();break;</p><p> case 2:searchsex()
100、;break;</p><p> case 3:searchname();break;</p><p> case 4:searchposition();break;</p><p> default:printf("\t輸入錯誤,沒有該功能!請返回重新選擇");break;</p><p><b> }
101、</b></p><p> printf("\n\n\t◇◇◇是否退出查詢菜單(y/n)?◇◇◇\n");</p><p> fflush(stdin);</p><p> ch=getchar();</p><p> }while(ch=='Y'||ch=='y');&
102、lt;/p><p><b> }</b></p><p> /******************************按職工號查詢信息****************************/</p><p> void searchzgnum()</p><p><b> {</b><
103、;/p><p><b> FILE *fp;</b></p><p><b> char ch;</b></p><p> int count=0,i;</p><p> char temp[20];</p><p> Number=dq();</p>&
104、lt;p> if((fp=fopen("職工信息登記表.txt","rb"))==NULL)</p><p><b> {</b></p><p> printf("\t----文件 職工信息登記表.txt 不能打開!----");</p><p><b> g
105、etch();</b></p><p><b> exit(1);</b></p><p><b> }</b></p><p><b> do</b></p><p><b> {</b></p><p>
106、printf("\t請輸入你要查詢的職工號:");</p><p> scanf("%s",&temp);</p><p> for(i=0;i<Number;i++)</p><p><b> {</b></p><p> if(strcmp(zg[i].n
107、um,temp)==0)</p><p><b> {</b></p><p><b> count++;</b></p><p><b> dayin(i);</b></p><p><b> }</b></p><p>
108、<b> }</b></p><p> if(count==0) /*count=0說明沒有該職工號的職工*/</p><p> printf("\t沒有該工號的職工!\n");</p><p> printf("\n\t★★★是否繼續(xù)按職工號查詢(y/n)?★★★");</p>
109、<p> fflush(stdin);</p><p> ch=getchar();</p><p> }while(ch=='y' ||ch=='Y');</p><p><b> }</b></p><p> /**************************
110、****按性別查詢信息****************************/</p><p> void searchsex()</p><p><b> {</b></p><p><b> FILE *fp;</b></p><p> int count=0,i;</p>
111、<p> char sex,ch;</p><p> Number=dq();</p><p> if((fp=fopen("職工信息登記表.txt","rb"))==NULL)</p><p><b> {</b></p><p> printf(&quo
112、t;\t----文件 職工信息登記表.txt 打不開!----");</p><p><b> getch();</b></p><p><b> exit(1);</b></p><p><b> }</b></p><p><b> do<
113、/b></p><p><b> {</b></p><p> printf("\t請輸入你要查詢的性別:");</p><p> fflush(stdin);</p><p> scanf("%c",&sex);</p><p>
114、for(i=0;i<Number;i++)</p><p><b> {</b></p><p> if(zg[i].sex==sex)</p><p><b> {</b></p><p><b> count++;</b></p><p&g
115、t;<b> dayin(i);</b></p><p><b> }</b></p><p><b> }</b></p><p> if(count==0)</p><p> printf("\t沒有該性別的職工!\n");</p>
116、<p> printf("\n\t★★★是否繼續(xù)按性別查詢(y/n)?★★★");</p><p> fflush(stdin);</p><p> ch=getchar();</p><p> }while(ch=='y' ||ch=='Y');</p><p>&l
117、t;b> }</b></p><p> /******************************按姓名查詢信息****************************/</p><p> void searchname()</p><p><b> {</b></p><p><b&
118、gt; FILE *fp;</b></p><p> int count=0,i;</p><p> char name[15];</p><p><b> char ch;</b></p><p> Number=dq();</p><p> if((fp=fopen(&
119、quot;職工信息登記表.txt","rb"))==NULL)</p><p><b> {</b></p><p> printf("\t----文件 職工信息登記表.txt 打不開!----");</p><p><b> getch();</b></p&g
120、t;<p><b> exit(1);</b></p><p><b> }</b></p><p><b> do</b></p><p><b> {</b></p><p> printf("\t請輸入你要查詢的姓名
121、:");</p><p> fflush(stdin);</p><p> scanf("%s",&name);</p><p> for(i=0;i<Number;i++)</p><p><b> {</b></p><p> if(str
122、cmp(zg[i].name,name)==0)</p><p><b> {</b></p><p><b> count++;</b></p><p><b> dayin(i);</b></p><p><b> }</b></p>
123、;<p><b> }</b></p><p> if(count==0)</p><p> printf("\t沒有該名字的職工!\n");</p><p> printf("\n\t★★★是否繼續(xù)按姓名查詢(y/n)?★★★");</p><p> ff
124、lush(stdin);</p><p> ch=getchar();</p><p> }while(ch=='y' ||ch=='Y');</p><p><b> }</b></p><p> /******************************按職務(wù)查詢信息***
125、*************************/</p><p> void searchposition()</p><p><b> {</b></p><p><b> FILE *fp;</b></p><p> int count=0,i;</p><p&g
126、t; char position[15];</p><p><b> char ch;</b></p><p> Number=dq();</p><p> if((fp=fopen("職工信息登記表.txt","rb"))==NULL)</p><p><b>
127、 {</b></p><p> printf("\t----文件 職工信息登記表.txt 打不開!----");</p><p><b> getch();</b></p><p><b> exit(1);</b></p><p><b> }&
128、lt;/b></p><p><b> do</b></p><p><b> {</b></p><p> printf("\t請輸入你要查詢的職務(wù):");</p><p> fflush(stdin);</p><p> scanf(&
129、quot;%s",&position);</p><p> for(i=0;i<Number;i++)</p><p><b> {</b></p><p> if(strcmp(zg[i].position,position)==0)</p><p><b> {</b&
130、gt;</p><p><b> count++;</b></p><p><b> dayin(i);</b></p><p><b> }</b></p><p><b> }</b></p><p> if(coun
131、t==0)</p><p> printf("\t沒有該職務(wù)的職工!\n");</p><p> printf("\n\t★★★是否繼續(xù)按職務(wù)查詢(y/n)?★★★");</p><p> fflush(stdin);</p><p> ch=getchar();</p><
132、p> }while(ch=='y' ||ch=='Y');</p><p><b> }</b></p><p> /******************************刪除信息****************************/</p><p> void del()</p&g
133、t;<p><b> {</b></p><p> FILE *fp,*fp2;</p><p> int i,flage=0;</p><p> char number[20],ch;</p><p> Number=dq();</p><p> if((fp=fope
134、n("職工信息登記表.txt","rb"))==NULL)</p><p><b> {</b></p><p> printf("文件 職工信息登記表.txt 打不開!\n");</p><p><b> getch();</b></p>&
135、lt;p><b> exit(1);</b></p><p><b> }</b></p><p> if((fp2=fopen("temp.txt","wb"))==NULL)</p><p><b> {</b></p><
136、p> printf("文件 temp.txt 打不開!\n");</p><p><b> getch();</b></p><p><b> exit(1);</b></p><p><b> }</b></p><p> printf(&
137、quot;請輸入你要刪除的職工號:");</p><p> scanf("%s",number);</p><p> for(i=0;i<Number;i++)</p><p><b> {</b></p><p> if(strcmp(zg[i].num,number)==0
138、)</p><p><b> {</b></p><p> printf("\t**你確定刪除該職工信息(y/n)?**");</p><p> fflush(stdin);</p><p> ch=getchar();</p><p> if(ch=='y&
139、#39;||ch=='Y')</p><p><b> {</b></p><p><b> flage=1;</b></p><p><b> }</b></p><p><b> else</b></p><
140、p> fwrite(&zg[i],sizeof(struct Zg),1,fp2);</p><p><b> }</b></p><p><b> else</b></p><p> fwrite(&zg[i],sizeof(struct Zg),1,fp2);</p><
141、;p><b> }</b></p><p> fclose(fp);</p><p> fclose(fp2);</p><p> if(flage==1)</p><p><b> {</b></p><p> remove("職工信息登記表.t
142、xt");</p><p> rename("temp.txt","職工信息登記表.txt");</p><p> printf("\t***刪除成功!***\n");</p><p><b> }</b></p><p><b>
143、else</b></p><p> printf("\t***未找到該職工號,刪除失??!***\n");</p><p> fclose(fp);</p><p> fclose(fp2);</p><p> printf("\n\t★★★★按任意鍵繼續(xù)★★★★");</p&g
144、t;<p><b> getch();</b></p><p><b> }</b></p><p> /**************************************修改信息********************************************/</p><p> v
145、oid xiugai()</p><p><b> {</b></p><p> struct Zg temp;</p><p> FILE *fp,*fp2;</p><p> char number[20],ch;</p><p> int i,flage=0;</p>
146、<p> Number=dq();</p><p> if((fp=fopen("職工信息登記表.txt","rb"))==NULL)</p><p><b> {</b></p><p> printf("文件 職工信息登記表.txt 打不開!\n");</
147、p><p><b> getch();</b></p><p><b> exit(1);</b></p><p><b> }</b></p><p> if((fp2=fopen("temp.txt","wb"))==NULL)&
148、lt;/p><p><b> {</b></p><p> printf("文件 temp.txt 打不開!\n");</p><p><b> getch();</b></p><p><b> exit(1);</b></p><
149、p><b> }</b></p><p> printf("\t請輸入你要修改的職工的職工號:");</p><p> scanf("%s",number);</p><p> for(i=0;i<Number;i++)</p><p><b> {
150、</b></p><p> if(strcmp(zg[i].num,number)==0)</p><p><b> {</b></p><p> printf("\t**你確定修改該職工信息(y/n)?**");</p><p> fflush(stdin);</p>
151、<p> ch=getchar();</p><p> if(ch=='y'||ch=='Y')</p><p><b> {</b></p><p> printf("\t請你輸入要修改的信息:\n");</p><p> printf(&qu
152、ot;\n請輸入職工號:");scanf("%s",&temp.num);</p><p> printf("請輸入姓名:");scanf("%s",&temp.name);</p><p> printf("請輸入性別(f/m):");scanf("%s",&
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【課程設(shè)計】c語言課程設(shè)計
- c語言課程設(shè)計實驗報告資料
- c語言課程設(shè)計
- c語言課程設(shè)計
- c語言課程設(shè)計
- c語言課程設(shè)計--c語言投票程序
- c語言圖形時鐘課程設(shè)計實驗報告
- c語言課程設(shè)計課程報
- c語言課程設(shè)計----實驗室管理系統(tǒng)
- c語言課程設(shè)計題目
- c語言課程設(shè)計報告
- c語言課程設(shè)計報告
- c語言課程設(shè)計--迷宮
- c語言課程設(shè)計 (2)
- c語言課程設(shè)計范例
- c語言課程設(shè)計報告
- c語言程序課程設(shè)計
- c語言課程設(shè)計報告
- c語言課程設(shè)計---c語言小車動畫程序
- c語言語言課程設(shè)計報告
評論
0/150
提交評論