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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

/C語(yǔ)言課程設(shè)計(jì)報(bào)告名稱:建筑工地信息管理系統(tǒng)學(xué)院:資源學(xué)院班級(jí):023091-28姓名:張勝了學(xué)號(hào):20091004008指導(dǎo)老師:張求明題目要求建立如下4個(gè)文件(括號(hào)內(nèi)為文件中每條記錄的字段內(nèi)容):銷售商-配件-建筑工地(銷售商號(hào)碼,配件號(hào),工地號(hào),數(shù)量)建筑工地(工地號(hào),名字,城市)配件(配件號(hào),配件名,顏色,重量,產(chǎn)地)銷售商(號(hào)碼,名字,狀態(tài),城市)功能:首先建立文件,然后插入數(shù)據(jù),并進(jìn)行刪除、更新操作,最終進(jìn)行查詢操作。查詢和供應(yīng)商所在城市相同的零件——供應(yīng)商,項(xiàng)目——供應(yīng)商記錄對(duì)。2、需求分析依據(jù)題目要求,建立文件,應(yīng)選擇結(jié)構(gòu)體數(shù)組來(lái)存放數(shù)據(jù),再定義一個(gè)全局變量和文件指針進(jìn)行程序的運(yùn)行,然后把數(shù)據(jù)信息存入文件中,所以要供應(yīng)結(jié)構(gòu)體和文件的輸入輸出等操作;在程序中要進(jìn)行數(shù)據(jù)的插入、刪除、更新、查詢等操作,所以須要建立相應(yīng)的模塊來(lái)實(shí)現(xiàn),為簡(jiǎn)便起見,還應(yīng)建立一個(gè)主菜單,在每個(gè)模塊中建立相應(yīng)的副菜單;另外,還要供應(yīng)鍵盤式選擇菜單來(lái)實(shí)現(xiàn)選擇功能,使程序在運(yùn)行時(shí)達(dá)到要求。3、總體設(shè)計(jì)依據(jù)題目要求,可以將系統(tǒng)分為:插入數(shù)據(jù)模塊;刪除模塊;查詢模塊;查找配對(duì);功能選擇菜建筑工地信息管理系統(tǒng)建筑工地信息管理系統(tǒng)查找配對(duì)模塊刪查找配對(duì)模塊刪除模塊查詢模塊數(shù)據(jù)輸入模塊功能選擇菜單圖1系統(tǒng)功能模塊圖4、詳細(xì)設(shè)計(jì)一、主函數(shù)【分析】主函數(shù)一般設(shè)計(jì)得比較簡(jiǎn)便,只供應(yīng)輸入、處理和輸出部分的函數(shù)調(diào)用。其中各功能模塊用菜單方式選擇。其流程圖:起先起先顯示一系列功能選擇輸入n,推斷w是否是0到4?依據(jù)n值調(diào)用各功能模塊函數(shù)結(jié)束N圖2主函數(shù)流程圖【程序】/************************主菜單*********************************/voidmenu(){intn,w;/*變量n保存選擇菜單數(shù)字,w推斷輸入的數(shù)字是否在功能菜單對(duì)應(yīng)數(shù)字范圍內(nèi)*/do{puts("\t\t*************建筑工地信息管理****************\n\n");puts("姓名:文富奎");puts("學(xué)號(hào):20071003889");puts("班學(xué)號(hào):055071-30");puts("\t\t****************MENU*******************\n\n");puts("\t\t\t\t1.輸入");/*輸入*/puts("\t\t\t\t2.刪除");/*刪除*/puts("\t\t\t\t3.查找");/*查找*/puts("\t\t\t\t4.配對(duì)");/*查找配對(duì)*/puts("\t\t\t\t5.Exit");puts("\n\n\t\t**************************************\n");printf("Chooseyournumber(1-5):[]\b\b");scanf("%d",&n);if(n<1||n>5){w=1;getchar();}elsew=0;}while(w==1);switch(n){case1:enter();break;case2:delete();break;case3:search();break;case4:search2();break;case5:exit(0);}}main(){menu();}二、各功能模塊設(shè)計(jì)(1)數(shù)據(jù)輸入模塊【分析】數(shù)據(jù)信息存放在文件中,用結(jié)構(gòu)體存放,便利數(shù)據(jù)輸入和數(shù)據(jù)的保存。另外,輸入模塊中建立副菜單,用以輸入四個(gè)文件的信息選項(xiàng)。起先起先輸入用戶信息是否接著進(jìn)行?結(jié)束返回主菜單Y圖3數(shù)據(jù)輸入模塊流程圖【程序】/*****************************數(shù)據(jù)輸入模塊************************************/voidsal_enter(){intj;charc[2];FILE*fp;if((fp=fopen("data1.txt","w"))==NULL){printf("Cannotopenthefile!\n");exit(0);}for(j=0;j<i;j++){fwrite(&sal[j],sizeof(structsale),1,fp);}while(1){printf("輸入銷售商號(hào)碼:\n");scanf("%d",&sal[i].num1);printf("輸入配件號(hào)碼:\n");scanf("%d",&sal[i].num2);printf("輸入工地號(hào)碼:\n");scanf("%d",&sal[i].num3);printf("輸入數(shù)量r:\n");scanf("%d",&sal[i].num4);if(fwrite(&sal[i++],sizeof(structsale),1,fp)!=1)printf("Filewriteerror\n");elseprintf("Successful!\n");printf("是否接著?(是[y]/否[n])\n");scanf("%s",c);if(strcmp(c,"n")==0)break;}fclose(fp);menu();}voidbuild_enter(){intj;charc[2];FILE*fp;if((fp=fopen("data2.txt","w"))==NULL){printf("Cannotopenthefile!\n");exit(0);}for(j=0;j<i;j++){fwrite(&build[j],sizeof(structbuilding),1,fp);}while(1){printf("輸入工地號(hào):\n");scanf("%d",&build[i].num);printf("輸入工地名:\n");scanf("%s",build[i].name);printf("輸入工地城市:\n");scanf("%s",build[i].city);if(fwrite(&build[i++],sizeof(structbuilding),1,fp)!=1)printf("Filewriteerror\n");elseprintf("Successful!\n");printf("Isthereanymore?(Yes[y]/No[n])\n");scanf("%s",c);if(strcmp(c,"n")==0)break;}fclose(fp);menu();}voidpj_enter(){intj;charc[2];FILE*fp;if((fp=fopen("data3.txt","w"))==NULL){printf("Cannotopenthefile!\n");exit(0);}for(j=0;j<i;j++){fwrite(&pj[j],sizeof(structpeijian),1,fp);}while(1){printf("輸入配件號(hào):\n");scanf("%d",&pj[i].num);printf("輸入配件名:\n");scanf("%s",pj[i].name);printf("輸入配件顏色:\n");scanf("%s",pj[i].color);printf("輸入配件重量:\n");scanf("%d",&pj[i].weight);printf("輸入配件產(chǎn)地:\n");scanf("%s",pj[i].area);if(fwrite(&pj[i++],sizeof(structpeijian),1,fp)!=1)printf("Filewriteerror\n");elseprintf("Successful!\n");printf("Isthereanymore?(Yes[y]/No[n])\n");scanf("%s",c);if(strcmp(c,"n")==0)break;}fclose(fp);menu();}voidSET_enter(){intj;charc[2];FILE*fp;if((fp=fopen("data4.txt","w"))==NULL){printf("Cannotopenthefile!\n");exit(0);}for(j=0;j<i;j++){fwrite(&sel[j],sizeof(structseller),1,fp);}while(1){printf("輸入銷售商號(hào):\n");scanf("%d",&sel[i].num);printf("輸入銷售商名:\n");scanf("%s",sel[i].name);printf("輸入銷售商狀態(tài):\n");scanf("%s",sel[i].state);printf("輸入銷售商所在城市:\n");scanf("%s",sel[i].city);if(fwrite(&sel[i++],sizeof(structseller),1,fp)!=1)printf("Filewriteerror\n");elseprintf("Successful!\n");printf("Isthereanymore?(Yes[y]/No[n])\n");scanf("%s",c);if(strcmp(c,"n")==0)break;}fclose(fp);menu();}voidenter(){intt,m;do{puts("\t\t***************MENU*************\n\n");puts("\t\t\t\t1.sal_enternewdata");puts("\t\t\t\t2.build_enternewdata");puts("\t\t\t\t3.pj_enternewdata");/***************輸入菜單****************/puts("\t\t\t\t4.SET_enternewdata");puts("\t\t\t\t5.Exit");puts("\n\n\t\t********************************\n");printf("Choosethenumber(1-5):[]\b\b");scanf("%d",&m);if(m<1||m>5){t=1;getchar();}elset=0;}while(t==1);switch(m){case1:sal_enter();break;case2:build_enter();break;case3:pj_enter();break;case4:SET_enter();break;case5:menu();}}刪除模塊【分析】建立副菜單,選擇要?jiǎng)h除的是哪個(gè)文件中的信息,輸入相應(yīng)的信息,找到數(shù)據(jù)將其刪除。一般的做法是將數(shù)據(jù)從文件中刪除,刪除位置后面的記錄往前移。模塊如:起先輸入要?jiǎng)h除的數(shù)據(jù)是否找到?刪除數(shù)據(jù)顯示成功顯示沒有找到Y(jié)結(jié)束圖4刪除模塊流程圖【程序】/******************************刪除模塊************************************/voidsal_delete(){intj,v;intw;FILE*fp;printf("請(qǐng)輸入要?jiǎng)h除的銷售商號(hào)碼:");scanf("%d",&w);fp=fopen("data1.txt","rb");for(j=0;j<100;j++){if(fread(&sal[j],sizeof(structsale),1,fp)!=1)break;}v=j;for(j=0;j<v;j++){ if(w==sal[j].num1) {printf("項(xiàng)目號(hào),銷售商號(hào)碼,配件號(hào),工地號(hào),數(shù)量:\n");printf("%d%d%d%d%d",sal[j].num,sal[j].num1,sal[j].num2,sal[j].num3,sal[j].num4);for(i=j;i<v;i++)sal[j]=sal[j++];printf("刪除成功"); }elseprintf("Cannotfindthedata!");menu();}fclose(fp);}voidbuild_delete(){intj,v;intw;FILE*fp;printf("請(qǐng)輸入要?jiǎng)h除的工地號(hào):");scanf("%d",&w);fp=fopen("data2.txt","rb");for(j=0;j<100;j++){if(fread(&build[j],sizeof(structbuilding),1,fp)!=1)break;}v=j;for(j=0;j<v;j++){if(w==build[j].num){printf("工地號(hào),工地名,城市名:\n");printf("%d%s%s",build[j].num,build[j].name,build[j].city);printf("刪除成功");}elseprintf("Cannotfindthedata!");menu();}fclose(fp);menu();}voidpj_delete(){intj,v;intw;FILE*fp;printf("請(qǐng)輸入要?jiǎng)h除的配件號(hào):");scanf("%d",&w);fp=fopen("data3.txt","rb");for(j=0;j<100;j++){if(fread(&pj[j],sizeof(structpeijian),1,fp)!=1)break;}v=j;for(j=0;j<v;j++){if(w==pj[j].num){printf("配件號(hào),配件名,顏色,重量,產(chǎn)地:\n");printf("%d%s%s%d%s",pj[j].num,pj[j].name,pj[j].color,pj[j].weight,pj[j].area);printf("刪除成功");}elseprintf("Cannotfindthedata!");menu();}fclose(fp);menu();}voidSET_delete(){intj,v,c;intw;FILE*fp;printf("請(qǐng)輸入號(hào)碼:");scanf("%d",&w);fp=fopen("data4.txt","rb");for(j=0;j<100;j++){if(fread(&sel[j],sizeof(structseller),1,fp)!=1)break;}v=j;for(j=0;j<v;j++){if(w==sel[j].num){printf("銷售商號(hào)碼,銷售商名字,狀態(tài),城市:\n");printf("%d%s%s%s",sel[j].num,sel[j].name,sel[j].state,sel[j].city);printf("刪除成功");}elseprintf("Cannotfindthedata!");menu();}fclose(fp);menu();}voiddelete(){intt,m;do{puts("\t\t***************MENU*************\n\n");puts("\t\t\t\t1.sal_deletenewdata");puts("\t\t\t\t2.build_deletenewdata");puts("\t\t\t\t3.pj_deletenewdata");/*********刪除菜單****************/puts("\t\t\t\t4.SET_deletenewdata");puts("\t\t\t\t5.Exit");puts("\n\n\t\t********************************\n");printf("Choosethenumber(1-5):[]\b\b");scanf("%d",&m);if(m<1||m>5){t=1;getchar();}elset=0;}while(t==1);switch(m){case1:sal_delete();break;case2:build_delete();break;case3:pj_delete();break;case4:SET_delete();break;case5:menu();}}查找模塊【分析】選擇查找方式,輸入相應(yīng)的數(shù)據(jù)然后找出對(duì)應(yīng)的數(shù)據(jù)。模塊流程圖:起先起先輸入查找的方式:1)項(xiàng)目號(hào);2)工地號(hào);3)配件號(hào);4)銷售商號(hào)是否找到?顯示找到的記錄提示沒找到Y(jié)結(jié)束Y是否接著查找?返回主菜單圖5查找模塊流程圖【程序】/********************************查找模塊***********************************/voidsearch(){intflag,j,x;intw,v,z,y;FILE*fp;printf("1.By項(xiàng)目號(hào)\n");printf("2.By工地號(hào)\n");printf("3.By配件號(hào)\n");printf("4.By銷售商號(hào)\n");printf("請(qǐng)選擇項(xiàng):\n");scanf("%d",&x);if(x==3){flag=0;printf("Pleaseinputthe配件號(hào):");scanf("%d",&w);fp=fopen("data3.txt","rb");for(j=0;j<100;j++){if(fread(&pj[j],sizeof(structpeijian),1,fp)!=1)break;if(pj[j].num==w){printf("配件號(hào):%d\n",pj[j].num);printf("配件名:%s\n",pj[j].name);printf("配件顏色:%s\n",pj[j].color);printf("配件重量:%d\n",pj[j].weight);printf("配件產(chǎn)地:%s\n",pj[j].area);printf("\n");flag=1;}}if(flag==0)printf("Cannotfindthedata!\n");fclose(fp);menu();}if(x==4){flag=0;printf("請(qǐng)輸入銷售商號(hào):");scanf("%d",&z);fp=fopen("data4.txt","rb");for(j=0;j<100;j++){if(fread(&sel[j],sizeof(structseller),1,fp)!=1)break;if(pj[j].num==y){printf("銷售商號(hào):%d\n",sel[j].num);printf("銷售商名:%s\n",sel[j].name);printf("所在城市名:%s\n",sel[j].city);printf("\n");flag=1;}}if(flag==0)printf("Cannotfindthedata!\n");fclose(fp);menu();}if(x==2){flag=0;printf("請(qǐng)輸入建筑工地號(hào):");scanf("%d",&z);fp=fopen("data2.txt","rb");for(j=0;j<100;j++){if(fread(&build[j],sizeof(structbuilding),1,fp)!=1)break;if(pj[j].num==z){printf("建筑工地號(hào):%d\n",build[j].num);printf("建筑工地名:%s\n",build[j].name);printf("所在城市名:%s\n",build[j].city);printf("\n");flag=1;}}if(flag==0)printf("Cannotfindthedata!\n");fclose(fp);menu();}if(x==1){flag=0;printf("Pleaseinputthe項(xiàng)目號(hào):");scanf("%d",&v);fp=fopen("data1.txt","rb");for(j=0;j<100;j++){if(fread(&pj[j],sizeof(structpeijian),1,fp)!=1)break;if(pj[j].num==v){printf("sellernumber:%d\n",sal[j].num1);printf("peijiannumber:%d\n",sal[j].num2);printf("buildingnumber:%d\n",sal[j].num3);printf("number:%d\n",sal[j].num4);printf("\n");flag=1;}}if(flag==0)printf("Cannotfindthedata!\n");fclose(fp);menu();}elseprintf("Error!\n");}查找配對(duì)模塊【分析】功能跟查找大致相同,輸入要配對(duì)的相應(yīng)信息,找出要的信息。是否接著是否接著查找?起先輸入要配對(duì)的方式:1)配件號(hào);2)銷售商號(hào)碼是否找到?顯示找到的記錄提示沒找到NY結(jié)束N圖6查找配對(duì)模塊流程圖【程序】/********************************查找配對(duì)模塊*****************************/voidsearch2(){intflag,j,x;intw;FILE*fp;printf("1.By配件號(hào)\n");printf("2.By銷售商號(hào)\n");printf("請(qǐng)選擇項(xiàng):\n");scanf("%d",&x);if(x==1){FILE*fp;inti;printf("Pleaseinputthe配件號(hào):");scanf("%d",&w);if((fp=fopen("data3.txt","r"))==NULL){printf("Cannotfindthedata!\n");fclose(fp);menu();}for(i=0;!feof(fp);i++)fscanf(fp,"%d%s%s",pj[i].num,&pj[i].name,&pj[i].area);fclose(fp);if((fp=fopen("data4.txt","r"))==NULL){printf("Cannotfindthedata!\n");fclose(fp);menu();}for(i=0;!feof(fp);i++)fscanf(fp,"%d%s%s",sel[i].num,&sel[i].name,&sel[i].city);fclose(fp);if(pj[i].num==w&&strcmp(pj[i].area,"sel[i].city")==0){printf("配件號(hào):%d\n",pj[j].num);printf("配件名:%s\n",pj[j].name);printf("銷售商號(hào):%d\n",pj[j].num);printf("銷售商名:%s\n",pj[j].area);printf("\n");flag=1;}}if(flag==0)printf("Cannotfindthedata!\n");fclose(fp);menu();}5、上機(jī)操作(1)主菜單函數(shù)圖7主菜單數(shù)據(jù)輸入模塊圖8輸入副菜單圖9輸入數(shù)據(jù)(3)刪除模塊圖10刪除模塊(4)查找模塊圖11查找模塊(1)圖12查找模塊(2)(5)查找配對(duì)模塊圖13查找配對(duì)模塊6.總結(jié)此次課程設(shè)計(jì)的學(xué)習(xí),讓我受益良多,使我對(duì)計(jì)算機(jī)有了更加全面的相識(shí)。其中在學(xué)習(xí)過(guò)程中遇到了許多麻煩,都讓人挺困惑,慶幸的是我沒有放棄。以前在課堂上學(xué)的C語(yǔ)言學(xué)問(wèn)用到上機(jī)上來(lái),許多問(wèn)題都反映了出來(lái),因此得以讓我的認(rèn)知升級(jí)。課程設(shè)計(jì)的學(xué)習(xí),提高了我運(yùn)用計(jì)算機(jī)的實(shí)力以及培育了我運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的思想和方法,初步駕馭開發(fā)一個(gè)小型好用系統(tǒng)的基本方法,學(xué)會(huì)調(diào)試較長(zhǎng)的程序,學(xué)會(huì)用流程圖表示算法,進(jìn)一步駕馭和提高利用C語(yǔ)言進(jìn)行程序設(shè)計(jì)的實(shí)力。程序設(shè)計(jì)的過(guò)程,事實(shí)上是確定解決問(wèn)題的詳細(xì)步驟,而這個(gè)步驟通常稱為流程,設(shè)計(jì)好如何進(jìn)行程序的細(xì)編在程序量很大的狀況下解決問(wèn)題是很重要的。一個(gè)大的程序,一般須要經(jīng)過(guò)許多步,不斷的進(jìn)行程序的調(diào)試來(lái)能完成它?,F(xiàn)在程序基本上是完成了,里面或多或少的存在問(wèn)題。其中在對(duì)數(shù)據(jù)進(jìn)行輸入的時(shí)候,不太便利,可以設(shè)計(jì)一個(gè)程序使在完成一個(gè)輸入后返回副菜單而不是主菜單;刪除模塊可以加上一些程序使刪除的時(shí)候有選擇性而不是干脆刪除,沒有后悔的余地;最重要的是現(xiàn)在查找配對(duì)還有一點(diǎn)不完善,沒有起到應(yīng)有的作用??偟膩?lái)說(shuō),這次課程設(shè)計(jì)還是比較成功的,雖然不是很完備。附錄:源程序清單/*data1.txt/**********文件*************/data2.txtdata3.txtdata4.txt*/#include<stdio.h>#include<stdlib.h>#include<malloc.h>#include<string.h>inti=0;structsale/*定義銷售商-配件-建筑工地*/{intnum;/*項(xiàng)目號(hào)*/ intnum1;/*銷售商號(hào)碼*/intnum2;/*配件號(hào)*/intnum3;/*工地號(hào)*/intnum4;/*數(shù)量*/}sal[100];structbuilding/*定義建筑工地結(jié)構(gòu)體*/{intnum;/*工地號(hào)*/charname[20];/*工地名*/charcity[20];/*城市名*/}build[100];structpeijian/*定義配件結(jié)構(gòu)體*/{intnum;/*配件號(hào)*/charname[20];/*配件名*/charcolor[20];/*顏色*/intweight;/*重量*/chararea[20];/*產(chǎn)地*/}pj[100];structseller/*定義銷售商結(jié)構(gòu)體*/{intnum;/*銷售商號(hào)碼*/charname[20];/*銷售商名字*/charstate[20];/*狀態(tài)*/charcity[20];/*城市*/}sel[100];voidmenu();/*****************************數(shù)據(jù)輸入模塊************************************/voidsal_enter(){intj;charc[2];FILE*fp;if((fp=fopen("data1.txt","w"))==NULL){printf("Cannotopenthefile!\n");exit(0);}for(j=0;j<i;j++){fwrite(&sal[j],sizeof(structsale),1,fp);}while(1){printf("輸入銷售商號(hào)碼:\n");scanf("%d",&sal[i].num1);printf("輸入配件號(hào)碼:\n");scanf("%d",&sal[i].num2);printf("輸入工地號(hào)碼:\n");scanf("%d",&sal[i].num3);printf("輸入數(shù)量r:\n");scanf("%d",&sal[i].num4);if(fwrite(&sal[i++],sizeof(structsale),1,fp)!=1)printf("Filewriteerror\n");elseprintf("Successful!\n");printf("是否接著?(是[y]/否[n])\n");scanf("%s",c);if(strcmp(c,"n")==0)break;}fclose(fp);menu();}voidbuild_enter(){intj;charc[2];FILE*fp;if((fp=fopen("data2.txt","w"))==NULL){printf("Cannotopenthefile!\n");exit(0);}for(j=0;j<i;j++){fwrite(&build[j],sizeof(structbuilding),1,fp);}while(1){printf("輸入工地號(hào):\n");scanf("%d",&build[i].num);printf("輸入工地名:\n");scanf("%s",build[i].name);printf("輸入工地城市:\n");scanf("%s",build[i].city);if(fwrite(&build[i++],sizeof(structbuilding),1,fp)!=1)printf("Filewriteerror\n");elseprintf("Successful!\n");printf("Isthereanymore?(Yes[y]/No[n])\n");scanf("%s",c);if(strcmp(c,"n")==0)break;}fclose(fp);menu();}voidpj_enter(){intj;charc[2];FILE*fp;if((fp=fopen("data3.txt","w"))==NULL){printf("Cannotopenthefile!\n");exit(0);}for(j=0;j<i;j++){fwrite(&pj[j],sizeof(structpeijian),1,fp);}while(1){printf("輸入配件號(hào):\n");scanf("%d",&pj[i].num);printf("輸入配件名:\n");scanf("%s",pj[i].name);printf("輸入配件顏色:\n");scanf("%s",pj[i].color);printf("輸入配件重量:\n");scanf("%d",&pj[i].weight);printf("輸入配件產(chǎn)地:\n");scanf("%s",pj[i].area);if(fwrite(&pj[i++],sizeof(structpeijian),1,fp)!=1)printf("Filewriteerror\n");elseprintf("Successful!\n");printf("Isthereanymore?(Yes[y]/No[n])\n");scanf("%s",c);if(strcmp(c,"n")==0)break;}fclose(fp);menu();}voidSET_enter(){intj;charc[2];FILE*fp;if((fp=fopen("data4.txt","w"))==NULL){printf("Cannotopenthefile!\n");exit(0);}for(j=0;j<i;j++){fwrite(&sel[j],sizeof(structseller),1,fp);}while(1){printf("輸入銷售商號(hào):\n");scanf("%d",&sel[i].num);printf("輸入銷售商名:\n");scanf("%s",sel[i].name);printf("輸入銷售商狀態(tài):\n");scanf("%s",sel[i].state);printf("輸入銷售商所在城市:\n");scanf("%s",sel[i].city);if(fwrite(&sel[i++],sizeof(structseller),1,fp)!=1)printf("Filewriteerror\n");elseprintf("Successful!\n");printf("Isthereanymore?(Yes[y]/No[n])\n");scanf("%s",c);if(strcmp(c,"n")==0)break;}fclose(fp);menu();}voidenter(){intt,m;do{puts("\t\t***************MENU*************\n\n");puts("\t\t\t\t1.sal_enternewdata");puts("\t\t\t\t2.build_enternewdata");puts("\t\t\t\t3.pj_enternewdata");/***************輸入菜單****************/puts("\t\t\t\t4.SET_enternewdata");puts("\t\t\t\t5.Exit");puts("\n\n\t\t********************************\n");printf("Choosethenumber(1-5):[]\b\b");scanf("%d",&m);if(m<1||m>5){t=1;getchar();}elset=0;}while(t==1);switch(m){case1:sal_enter();break;case2:build_enter();break;case3:pj_enter();break;case4:SET_enter();break;case5:menu();}}/******************************刪除模塊************************************/voidsal_delete(){intj,v;intw;FILE*fp;printf("請(qǐng)輸入要?jiǎng)h除的銷售商號(hào)碼:");scanf("%d",&w);fp=fopen("data1.txt","rb");for(j=0;j<100;j++){if(fread(&sal[j],sizeof(structsale),1,fp)!=1)break;}v=j;for(j=0;j<v;j++){ if(w==sal[j].num1) {printf("項(xiàng)目號(hào),銷售商號(hào)碼,配件號(hào),工地號(hào),數(shù)量:\n");printf("%d%d%d%d%d",sal[j].num,sal[j].num1,sal[j].num2,sal[j].num3,sal[j].num4);for(i=j;i<v;i++)sal[j]=sal[j++];printf("刪除成功"); }elseprintf("Cannotfindthedata!");menu();}fclose(fp);}voidbuild_delete(){intj,v;intw;FILE*fp;printf("請(qǐng)輸入要?jiǎng)h除的工地號(hào):");scanf("%d",&w);fp=fopen("data2.txt","rb");for(j=0;j<100;j++){if(fread(&build[j],sizeof(structbuilding),1,fp)!=1)break;}v=j;for(j=0;j<v;j++){if(w==build[j].num){printf("工地號(hào),工地名,城市名:\n");printf("%d%s%s",build[j].num,build[j].name,build[j].city);printf("刪除成功");}elseprintf("Cannotfindthedata!");menu();}fclose(fp);menu();}voidpj_delete(){intj,v;intw;FILE*fp;printf("請(qǐng)輸入要?jiǎng)h除的配件號(hào):");scanf("%d",&w);fp=fopen("data3.txt","rb");for(j=0;j<100;j++){if(fread(&pj[j],sizeof(structpeijian),1,fp)!=1)break;}v=j;for(j=0;j<v;j++){if(w==pj[j].num){printf("配件號(hào),配件名,顏色,重量,產(chǎn)地:\n");printf("%d%s%s%d%s",pj[j].num,pj[j].name,pj[j].color,pj[j].weight,pj[j].area);printf("刪除成功");}elseprintf("Cannotfindthedata!");menu();}fclose(fp);menu();}voidSET_delete(){intj,v,c;intw;FILE*fp;printf("請(qǐng)輸入號(hào)碼:");scanf("%d",&w);fp=fopen("data4.txt","rb");for(j=0;j<100;j++){if(fread(&sel[j],sizeof(structseller),1,fp)!=1)break;}v=j;for(j=0;j<v;j++){if(w==sel[j].num){printf("銷售商號(hào)碼,銷售商名字,狀態(tài),城市:\n");printf("%d%s%s%s",sel[j].num,sel[j].name,sel[j].state,sel[j].city);printf("刪除成功");}elseprintf("Cannotfindthedata!");menu();}fclose(fp);menu();}voiddelete(){intt,m;do{puts("\t\t***************MENU*************\n\n");puts("\t\t\t\t1.sal_deletenewdata");puts("\t\t\t\t2.build_deletenewdata");puts("\t\t\t\t3.pj_deletenewdata");/*********刪除菜單****************/puts("\t\t\t\t4.SET_deletenewdata");puts("\t\t\t\t5.Exit");puts("\n\n\t\t********************************\n");printf("Choosethenumber(1-5):[]\b\b");scanf("%d",&m);if(m<1||m>5){t=1;getchar();}elset=0;}while(t==1);switch(m){case1:sal_delete();break;case2:build_delete();break;case3:pj_delete();break;case4:SET_delete();break;case5:menu();}}/********************************查找模塊***********************************/voidsearch(){intflag,j,x;intw,v,z,y;FILE*fp;printf("1.By項(xiàng)目號(hào)\n");printf("2.By工地號(hào)\n");printf("3.By配件號(hào)\n");printf("4.By銷售商號(hào)\n");printf("請(qǐng)選擇項(xiàng):\n");scanf("%d",&x);if(x==3){flag=0;printf("Pleaseinputthe配件號(hào):");scanf("%d",&w);fp=fopen("data3.txt","rb");for(j=0;j<100;j++){if(fread(&pj[j],sizeof(structpeijian),1,fp)!=1)break;if(pj[j].num==w){printf("配件號(hào):%d\n",pj[j].num);printf("配件名:%s\n",pj[j].name);printf("配件顏色:%s\n",pj[j].color);printf("配件重量:%d\n",pj[j].weight);printf("配件產(chǎn)地:%s\n",pj[j].area);printf("\n");flag=1;}}if(flag==0)printf("Cannotfindthedata!\n");fclose(fp);menu();}if(x==4){flag=0;printf("請(qǐng)輸入銷售商號(hào):");scanf("%d",&z);fp=fopen("data4.txt","rb");for(j=0;j<100;j++){if(fread(&sel[j],sizeof(structseller),1,fp)!=1)break;if(pj[j].num==y){printf("銷售商號(hào):%d\n",sel[j].num);printf("銷售商名:%s\n",sel[j].name);printf("所在城市名:%s\n",sel[j].city);printf("\n");flag=1;}}if(flag==0)printf("Cannotfindthedata!\n");fclose(fp);menu();}if(x==2){flag=0;printf("請(qǐng)輸入建筑工地號(hào):");scanf("%d",&z);fp=fopen("data2.txt","rb");for(j=0;j<100;j++){if(fread(&build[j],sizeof(structbuilding),1,fp)!=1)break;if(pj[j].num==z){printf("建筑工地號(hào):%d\n",build[j].num);printf("建筑工地名:%s\n",build[j].name);printf("所在城市名:%s\n",build[j].city);printf("\n");flag=1;}}if(flag==0)printf("Cannotfindthedata!\n");fclose(fp);menu();}if(x==1){flag=0;printf("Pleaseinputthe項(xiàng)目號(hào)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論