版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上建筑工地信息管理系統(tǒng)一 題目要求 建立如下四個文件(括號內(nèi)為文件中每條記錄得字段內(nèi)容):(1) 銷售商配件建筑工地(建筑商號碼,配件號,工地號,數(shù)量)(2) 建筑工地(工地號,名字,城市)(3) 配件(配件號,配件名,顏色,重量,產(chǎn)地)(4) 銷售商(號碼,名字,狀態(tài),城市) 功能:(1) 首先建立文件,然后插入數(shù)據(jù),并進(jìn)行刪除,更新操作,最后進(jìn)行查詢操作。(2) 查詢與供應(yīng)商所在城市相同的零件供應(yīng)商,項目供應(yīng)商記錄對。二 需求分析 根據(jù)題目要求,由于銷售商配件建筑工地,建筑工地,配件,銷售商的各種信息要求以文本文件的方式存放在四個文件中,所以應(yīng)提供文件的輸入,輸出等
2、操作;在程序中要瀏覽銷售商配件建筑工地,建筑工地,配件,銷售商的各種信息,應(yīng)提供顯示,查找,增加,更新等操作;另外還應(yīng)提供鍵盤式選擇菜單實現(xiàn)功能選擇。三 總體設(shè)計 我們來分析一下整個系統(tǒng),根據(jù)上面的需求分析,可以將這個系統(tǒng)的設(shè)計分為如下五大模塊:輸入,修改,刪除,查詢,退出。其中輸入,修改,刪除,查詢是四個主要功能。四 詳細(xì)設(shè)計1定義結(jié)構(gòu)體#include<stdio.h> #include<stdlib.h> #include<string.h> struct total char b_num20;/*銷售商號碼*/ char p_num20;/*配件號*
3、/ char num20;/*工地號*/ char num220;/*銷售商為工地提供配件數(shù)量*/ ; struct building char name20;/*工地名稱*/ char num20;/*工地號*/ char city20;/*工地所在城市*/ ; struct peijian char p_name20;/*配件名稱*/ char p_num20;/*配件號碼*/ char p_colour20;/*配件顏色*/ char p_weight20;/*配件重量*/ char p_area20;/*配件產(chǎn)地*/ ; struct business char b_name20;/*
4、銷售商名字*/ char b_num20;/*銷售商號碼*/ char b_state20;/*銷售狀態(tài)*/ char b_city20;/*所在城市*/ ; 2. 各功能模塊設(shè)計 (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='
5、;y' int n; void add1() char flag='y' struct building build; FILE *fp; if(fp=fopen("c.txt","a+b")=NULL) exit(0); while(flag='y') printf("請輸入建筑工地名稱:"); scanf("%s",); printf("請輸入建筑工地編號:"); scanf("%s",build.num); p
6、rintf("請輸入工地所在城市:"); 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' struct peijian pj; FILE *fp; if(fp=fopen("d.txt","a+b")
7、=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); print
8、f("請輸入配件產(chǎn)地:"); scanf("%s",pj.p_area); fwrite(&pj,sizeof(struct 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) ex
9、it(0); while(flag='y') 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); fwrite(
10、&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("請輸入銷售商號碼:"); scan
11、f("%s",bpb.b_num); printf("請輸入配件編號:"); scanf("%s",bpb.b_num); printf("請輸入建筑工地編號:"); scanf("%s",bpb.num); printf("請輸入銷售商為工地提供配件數(shù)量:"); scanf("%s",bpb.num2); fwrite(&bpb,sizeof(struct total),1,fp); printf("是否繼續(xù)y/n:n");
12、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) printf("ntThe system can't open the file!"); while(flag='y') printf("請輸入您要修改的建筑工地名稱:&qu
13、ot;); 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); print
14、f("建筑工地所在城市:%sn",build.city); printf("請輸入建筑工地名稱:"); scanf("%s",); printf("請輸入建筑工地編號:"); scanf("%s",build.num); printf("請輸入建筑工地所在城市:"); scanf("%s",build.city); fseek(fp,-(long)(sizeof(struct building),1);/*文件標(biāo)記向下*/ fwrite
15、(&build,sizeof(build),1,fp); printf("是否繼續(xù):");/*提示是否繼續(xù)修改另一建筑工地信息*/ scanf(" %c",&flag); fclose(fp); /*關(guān)閉文件*/ (2)修改模塊void find2() FILE *fp; struct peijian pj; char flag='y',find; char name20; if(fp=fopen("d.txt","r+w")=NULL) printf("ntThe sys
16、tem can't 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) find='y' break; if(find='y') printf(
17、"配件名稱:%sn",pj.p_name); printf("配件編號:%sn",pj.p_num); printf("配件顏色:%sn",pj.p_colour); printf("配件重量:%sn",pj.p_weight); printf("配件產(chǎn)地:%sn",pj.p_area); printf("請輸入配件名稱:"); scanf("%s",pj.p_name); printf("請輸入配件編號:"); scanf("
18、;%s",pj.p_name); printf("請輸入配件顏色:"); scanf("%s",pj.p_colour); printf("請輸入配件重量:"); scanf("%s",pj.p_weight); printf("請輸入配件產(chǎn)地:"); scanf("%s",pj.p_name); fseek(fp,-(long)(sizeof(struct peijian),1);/*文件標(biāo)記向下*/ fwrite(&pj,sizeof(pj),1,fp)
19、; printf("是否繼續(xù):");/*提示是否繼續(xù)修改另一配件信息*/ scanf(" %c",&flag); fclose(fp); /*關(guān)閉文件*/ void find3() FILE *fp; struct business bus; char flag='y',find; char name20; if(fp=fopen("e.txt","r+w")=NULL) printf("ntThe system can't open the file!"); w
20、hile(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);
21、printf("銷售商編號:%sn",bus.b_name); 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",bu
22、s.b_state); printf("請輸入所在城市名:"); scanf("%s",bus.b_city); fseek(fp,-(long)(sizeof(struct business),1);/*文件標(biāo)記向下*/ fwrite(&bus,sizeof(bus),1,fp); printf("是否繼續(xù):");/*提示是否繼續(xù)修改另一已存用戶信息*/ scanf(" %c",&flag); fclose(fp); /*關(guān)閉文件*/ void find4()/*按銷售商號修改*/ FILE *f
23、p; struct total bpb; char flag='y',find; char num20; if(fp=fopen("d:/f.txt","r+w")=NULL)printf("ntThe system can't open the file!"); while(flag='y') printf("請輸入您要修改的對應(yīng)對中銷售商編號:"); scanf("%s",num); find='n' rewind(fp); while
24、(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("提供配件數(shù)量:%sn",bpb.num2); pr
25、intf("請輸入銷售商編號:"); scanf("%s",bpb.b_num); printf("請輸入配件編號:"); scanf("%s",bpb.p_num); printf("請輸入建筑工地編號:"); scanf("%s",bpb.num); printf("請輸入提供配件數(shù)量:"); scanf("%s",bpb.num2); fseek(fp,-(long)(sizeof(struct total),1);/*文件標(biāo)記向
26、下*/ fwrite(&bpb,sizeof(bpb),1,fp); printf("是否繼續(xù):");/*提示是否繼續(xù)修改另一已存用戶信息*/ scanf(" %c",&flag); fclose(fp); /*關(guān)閉文件*/ (3)刪除模塊void del1() struct building build; FILE *fp; if(fp=fopen("c.txt","r+w")=NULL) printf("打開文件出錯"); char flag='y' char
27、 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("建筑工地名稱
28、:%sn",); printf("建筑工地編號:%sn",build.num); printf("建筑工地所在城市:%sn",build.city); printf("是否確定刪除y/n:"); scanf("%c",&n); if(n='y') strcpy(,""); strcpy(build.num,""); strcpy(build.city,""); fseek(fp,-(
29、long)(sizeof(struct building),1); fwrite(&build,sizeof(build),1,fp); printf("刪除成功n"); printf("是否繼續(xù)刪除y/n:n"); scanf(" %c",&flag); fclose(fp); void del2() struct peijian pj; FILE *fp; if(fp=fopen("d.txt","r+w")=NULL) printf("打開文件出錯");
30、 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') p
31、rintf("名稱:%sn",pj.p_name); printf("編號:%sn",pj.p_num); printf("顏色:%sn",pj.p_colour); printf("重量:%sn",pj.p_weight); printf("產(chǎn)地:%sn",pj.p_area); printf("是否確定刪除y/n:"); scanf("%c",&n); if(n='y') strcpy(pj.p_name,""
32、;); strcpy(pj.p_num,""); strcpy(pj.p_colour,""); strcpy(pj.p_weight,""); strcpy(pj.p_area,""); fseek(fp,-(long)(sizeof(struct peijian),1); fwrite(&pj,sizeof(pj),1,fp); printf("刪除成功n"); printf("是否繼續(xù)刪除y/n:n"); scanf(" %c",&f
33、lag); 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
34、); while(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"
35、,bus.b_city); printf("是否確定刪除y/n:"); scanf("%c",&n); if(n='y') strcpy(bus.b_name,""); strcpy(bus.b_num,""); strcpy(bus.b_state,""); strcpy(bus.b_city,""); fseek(fp,-(long)(sizeof(struct business),1); fwrite(&bus,sizeof(bus),1
36、,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' char bh30; char n; whil
37、e(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&quo
38、t;,bpb.p_num); printf("建筑工地編號:%sn",bpb.num); printf("提供配件數(shù)量:%sn",bpb.num2); printf("是否確定刪除y/n:"); scanf("%c",&n); if(n='y') strcpy(bpb.b_num,""); strcpy(bpb.p_num,""); strcpy(bpb.num,""); strcpy(bpb.num2,"");
39、 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 peijian pj; struct business bus; char flag='y',seek; if(fp1=fopen
40、("d.txt","r+w")=NULL|(fp2=fopen("e.txt","r+w")=NULL) printf("ntThe system can't 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
41、,fp2)=1&&seek='n') if(strcmp(pj.p_area,bus.b_city)=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("配件產(chǎn)地:%sn&
42、quot;,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ù):");/*提示是否繼續(xù)修改另一配件信息*/ scanf(" %c",&flag); fclose(fp1); fclose(fp2);/*關(guān)閉文件*/ void see
43、k2() 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 can't open the files!"); while (flag='y') seek='n'
44、rewind(fp1); 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.b_num); printf("狀態(tài):%sn",bus.b_state); printf("銷售商所在城市:%sn&quo
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 顧客轉(zhuǎn)讓合同范例
- 王家租房合同范例
- 專業(yè)消毒服務(wù)合同范例
- 夫妻簽房產(chǎn)合同范例
- 集體供暖繳費合同范例
- 貿(mào)易裝運合同范例
- 技術(shù)服務(wù)合同范本
- 2024年文化藝術(shù)品交易融資擔(dān)保合同3篇
- 2024年二零二四年度網(wǎng)絡(luò)安全企業(yè)職工勞動合同3篇
- 2024年新能源產(chǎn)業(yè)研發(fā)數(shù)據(jù)保密合作合同3篇
- 《基礎(chǔ)會計》教學(xué)課件-整套教程電子講義
- 2022-2023學(xué)年廣東省廣州市越秀區(qū)六年級(上)期末數(shù)學(xué)試卷
- 2024年廣東省廣州市中考英語試卷附答案
- 企業(yè)財務(wù)報表分析-以順豐控股股份有限公司為例
- 2024年高考英語新課標(biāo)1卷讀后續(xù)寫課件高考英語一輪復(fù)習(xí)作文專項
- PANTONE國際色卡CMYK色值對照表3
- 精神康復(fù)中的心理危機(jī)干預(yù)策略考核試卷
- 國家開放大學(xué)本科《公共部門人力資源管理》期末紙質(zhì)考試總題庫2025版
- 產(chǎn)能合作共建協(xié)議書
- 2024年執(zhí)業(yè)醫(yī)師考試-中醫(yī)師承及確有專長考核筆試考試歷年高頻考點試題摘選含答案
- 光伏支架巡回檢查、維護(hù)管理制度
評論
0/150
提交評論