VC建筑工地信息管理系統(tǒng)_第1頁
VC建筑工地信息管理系統(tǒng)_第2頁
VC建筑工地信息管理系統(tǒng)_第3頁
VC建筑工地信息管理系統(tǒng)_第4頁
VC建筑工地信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、建筑工地信息管理系統(tǒng)一 題目要求 建立如下四個文件(括號內為文件中每條記錄得字段內容):(1) 銷售商配件建筑工地(建筑商號碼,配件號,工地號,數量)(2) 建筑工地(工地號,名字,城市)(3) 配件(配件號,配件名,顏色,重量,產地)(4) 銷售商(號碼,名字,狀態(tài),城市) 功能:(1) 首先建立文件,然后插入數據,并進行刪除,更新操作,最后進行查詢操作。(2) 查詢與供應商所在城市相同的零件供應商,項目供應商記錄對。二 需求分析 根據題目要求,由于銷售商配件建筑工地,建筑工地,配件,銷售商的各種信息要求以文本文件的方式存放在四個文件中,所以應提供文件的輸入,輸出等操作;在程序中要瀏覽銷售商

2、配件建筑工地,建筑工地,配件,銷售商的各種信息,應提供顯示,查找,增加,更新等操作;另外還應提供鍵盤式選擇菜單實現功能選擇。三 總體設計 我們來分析一下整個系統(tǒng),根據上面的需求分析,可以將這個系統(tǒng)的設計分為如下五大模塊:輸入,修改,刪除,查詢,退出。其中輸入,修改,刪除,查詢是四個主要功能。四 詳細設計1定義結構體#include #include #include struct total char b_num20;/*銷售商號碼*/ char p_num20;/*配件號*/ char num20;/*工地號*/ char num220;/*銷售商為工地提供配件數量*/ ; struct b

3、uilding char name20;/*工地名稱*/ char num20;/*工地號*/ char city20;/*工地所在城市*/ ; struct peijian char p_name20;/*配件名稱*/ char p_num20;/*配件號碼*/ char p_colour20;/*配件顏色*/ char p_weight20;/*配件重量*/ char p_area20;/*配件產地*/ ; struct business char b_name20;/*銷售商名字*/ char b_num20;/*銷售商號碼*/ char b_state20;/*銷售狀態(tài)*/ char

4、b_city20;/*所在城市*/ ; 2. 各功能模塊設計 (1)輸入模塊void add1(); void add2(); void add3(); void add4(); void find1(); void find2(); void find3(); void find4(); void del1(); void del2(); void del3(); void del4(); void seek1(); void seek2(); char flag=y; int n; void add1() char flag=y; struct building build; FILE *

5、fp; if(fp=fopen(c.txt,a+b)=NULL) exit(0); while(flag=y) printf(請輸入建筑工地名稱:); scanf(%s,); printf(請輸入建筑工地編號:); scanf(%s,build.num); printf(請輸入工地所在城市:); scanf(%s,build.city); fwrite(&build,sizeof(struct building),1,fp); printf(是否繼續(xù)y/n:n); scanf( %c,&flag); fclose(fp); void add2() char flag=y;

6、struct peijian pj; FILE *fp; if(fp=fopen(d.txt,a+b)=NULL) exit(0); while(flag=y) printf(請輸入配件名稱:); scanf(%s,pj.p_name); printf(請輸入配件編號:); scanf(%s,pj.p_num); printf(請輸入配件顏色:); scanf(%s,pj.p_colour); printf(請輸入配件重量:); scanf(%s,pj.p_weight); printf(請輸入配件產地:); scanf(%s,pj.p_area); fwrite(&pj,sizeof(str

7、uct peijian),1,fp); printf(是否繼續(xù)y/n:n); scanf( %c,&flag); fclose(fp); void add3() char flag=y; struct business bus; FILE *fp; if(fp=fopen(e.txt,a+b)=NULL) exit(0); while(flag=y) printf(請輸入銷售商名稱:); scanf(%s,bus.b_name); printf(請輸入銷售商編號:); scanf(%s,bus.b_num); printf(請輸入銷售商狀態(tài):); scanf(%s,bus.b_state);

