版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> C語言課程設(shè)計 </b></p><p> 名稱:建筑工地信息管理系統(tǒng)</p><p><b> 目錄</b></p><p> 前言……………………………………………………………3</p><p> 題目要求………………………………………………………3<
2、;/p><p> 題目分析………………………………………………………3</p><p> 總體設(shè)計………………………………………………………3</p><p> 詳細設(shè)計………………………………………………………4</p><p> 5.1主函數(shù)…………………………………………………………4</p><p> 5
3、.2各功能模塊……………………………………………………6</p><p> 5.2.1數(shù)據(jù)輸入模塊……………………………………………6</p><p> 5.2.2刪除模塊…………………………………………………11</p><p> 5.2.3查找模塊…………………………………………………17</p><p> 5.2.4查找配對模塊
4、……………………………………………21</p><p> 六、上機操作…………………………………………………………24</p><p> 七、實習(xí)心得…………………………………………………………28</p><p> 八、附錄(程序源代碼)……………………………………………29</p><p><b> 前言</b&g
5、t;</p><p> 課程設(shè)計目的:C語言編程實踐是學(xué)習(xí)C語言的一個重要環(huán)節(jié),為提高學(xué)生的程序設(shè)計能力,通過課堂和上機實踐使學(xué)生的程序設(shè)計能力有一個上升的臺階。通過前四單元的溫故而知新、庖丁解牛、舉一反三、熟能生巧等過程的練習(xí)之后能夠解決一些簡單的實際問題。</p><p><b> 一、題目要求</b></p><p> 設(shè)計:“建筑
6、工地信息管理系統(tǒng)”</p><p> 建立如下4個文件(括號內(nèi)為文件中每條記錄的字段內(nèi)容):</p><p> 銷售商-配件-建筑工地 (銷售商號碼,配件號,工地號,數(shù)量)</p><p> 建筑工地 (工地號,名字,城市)</p><p> 配件 (配件號,配件名,顏色,重量,產(chǎn)地)</p><p> 銷售
7、商 (號碼,名字,狀態(tài),城市)</p><p><b> 功能:</b></p><p> 首先建立文件,然后插入數(shù)據(jù),并進行刪除、更新操作,最后進行查詢操作。</p><p> 查詢與供應(yīng)商所在城市相同的零件——供應(yīng)商,項目——供應(yīng)商記錄對。</p><p><b> 二、題目分析</b>
8、</p><p> 根據(jù)題目要求,建立文件,應(yīng)選擇結(jié)構(gòu)體數(shù)組來存放數(shù)據(jù),再定義一個全局變量和文件指針進行程序的運行,然后把數(shù)據(jù)信息存入文件中,所以要提供結(jié)構(gòu)體和文件的輸入輸出等操作;在程序中要進行數(shù)據(jù)的插入、刪除、更新、查詢等操作,所以需要建立相應(yīng)的模塊來實現(xiàn),為簡便起見,還應(yīng)建立一個主菜單,在每個模塊中建立相應(yīng)的副菜單;另外,還要提供鍵盤式選擇菜單來實現(xiàn)選擇功能,使程序在運行時達到要求。</p>
9、<p><b> 三、總體設(shè)計</b></p><p> 根據(jù)題目要求,可以將系統(tǒng)分為:</p><p><b> 插入數(shù)據(jù)模塊;</b></p><p><b> 刪除模塊;</b></p><p><b> 查詢模塊;</b>&l
10、t;/p><p><b> 查找配對;</b></p><p><b> 功能選擇菜</b></p><p> 圖1 系統(tǒng)功能模塊圖</p><p><b> 四、詳細設(shè)計</b></p><p><b> 一、主函數(shù)</b&g
11、t;</p><p> 【分析】 主函數(shù)一般設(shè)計得比較簡便,只提供輸入、處理和輸出部分的函數(shù)調(diào)用。其中各功能模塊用菜單方式選擇。其流程圖:</p><p> 圖2 主函數(shù)流程圖</p><p><b> 【程序】</b></p><p> /************************主菜單**
12、*******************************/ </p><p> void menu() </p><p><b> { int n;</b></p><p> puts("\t\t************建筑工地信息管理***********\n\n"); </p><p&g
13、t; puts("姓名:宋伯石"); </p><p> puts("學(xué)號:20101002811"); </p><p> puts("班學(xué)號:051103-18"); </p><p> puts("\t\t****************MENU*******************
14、\n\n"); </p><p> puts("\t\t\t\t1.輸入"); </p><p> puts("\t\t\t\t2.刪除");</p><p> puts("\t\t\t\t3.查找"); </p><p> puts("\t\t\t\
15、t4.配對");</p><p> puts("\t\t\t\t5.Exit"); </p><p> puts("\n\n\t\t**************************************\n"); </p><p> loop: printf("Choose your numbe
16、r (1-5):[ ]\b\b"); </p><p> scanf("%d",&n); </p><p> if(n<1||n>5) {printf("Error!");goto loop;} </p><p><b> else </b></p>
17、<p><b> {</b></p><p> switch(n) </p><p><b> { </b></p><p> case 1:enter();break; </p><p> case 2:delete();break; </p><p>
18、; case 3:search();break; </p><p> case 4:search2();break; </p><p> case 5:exit(0); </p><p><b> } </b></p><p><b> }</b></p><p&g
19、t;<b> } </b></p><p><b> main() </b></p><p><b> { </b></p><p><b> menu(); </b></p><p><b> } </b></p
20、><p><b> 二、各功能模塊設(shè)計</b></p><p><b> ?。?)數(shù)據(jù)輸入模塊</b></p><p> 【分析】 數(shù)據(jù)信息存放在文件中,用結(jié)構(gòu)體存放,方便數(shù)據(jù)輸入與數(shù)據(jù)的保存。另外,輸入模塊中建立副菜單,用以輸入四個文件的信息選項。</p><p> 圖3 數(shù)據(jù)輸入模塊流程
21、圖</p><p><b> 【程序】</b></p><p> /*****************************數(shù)據(jù)輸入模塊************************************/ </p><p> void sal_enter() </p><p><b> { &l
22、t;/b></p><p> int j; char c[2]; FILE *fp; </p><p> if((fp=fopen("data1.dat","wb"))==NULL) </p><p><b> { </b></p><p> printf("
23、;Can not open the file!\n"); </p><p><b> exit(0); </b></p><p><b> } </b></p><p> for(j=0;j<i;j++) </p><p> fread(&sal[j],size
24、of(struct sale),1,fp); </p><p><b> while(1) </b></p><p><b> { </b></p><p> printf("輸入銷售商號碼:\n"); </p><p> scanf("%d",&
25、amp;sal[i].num1); </p><p> printf("輸入配件號碼:\n"); </p><p> scanf("%d",&sal[i].num2); </p><p> printf("輸入工地號碼:\n"); </p><p> scanf(&q
26、uot;%d",&sal[i].num3); </p><p> printf("輸入數(shù)量r:\n"); </p><p> scanf("%d",&sal[i].num4); </p><p> if(fwrite(&sal[i++],sizeof(struct sale),1,fp)
27、!=1) </p><p> printf("File write error\n"); </p><p> else printf("Successful!\n"); </p><p> loop:printf("是否繼續(xù)?( 是[y]/否[n]) \n"); </p><p&g
28、t; scanf("%s",c); </p><p> if(strcmp(c,"n")==0) break;</p><p><b> else </b></p><p><b> { </b></p><p> if(strcmp(c,&quo
29、t;y")!=0)</p><p> {printf("error!\n");goto loop;}</p><p><b> }</b></p><p><b> } </b></p><p> fclose(fp);</p><p>
30、<b> menu(); </b></p><p><b> } </b></p><p> void build_enter() </p><p><b> { </b></p><p> int j; char c[2]; FILE *fp; </p>
31、<p> if((fp=fopen("data2.dat","wb"))==NULL) </p><p><b> { </b></p><p> printf("Can not open the file!\n"); </p><p><b> exi
32、t(0); </b></p><p><b> } </b></p><p> for(j=0;j<i;j++) </p><p> fwrite(&build[j],sizeof(struct building),1,fp); </p><p><b> while(1)
33、 </b></p><p><b> { </b></p><p> printf("輸入項目號碼:\n"); </p><p> scanf("%d",&build[i].num1); </p><p> printf("輸入工地號:\n&q
34、uot;); </p><p> scanf("%d",&build[i].num); </p><p> printf("輸入工地名:\n"); </p><p> scanf("%s",build[i].name); </p><p> printf("
35、輸入工地城市:\n"); </p><p> scanf("%s",build[i].city); </p><p> if(fwrite(&build[i++],sizeof(struct building),1,fp)!=1) </p><p> printf("File write error\n"
36、;); </p><p> else printf("Successful!\n"); </p><p> loop:printf("是否繼續(xù)?( 是[y]/否[n]) \n"); </p><p> scanf("%s",c); </p><p> if(strcmp(c,
37、"n")==0)break;</p><p><b> else </b></p><p><b> { </b></p><p> if(strcmp(c,"y")!=0)</p><p> {printf("error!\n")
38、;goto loop;}</p><p><b> } </b></p><p><b> } </b></p><p> fclose(fp);</p><p><b> menu(); </b></p><p><b> }
39、</b></p><p> void pj_enter() </p><p><b> {</b></p><p> int j; char c[2]; FILE *fp; </p><p> if((fp=fopen("data3.dat","wb"))==N
40、ULL) </p><p><b> { </b></p><p> printf("Can not open the file!\n"); </p><p><b> exit(0); </b></p><p><b> } </b></p&
41、gt;<p> for(j=0;j<i;j++) </p><p> fwrite(&pj[j],sizeof(struct peijian),1,fp); </p><p><b> while(1) </b></p><p><b> { </b></p><
42、p> printf("輸入配件號:\n"); </p><p> scanf("%d",&pj[i].num); </p><p> printf("輸入配件名:\n"); </p><p> scanf("%s",pj[i].name); </p>
43、<p> printf("輸入配件顏色:\n"); </p><p> scanf("%s",pj[i].color); </p><p> printf("輸入配件重量:\n"); </p><p> scanf("%d",&pj[i].weight); &l
44、t;/p><p> printf("輸入配件產(chǎn)地:\n"); </p><p> scanf("%s",pj[i].area); </p><p> if(fwrite(&pj[i++],sizeof(struct peijian),1,fp)!=1) </p><p> printf(&q
45、uot;File write error\n"); </p><p> else printf("Successful!\n"); </p><p> loop:printf("Is there any more?( Yes[y]/No[n]) \n"); </p><p> scanf("%s&qu
46、ot;,c); </p><p> if(strcmp(c,"n")==0)break;</p><p><b> else </b></p><p><b> { </b></p><p> if(strcmp(c,"y")!=0)</p>
47、;<p> {printf("error!\n");goto loop;}</p><p><b> } </b></p><p><b> } </b></p><p> fclose(fp);</p><p><b> menu(); &
48、lt;/b></p><p><b> } </b></p><p> void SET_enter () </p><p><b> { </b></p><p> int j; char c[2]; FILE *fp; </p><p> if((fp=f
49、open("data4.dat","wb"))==NULL) </p><p><b> { </b></p><p> printf("Can not open the file!\n"); </p><p><b> exit(0); </b></
50、p><p><b> } </b></p><p> for(j=0;j<i;j++) </p><p> fwrite(&sel[j],sizeof(struct seller),1,fp); </p><p><b> while(1) </b></p>&l
51、t;p><b> { </b></p><p> printf("輸入銷售商號:\n"); </p><p> scanf("%d",&sel[i].num); </p><p> printf("輸入銷售商名:\n"); </p><p>
52、; scanf("%s",sel[i].name); </p><p> printf("輸入銷售商狀態(tài):\n"); </p><p> scanf("%s",sel[i].state); </p><p> printf("輸入銷售商所在城市:\n"); </p>
53、<p> scanf("%s",sel[i].city); </p><p> if(fwrite(&sel[i++],sizeof(struct seller),1,fp)!=1) </p><p> printf("File write error\n"); </p><p> else pri
54、ntf("Successful!\n"); </p><p> loop:printf("Is there any more?( Yes[y]/No[n]) \n"); </p><p> scanf("%s",c); </p><p> if(strcmp(c,"n")==0)b
55、reak;</p><p><b> else </b></p><p><b> { </b></p><p> if(strcmp(c,"y")!=0)</p><p> {printf("error!\n");goto loop;}</p&
56、gt;<p><b> } </b></p><p><b> } </b></p><p> fclose(fp);</p><p> menu(); </p><p><b> } </b></p><p>
57、void enter() </p><p><b> { </b></p><p><b> int t,m; </b></p><p><b> do </b></p><p><b> { </b></p><p>
58、 puts("\t\t***************MENU*************\n\n"); </p><p> puts("\t\t\t\t1.sal_enter new data"); </p><p> puts("\t\t\t\t2.build_enter new data"); </p>&l
59、t;p> puts("\t\t\t\t3.pj_enter new data"); </p><p> puts("\t\t\t\t4.SET_enter new data"); </p><p> puts("\t\t\t\t5.Exit"); </p><p> puts("\n
60、\n\t\t ********************************\n"); </p><p> printf("Choose the number(1-5):[ ]\b\b"); </p><p> scanf("%d",&m); </p><p> if(m<1||m>5)
61、</p><p> { t=1; getchar(); } </p><p> else t=0; </p><p><b> } </b></p><p> while(t==1); </p><p> switch(m) </p><p><b>
62、 { </b></p><p> case 1:sal_enter();break; </p><p> case 2:build_enter();break; </p><p> case 3:pj_enter();break; </p><p> case 4:SET_enter();break; </p>
63、<p> case 5:menu(); </p><p><b> } </b></p><p><b> } </b></p><p><b> 刪除模塊</b></p><p> 【分析】 建立副菜單,選擇要刪除的是哪個文件中的信息,輸入相應(yīng)的信
64、息,找到數(shù)據(jù)將其刪除。做法是將數(shù)據(jù)從結(jié)構(gòu)體中刪除,然后跳過已刪除的項,重新寫入文件。</p><p> 圖4 刪除模塊流程圖</p><p><b> 【程序】</b></p><p> /******************************刪除模塊************************************/ &
65、lt;/p><p> void sal_delete() </p><p><b> {</b></p><p> int j,v=0; int x; int w=101; FILE *fp; </p><p> if((fp=fopen("data1.dat","rb"))
66、==NULL) </p><p><b> { </b></p><p> printf("Can not open the file!\n"); </p><p><b> menu(); </b></p><p><b> } </b><
67、;/p><p> loop:printf("請輸入要刪除的銷售商號碼(輸入0返回menu):"); </p><p> scanf("%d",&x); </p><p> if(x==0) menu();</p><p> for(j=0;j<100;j++) </p>
68、<p> { if(fread(&sal[j],sizeof(struct sale),1,fp)!=1) break; } </p><p><b> v=j+1;</b></p><p> for(j=0;j<v;j++)</p><p><b> {</b></p>
69、<p> if(x==sal[j].num1) </p><p> {w=j;break;}</p><p><b> }</b></p><p> fclose(fp);</p><p> if(w==101)</p><p> {printf("Cannot f
70、ind the data!\n\n");goto loop;} </p><p><b> else</b></p><p><b> {</b></p><p> fp=fopen("data1.dat","wb");</p><p>
71、 for(j=0;j<v;j++)</p><p> {if(j!=w) fwrite(&sal[j],sizeof(struct sale),1,fp);}</p><p><b> }</b></p><p> printf("\n銷售商號碼,配件號,工地號,數(shù)量\n");</p>&
72、lt;p> printf("%d,\t\t%d,%d, %d\n",sal[w].num1,sal[w].num2,sal[w].num3,sal[w].num4);</p><p> printf("刪除成功!\n\n");</p><p> fclose(fp);</p><p><b> menu
73、(); </b></p><p><b> }</b></p><p> void build_delete() </p><p><b> {</b></p><p> int j,v=0,x; int w=101; FILE *fp; </p><p&g
74、t; if((fp=fopen("data2.dat","rb"))==NULL) </p><p><b> { </b></p><p> printf("Can not open the file!\n"); </p><p><b> menu(); <
75、/b></p><p><b> } </b></p><p> loop:printf("請輸入要刪除的工地號(輸入0返回menu):"); </p><p> scanf("%d",&x); </p><p> if(x==0) menu();<
76、/p><p> for(j=0;j<100;j++) </p><p> { if(fread(&build[j],sizeof(struct building),1,fp)!=1) break; } </p><p><b> v=j+1;</b></p><p> for(j=0;j<v;j
77、++) </p><p><b> { </b></p><p> if(x==build[j].num) {w=j;break;}</p><p> }fclose(fp);</p><p> if(w==101)</p><p> {printf("Cannot fin
78、d the data!\n\n");goto loop;} </p><p><b> else</b></p><p><b> {</b></p><p> fp=fopen("data2.dat","wb");</p><p> for
79、(j=0;j<v;j++)</p><p> {if(j!=w) fwrite(&build[j],sizeof(struct building),1,fp);}</p><p><b> }</b></p><p> printf("\n項目號,工地號,工地名,城市名:\n");</p>
80、<p> printf(" %d, \t%d, %s, %s\n",build[w].num1,build[w].num, build[w].name,build[w].city);</p><p> printf("刪除成功!\n\n"); </p><p> fclose(fp); </p>&l
81、t;p><b> menu(); </b></p><p><b> } </b></p><p> void pj_delete() </p><p><b> {</b></p><p> int j,v=0,x; int w=101; FILE *fp;
82、 </p><p> if((fp=fopen("data3.dat","rb"))==NULL) </p><p><b> { </b></p><p> printf("Can not open the file!\n"); </p><p><
83、;b> menu(); </b></p><p><b> } </b></p><p> loop:printf("請輸入要刪除的配件號(輸入0返回menu):"); </p><p> scanf("%d",&x); </p><p>
84、 if(x==0) menu();</p><p> for(j=0;j<100;j++) </p><p> { if(fread(&pj[j],sizeof(struct peijian),1,fp)!=1) break; } </p><p><b> v=j+1; </b></p><p>
85、 for(j=0;j<v;j++) </p><p><b> { </b></p><p> if(x==pj[j].num) {w=j;break;}</p><p> }fclose(fp);</p><p> if(w==101)</p><p> {printf(&
86、quot;Cannot find the data!\n\n");goto loop;} </p><p><b> else</b></p><p><b> {</b></p><p> fp=fopen("data3.dat","wb");</p>
87、<p> for(j=0;j<v;j++)</p><p> {if(j!=w) fwrite(&pj[j],sizeof(struct peijian),1,fp);}</p><p><b> }</b></p><p> printf("\n配件號,配件名,顏色,重量,產(chǎn)地:\n");
88、</p><p> printf(" %d, %s, %s, %d, %s\n",pj[w].num,pj[w].name,pj[w].color,pj[w].weight,pj[w].area);</p><p> printf("刪除成功!\n\n");</p><p> fclose(fp)
89、; </p><p><b> menu(); </b></p><p><b> } </b></p><p> void SET_delete () </p><p><b> {</b></p><p> int j,v=0;int x;
90、 int w=101; FILE *fp; </p><p> if((fp=fopen("data4.dat","rb"))==NULL) </p><p><b> { </b></p><p> printf("Can not open the file!\n"); &l
91、t;/p><p><b> menu(); </b></p><p><b> } </b></p><p> loop:printf("請輸入號碼(輸入0返回menu):"); </p><p> scanf("%d",&x); </p
92、><p> if(x==0) menu();</p><p> for(j=0;j<100;j++) </p><p> { if(fread(&sel[j],sizeof(struct seller),1,fp)!=1) break; } </p><p><b> v=j+1; </b></
93、p><p> for(j=0;j<v;j++) </p><p><b> {</b></p><p> if(x==sel[j].num) {w=j;break;}</p><p> }fclose(fp);</p><p> if(w==101)</p><p
94、> {printf("Cannot find the data!\n\n");goto loop;} </p><p><b> else</b></p><p><b> {</b></p><p> fp=fopen("data4.dat","wb&quo
95、t;);</p><p> for(j=0;j<v;j++)</p><p> {if(j!=w) fwrite(&sel[j],sizeof(struct seller),1,fp);}</p><p><b> }</b></p><p> printf("\n銷售商號碼,銷售商名字,
96、狀態(tài),城市: \n");</p><p> printf(" %d,\t\t%s,\t%s, %s\n",sel[w].num,sel[w].name,sel[w].state,sel[w].city);</p><p> printf("刪除成功!\n\n");</p><p> fclose(fp);
97、 </p><p><b> menu(); </b></p><p><b> }</b></p><p> void delete() </p><p><b> { </b></p><p><b> int t,m; <
98、;/b></p><p><b> do </b></p><p><b> { </b></p><p> puts("\t\t***************MENU*************\n\n"); </p><p> puts("\t\t\
99、t1.sal_delete new data"); </p><p> puts("\t\t\t2.build_delete new data"); </p><p> puts("\t\t\t3.pj_delete new data"); /*********刪除菜單****************/ </p><
100、p> puts("\t\t\t4.SET_delete new data"); </p><p> puts("\t\t\t5.Exit"); </p><p> puts("\n\n\t\t ********************************\n"); </p><p> pr
101、intf("Choose the number(1-5):[ ]\b\b"); </p><p> scanf("%d",&m); </p><p> if(m<1||m>5) </p><p> { t=1; getchar(); } </p><p> else t=0;
102、 </p><p><b> } </b></p><p> while(t==1); </p><p> switch(m) </p><p><b> { </b></p><p> case 1:sal_delete();break; </p>
103、<p> case 2:build_delete();break; </p><p> case 3:pj_delete();break; </p><p> case 4:SET_delete ();break; </p><p> case 5:menu(); </p><p><b> } </b&g
104、t;</p><p><b> } </b></p><p><b> 查找模塊</b></p><p> 【分析】 選擇查找方式,輸入相應(yīng)的數(shù)據(jù)然后找出對應(yīng)的數(shù)據(jù)。流程圖如下:</p><p> 圖5 查找模塊流程圖</p><p><b> 【程
105、序】</b></p><p> /********************************查找模塊***********************************/ </p><p> void search() </p><p><b> { </b></p><p> int
106、 i,w=101,j,x,h=0; FILE *fp; </p><p> printf("1--By 項目號\n"); </p><p> printf("2--By 工地號\n"); </p><p> printf("3--By 配件號\n");</p><p> p
107、rintf("4--By 銷售商號\n");</p><p> printf("5 返回\n\n");</p><p> loop:printf("請選擇項:\n"); </p><p> scanf("%d",&x); </p><p> i
108、f(x==5) menu();</p><p> else if(x<1||x>5) {printf("Error!\n");goto loop;}</p><p> else if(x==3) </p><p><b> { </b></p><p> if((fp=fope
109、n("data3.dat","rb"))==NULL) </p><p><b> { </b></p><p> printf("Can not open the file!\n"); </p><p><b> menu(); </b></p>
110、;<p><b> } </b></p><p> printf("Please input the 配件號:"); </p><p> scanf("%d",&i); </p><p> for(j=0;j<100;j++) </p><
111、p> {if(fread(&pj[j],sizeof(struct peijian),1,fp)!=1) break;}</p><p><b> h=j+1;</b></p><p> for(j=0;j<h;j++)</p><p> if(i==pj[j].num) {w=j;break;} </p>
112、;<p> if(w==101) printf("Cannot find the data!\n");</p><p><b> else</b></p><p><b> { </b></p><p> printf("配件號:%d\n",pj[w].num
113、); </p><p> printf("配件名:%s\n",pj[w].name); </p><p> printf("配件顏色:%s\n",pj[w].color); </p><p> printf("配件重量:%d\n",pj[w].weight); </p><p>
114、; printf("配件產(chǎn)地:%s\n",pj[w].area); </p><p> printf("---------------------------------\n"); </p><p><b> } </b></p><p> fclose(fp); </p>
115、<p><b> menu(); </b></p><p><b> }</b></p><p> else if(x==4) </p><p><b> { </b></p><p> if((fp=fopen("data4.dat&quo
116、t;,"rb"))==NULL) </p><p><b> { </b></p><p> printf("Can not open the file!\n"); </p><p><b> menu(); </b></p><p><b>
117、 } </b></p><p> printf("請輸入銷售商號:"); </p><p> scanf("%d",&i); </p><p> for(j=0;j<100;j++) </p><p> {if(fread(&sel[j],siz
118、eof(struct seller),1,fp)!=1) break;}</p><p><b> h=j+1;</b></p><p> for(j=0;j<h;j++)</p><p> if(i==sel[j].num) {w=j;break;} </p><p> if(w==101) printf
119、("Cannot find the data!\n");</p><p><b> else</b></p><p><b> { </b></p><p> printf("銷售商號:%d\n",sel[w].num); </p><p> pri
120、ntf("銷售商名:%s\n",sel[w].name); </p><p> printf("所在城市名:%s\n",sel[w].city); </p><p> printf("---------------------------------\n"); </p><p><b> }
121、</b></p><p> fclose(fp);</p><p><b> menu(); </b></p><p><b> } </b></p><p> else if(x==2) </p><p><b> { </b>
122、;</p><p> if((fp=fopen("data2.dat","rb"))==NULL) </p><p><b> { </b></p><p> printf("Can not open the file!\n"); </p><p><
123、;b> menu(); </b></p><p><b> } </b></p><p> printf("請輸入建筑工地號:"); </p><p> scanf("%d",&i); </p><p> for(j=0;j<100
124、;j++) </p><p> {if(fread(&build[j],sizeof(struct building),1,fp)!=1) break;}</p><p><b> h=j+1;</b></p><p> for(j=0;j<h;j++)</p><p> if(i==build[
125、j].num) {w=j;break;} </p><p> if(w==101) printf("Cannot find the data!\n");</p><p><b> else</b></p><p><b> { </b></p><p> printf(
126、"建筑項目號:%d\n",build[j].num1);</p><p> printf("建筑工地號:%d\n",build[j].num); </p><p> printf("建筑工地名:%s\n",build[j].name); </p><p> printf("所在城市名:%s\
127、n",build[j].city); </p><p> printf("---------------------------------\n"); </p><p><b> } </b></p><p> fclose(fp);</p><p><b> menu(
128、); </b></p><p><b> } </b></p><p> else if(x==1) </p><p><b> { </b></p><p> if((fp=fopen("data1.dat","rb"))==NULL
129、) </p><p><b> { </b></p><p> printf("Can not open the file!\n"); </p><p><b> menu(); </b></p><p><b> } </b></p>
130、;<p> printf("請輸入項目號:"); </p><p> scanf("%d",&i); </p><p> for(j=0;j<100;j++) </p><p> {if(fread(&build[j],sizeof(struct building),1,fp
131、)!=1) break;}</p><p><b> h=j+1;</b></p><p> for(j=0;j<h;j++)</p><p> if(i==build[j].num1) {w=j;break;} </p><p> if(w==101) printf("Cannot find t
132、he data!\n");</p><p><b> else</b></p><p><b> { </b></p><p> printf("建筑項目號:%d\n",build[j].num1);</p><p> printf("建筑工地號:%
133、d\n",build[j].num); </p><p> printf("建筑工地名:%s\n",build[j].name); </p><p> printf("所在城市名:%s\n",build[j].city); </p><p> printf("---------------------
134、------------\n"); </p><p><b> } </b></p><p> fclose(fp);</p><p><b> menu(); </b></p><p><b> } </b></p><p>&l
135、t;b> }</b></p><p><b> 查找配對模塊</b></p><p> 【分析】 輸入配對方式(按配件號,按銷售商號碼),找出所在城市相同的數(shù)據(jù),輸出數(shù)據(jù)。流程圖如下:</p><p> 圖6 查找配對模塊流程圖</p><p><b> 【程序】</b&
136、gt;</p><p> /********************************查找配對模塊*****************************/</p><p> void search2() </p><p><b> { </b></p><p> int x,j,i,a=0,b=
137、0; int w;FILE *fp1,*fp2; </p><p> printf("1.By 配件號\n");</p><p> printf("2.By 項目\n");</p><p> printf("3.返回\n\n");</p><p> loop:printf(&
138、quot;請選擇項:\n"); </p><p> scanf("%d",&x); </p><p> if(x==3) menu();</p><p> else if(x<1||x>3) {printf("Error!");goto loop;}</p><p>
139、 else if(x==1) </p><p><b> { </b></p><p> if((fp1=fopen("data3.dat","rb"))==NULL||(fp2=fopen("data4.dat","rb"))==NULL) </p><p&
140、gt; {printf("Cannot open the file!\n\n"); </p><p><b> menu(); </b></p><p><b> }</b></p><p> for(j=0;j<100;j++) </p><p> {if(
141、fread(&pj[j],sizeof(struct peijian),1,fp1)!=1) break;}</p><p><b> a=j+1;</b></p><p> for(j=0;j<100;j++) </p><p> {if(fread(&sel[j],sizeof(struct seller),1
142、,fp2)!=1) break;}</p><p><b> b=j+1;</b></p><p> printf("已有配件號:\n");</p><p> for(j=0;j<a-1;j++)</p><p> printf("%d, ",pj[j].num);&
143、lt;/p><p> printf("\nPlease input the 配件號:"); </p><p> scanf("%d",&w);</p><p> for(j=0;j<a;j++)</p><p> {if(w==pj[j].num) break;}</p>
144、<p> for(i=0;i<b;i++)</p><p> if(strcmp(pj[j].area,sel[i].city)==0&&strcmp(sel[i].city,sel[99].city)!=0)</p><p> printf("配件號:%d銷售商號:%d所在城市:%s\n",pj[j].num,sel[i].n
145、um,sel[i].city);</p><p> fclose(fp1);fclose(fp2);menu();</p><p><b> }</b></p><p> else if(x==2)</p><p><b> {</b></p><p> if((f
146、p1=fopen("data2.dat","rb"))==NULL||(fp2=fopen("data4.dat","rb"))==NULL) </p><p> {printf("Cannot open the file!\n"); </p><p><b> menu()
147、; </b></p><p><b> }</b></p><p> for(j=0;j<100;j++) </p><p> {if(fread(&build[j],sizeof(struct building),1,fp1)!=1) break;}</p><p><b>
溫馨提示
- 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言課程設(shè)計-建筑工地信息管理系統(tǒng)
- c語言課程設(shè)計---建筑工地信息管理系統(tǒng)
- c語言課程設(shè)計--職工信息管理系統(tǒng)
- c語言課程設(shè)計--學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計--- 學(xué)生信息管理系統(tǒng)
- 職工信息管理系統(tǒng)c語言課程設(shè)計
- c語言課程設(shè)計--學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計——學(xué)生信息管理系統(tǒng)
- 教師信息管理系統(tǒng)(c語言課程設(shè)計)
- c語言課程設(shè)計---學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)-c語言課程設(shè)計
- c語言課程設(shè)計——歌曲信息管理系統(tǒng)
- c語言課程設(shè)計職工信息管理系統(tǒng)
- c語言課程信息管理系統(tǒng)課程設(shè)計報告
- c語言課程設(shè)計報告課程信息管理系統(tǒng)
- c語言課程設(shè)計---學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計--學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計---職工信息管理系統(tǒng)
- c語言課程設(shè)計——職工信息管理系統(tǒng)
- 教師信息管理系統(tǒng)(c語言課程設(shè)計)
評論
0/150
提交評論