8、printf(請輸入銷售商所在城市:); scanf(%s,bus.b_city); fwrite(&bus,sizeof(struct business),1,fp); printf(是否繼續(xù)y/n:n); scanf( %c,&flag); fclose(fp); void add4() char flag=y; struct total bpb; FILE *fp; if(fp=fopen(f.txt,a+b)=NULL) exit(0); while(flag=y) printf(請輸入銷售商號碼:); scanf(%s,bpb.b_num); printf(請輸入配件編號:); sc

9、anf(%s,bpb.b_num); printf(請輸入建筑工地編號:); scanf(%s,bpb.num); printf(請輸入銷售商為工地提供配件數量:); scanf(%s,bpb.num2); fwrite(&bpb,sizeof(struct total),1,fp); printf(是否繼續(xù)y/n:n); scanf( %c,&flag); fclose(fp); void find1() FILE *fp; struct building build; char flag=y,find; char name20; if(fp=fopen(c.txt,r+w)=NULL) p

10、rintf(ntThe system cant open the file!); while(flag=y) printf(請輸入您要修改的建筑工地名稱:); scanf(%s,name); find=n; rewind(fp); while(fread(&build,sizeof(build),1,fp)=1&find=n) if(strcmp(name,)=0) find=y; break; if(find=y) printf(建筑工地名稱:%sn,); printf(建筑工地編號:%sn,build.num); printf(建筑工地所在城市:%s

11、n,build.city); printf(請輸入建筑工地名稱:); scanf(%s,); printf(請輸入建筑工地編號:); scanf(%s,build.num); printf(請輸入建筑工地所在城市:); scanf(%s,build.city); fseek(fp,-(long)(sizeof(struct building),1);/*文件標記向下*/ fwrite(&build,sizeof(build),1,fp); printf(是否繼續(xù):);/*提示是否繼續(xù)修改另一建筑工地信息*/ scanf( %c,&flag); fclose(fp); /*關

12、閉文件*/ (2)修改模塊void find2() FILE *fp; struct peijian pj; char flag=y,find; char name20; if(fp=fopen(d.txt,r+w)=NULL) printf(ntThe system cant open the file!); while(flag=y) printf(請輸入您要修改的配件名稱:); scanf(%s,name); find=n; rewind(fp); while(fread(&pj,sizeof(pj),1,fp)=1&find=n) if(strcmp(pj.p_name,name)=0

13、) find=y; break; if(find=y) printf(配件名稱:%sn,pj.p_name); printf(配件編號:%sn,pj.p_num); printf(配件顏色:%sn,pj.p_colour); printf(配件重量:%sn,pj.p_weight); printf(配件產地:%sn,pj.p_area); printf(請輸入配件名稱:); scanf(%s,pj.p_name); printf(請輸入配件編號:); scanf(%s,pj.p_name); printf(請輸入配件顏色:); scanf(%s,pj.p_colour); printf(請輸入

14、配件重量:); scanf(%s,pj.p_weight); printf(請輸入配件產地:); scanf(%s,pj.p_name); fseek(fp,-(long)(sizeof(struct peijian),1);/*文件標記向下*/ fwrite(&pj,sizeof(pj),1,fp); printf(是否繼續(xù):);/*提示是否繼續(xù)修改另一配件信息*/ scanf( %c,&flag); fclose(fp); /*關閉文件*/ void find3() FILE *fp; struct business bus; char flag=y,find; char name20;

15、if(fp=fopen(e.txt,r+w)=NULL) printf(ntThe system cant open the file!); while(flag=y) printf(請輸入您要修改的銷售商名稱); scanf(%s,name); find=n; rewind(fp); while(fread(&bus,sizeof(bus),1,fp)=1&find=n) if(strcmp(bus.b_name,name)=0) find=y; break; if(find=y) printf(銷售商名稱:%sn,bus.b_name); printf(銷售商編號:%sn,bus.b_na

16、me); printf(銷售商狀態(tài):%sn,bus.b_state); printf(所在城市:%sn,bus.b_city); printf(請輸入名稱:); scanf(%s,bus.b_name); printf(請輸入編號:); scanf(%s,bus.b_num); printf(請輸入狀態(tài):); scanf(%s,bus.b_state); printf(請輸入所在城市名:); scanf(%s,bus.b_city); fseek(fp,-(long)(sizeof(struct business),1);/*文件標記向下*/ fwrite(&bus,sizeof(bus),1

17、,fp); printf(是否繼續(xù):);/*提示是否繼續(xù)修改另一已存用戶信息*/ scanf( %c,&flag); fclose(fp); /*關閉文件*/ void find4()/*按銷售商號修改*/ FILE *fp; struct total bpb; char flag=y,find; char num20; if(fp=fopen(d:/f.txt,r+w)=NULL)printf(ntThe system cant open the file!); while(flag=y) printf(請輸入您要修改的對應對中銷售商編號:); scanf(%s,num); find=n;

18、rewind(fp); while(fread(&bpb,sizeof(bpb),1,fp)=1&find=n) if(strcmp(num,bpb.b_num)=0) find=y; break; if(find=y) printf(銷售商編號:%sn,bpb.b_num); printf(配件編號:%sn,bpb.p_num); printf(建筑工地編號:%sn,bpb.num); printf(提供配件數量:%sn,bpb.num2); printf(請輸入銷售商編號:); scanf(%s,bpb.b_num); printf(請輸入配件編號:); scanf(%s,bpb.p_nu

19、m); printf(請輸入建筑工地編號:); scanf(%s,bpb.num); printf(請輸入提供配件數量:); scanf(%s,bpb.num2); fseek(fp,-(long)(sizeof(struct total),1);/*文件標記向下*/ fwrite(&bpb,sizeof(bpb),1,fp); printf(是否繼續(xù):);/*提示是否繼續(xù)修改另一已存用戶信息*/ scanf( %c,&flag); fclose(fp); /*關閉文件*/ (3)刪除模塊void del1() struct building build; FILE *fp; if(fp=fo

20、pen(c.txt,r+w)=NULL) printf(打開文件出錯); char flag=y; char find=n; char mc30; char n; while(flag=y) printf(請輸入您要刪除的建筑工地名稱:); scanf(%s,mc); rewind(fp); while(fread(&build,sizeof(build),1,fp)=1&find=n) if(strcmp(mc,)=0) find=y; break; if(find=y) printf(建筑工地名稱:%sn,); printf(建筑工地編號:%sn,b

21、uild.num); printf(建筑工地所在城市:%sn,build.city); printf(是否確定刪除y/n:); scanf(%c,&n); if(n=y) strcpy(,); strcpy(build.num,); strcpy(build.city,); fseek(fp,-(long)(sizeof(struct building),1); fwrite(&build,sizeof(build),1,fp); printf(刪除成功n); printf(是否繼續(xù)刪除y/n:n); scanf( %c,&flag); fclose(fp); void d

22、el2() struct peijian pj; FILE *fp; if(fp=fopen(d.txt,r+w)=NULL) printf(打開文件出錯); char flag=y; char find=n; char mc30; char n; while(flag=y) printf(請輸入您要刪除的配件名稱:); scanf(%s,mc); rewind(fp); while(fread(&pj,sizeof(pj),1,fp)=1&find=n) if(strcmp(mc,pj.p_name)=0) find=y; break; if(find=y) printf(名稱:%sn,pj

23、.p_name); printf(編號:%sn,pj.p_num); printf(顏色:%sn,pj.p_colour); printf(重量:%sn,pj.p_weight); printf(產地:%sn,pj.p_area); printf(是否確定刪除y/n:); scanf(%c,&n); if(n=y) strcpy(pj.p_name,); strcpy(pj.p_num,); strcpy(pj.p_colour,); strcpy(pj.p_weight,); strcpy(pj.p_area,); fseek(fp,-(long)(sizeof(struct peijian

24、),1); fwrite(&pj,sizeof(pj),1,fp); printf(刪除成功n); printf(是否繼續(xù)刪除y/n:n); scanf( %c,&flag); fclose(fp); void del3() struct business bus; FILE *fp; if(fp=fopen(e.txt,r+w)=NULL) printf(打開文件出錯); char flag=y; char find=n; char mc30; char n; while(flag=y) printf(請輸入您要刪除的銷售商名稱:); scanf(%s,mc); rewind(fp); wh

25、ile(fread(&bus,sizeof(bus),1,fp)=1&find=n) if(strcmp(mc,bus.b_name)=0) find=y; break; if(find=y) printf(銷售商名稱:%sn,bus.b_name); printf(銷售商編號:%sn,bus.b_num); printf(銷售商狀態(tài):%sn,bus.b_state); printf(銷售商所在城市:%sn,bus.b_city); printf(是否確定刪除y/n:); scanf(%c,&n); if(n=y) strcpy(bus.b_name,); strcpy(bus.b_num,)

26、; strcpy(bus.b_state,); strcpy(bus.b_city,); fseek(fp,-(long)(sizeof(struct business),1); fwrite(&bus,sizeof(bus),1,fp); printf(刪除成功n); printf(是否繼續(xù)刪除y/n:n); scanf( %c,&flag); fclose(fp); void del4() struct total bpb; FILE *fp; if(fp=fopen(f.txt,r+w)=NULL) printf(打開文件出錯); char flag=y; char find=n; ch

27、ar bh30; char n; while(flag=y) printf(請輸入您要刪除的銷售商編號:); scanf(%s,bh); rewind(fp); while(fread(&bpb,sizeof(bpb),1,fp)=1&find=n) if(strcmp(bh,bpb.b_num)=0) find=y; break; if(find=y) printf(銷售商編號:%sn,bpb.b_num); printf(配件編號:%sn,bpb.p_num); printf(建筑工地編號:%sn,bpb.num); printf(提供配件數量:%sn,bpb.num2); printf(

28、是否確定刪除y/n:); scanf(%c,&n); if(n=y) strcpy(bpb.b_num,); strcpy(bpb.p_num,); strcpy(bpb.num,); strcpy(bpb.num2,); fseek(fp,-(long)(sizeof(struct total),1); fwrite(&bpb,sizeof(bpb),1,fp); printf(刪除成功n); printf(是否繼續(xù)刪除y/n:n); scanf( %c,&flag); fclose(fp); (4)查詢模塊void seek1() FILE *fp1,*fp2; struct peijia

29、n pj; struct business bus; char flag=y,seek; if(fp1=fopen(d.txt,r+w)=NULL|(fp2=fopen(e.txt,r+w)=NULL) printf(ntThe system cant open the files!); while (flag=y) seek=n; rewind(fp1); rewind(fp2); while (fread(&pj,sizeof(pj),1,fp1)=1&(fread(&bus,sizeof(bus),1,fp2)=1&seek=n) if(strcmp(pj.p_area,bus.b_ci

30、ty)=0) seek=y; break; if(seek=y) printf(配件名稱:%sn,pj.p_name); printf(配件編號:%sn,pj.p_num); printf(配件顏色:%sn,pj.p_colour); printf(配件重量:%sn,pj.p_weight); printf(配件產地:%sn,pj.p_area); printf(名稱:%sn,bus.b_name); printf(編號:%sn,bus.b_num); printf(狀態(tài):%sn,bus.b_state); printf(銷售商所在城市:%sn,bus.b_city); printf(是否繼續(xù)

31、:);/*提示是否繼續(xù)修改另一配件信息*/ scanf( %c,&flag); fclose(fp1); fclose(fp2);/*關閉文件*/ void seek2() FILE *fp1,*fp2; struct building build; struct business bus; char flag=y,seek; if(fp1=fopen(c.txt,r+w)=NULL|(fp2=fopen(e.txt,r+w)=NULL) printf(ntThe system cant open the files!); while (flag=y) seek=n; rewind(fp1);

32、 rewind(fp2); while (fread(&build,sizeof(build),1,fp1)=1&(fread(&bus,sizeof(bus),1,fp2)=1&seek=n) if(strcmp(build.city,bus.b_city)=0) seek=y; break; if(seek=y) printf(建筑工地名稱:%sn,); printf(建筑工地編號:%sn,build.num); printf(建筑工地所在城市:%sn,&build.city); printf(名稱:%sn,bus.b_name); printf(編號:%sn,bus.

33、b_num); printf(狀態(tài):%sn,bus.b_state); printf(銷售商所在城市:%sn,bus.b_city); printf(是否繼續(xù):);/*提示是否繼續(xù)修改另一配件信息*/ scanf( %c,&flag); fclose(fp1); fclose(fp2); /*關閉文件*/ (5)主函數void main() printf(/*建筑工地信息管理系統(tǒng)*/n); printf( /*制作:張騰飛*/n); printf( /*學號:20091004402*/n); printf( /*班級:052091-35*/n); while(n!=15) printf(1.增加建筑工地信息n2.增加配件信息n3.增加銷售商信息n4.增加銷售商-配件-建筑工地

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論