這篇文章將為大家詳細講解有關(guān)C語言如何實現(xiàn)倉庫物資管理系統(tǒng),小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
為大竹等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及大竹網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、大竹網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!系統(tǒng)功能設(shè)計
倉庫初始化
查詢庫存
*按電器名查詢
*按品牌名查詢
*按送貨人查詢
*按提貨人查詢
*按電器名稱由大到小順序輸出所有庫存
*按庫存數(shù)量由高到低輸出所有庫存
物資存入
物資取出
統(tǒng)計物資
*入庫電器總價值
*出庫電器總利潤
*統(tǒng)計某月每種電器的出庫數(shù)目
*統(tǒng)計某月每種品牌的電器的出庫數(shù)目
代碼
#include#include #include //------------------------------------------------------結(jié)構(gòu)體區(qū)域 typedef struct { char name[20]; //電器名稱 char brandName[20]; //品牌名稱 int num; //庫存數(shù)量 int unitPrice; //單價 int year; int month; int day; char manName[20]; }stock; //庫存 stock s[10000],t[10000],x[10000],y[10000],in[10000],out[10000],no[10000],no1[10000],no2[10000]; //全局變量 //-------------------------------------------------------函數(shù)聲明區(qū)域 void menu(void);//主菜單函數(shù) void write(void);//創(chuàng)建倉庫函數(shù) void find(void);//查詢庫存函數(shù) void findPart(void);//部分查詢函數(shù) void findOne(void); //按電器名查詢 void findTwo(void); //按品牌名查詢 void findThree(void); //按提貨人查詢 void findFour(void); //按送貨人查詢 void findFive(void); //按電器名稱大小順序輸出所有庫存 void findSix(void); //按庫存數(shù)量由高到低輸出所有庫存 void deposit(void);//存入倉庫函數(shù) void takeout(void);//取出倉庫函數(shù) void tongji(void);//統(tǒng)計函數(shù) void tongji1(void);//第一種統(tǒng)計函數(shù) void tongji2(void);//第二種統(tǒng)計函數(shù) void tongji3(void);//第三種統(tǒng)計函數(shù) void tongji4(void);//第四種統(tǒng)計函數(shù) int readFile(void);//讀取庫存記錄文件中所有結(jié)構(gòu)體的數(shù)目 int readFile1(void);//讀取入庫記錄文件中所有結(jié)構(gòu)體的數(shù)目 int readFile2(void);//讀取出庫記錄文件中所有結(jié)構(gòu)體的數(shù)目 void end(void);//結(jié)束退出函數(shù) //-------------------------------------------------------主函數(shù) int main() { menu(); return 0; } void menu(void) { int n,l=0; printf("============================================================\n"); printf(" \n"); printf(" -----*****歡 迎 使 用 倉 庫 物 資 管 理 系 統(tǒng) ! *****----- \n"); printf(" \n"); printf("============================================================\n"); printf(" \n"); printf(" 您可以進行以下操作: \n"); printf(" \n"); printf(" 1. 倉庫初始化 \n"); printf(" \n"); printf(" 2. 查詢庫存 \n"); printf(" \n"); printf(" 3. 物資存入 \n"); printf(" \n"); printf(" 4. 物資取出 \n"); printf(" \n"); printf(" 5. 統(tǒng)計物資 \n"); printf(" \n"); printf(" 0. 退出系統(tǒng) \n"); printf(" \n"); printf(" \n"); printf("============================================================\n"); printf("現(xiàn)在請選擇您要進行的操作:(請輸入操作前的數(shù)字)"); while(scanf("%d",&n)!=EOF) { switch(n) { case 1:system("CLS");write();break; case 2:system("CLS");find();break; case 3:system("CLS");deposit();break; case 4:system("CLS");takeout();break; case 5:system("CLS");tongji();break; case 0:system("CLS");end();exit(0); default :printf("沒有此選項!\n 請重新輸入!\n"); } } } void write(void) //right { FILE *fp; int i,n; fp=fopen("庫存記錄.dat","wb"); rewind(fp); printf("============================================================\n"); printf("請輸入倉庫中電器信息的組數(shù)!\n ps:相同電器但是不同品牌電器算多種!\n"); scanf("%d",&n); for(i=0;i 例:2016 12 01\n"); scanf("%d%d%d",&s[i].year,&s[i].month,&s[i].day); printf("請輸入存貨人:"); scanf("%s",s[i].manName); } fwrite(s,sizeof(stock),n,fp); fclose(fp); printf("當(dāng)前庫存記錄:(請仔細核對)\n"); for(i=0;i \n"); ch=getchar(); }while(ch=='y'||ch=='Y'); printf("將返回上一級菜單!\n 請按回車鍵確認!\n"); getchar();getchar(); system("CLS"); findPart(); } void findTwo(void) { char brandName[10],ch='y'; int i,k,n,bn; bn=readFile(); do { system("CLS"); printf("============================================================\n"); printf("請輸入要查詢的品牌名稱:\n"); getchar(); gets(brandName); k=-1; for(i=0;i \n"); ch=getchar(); }while(ch=='y'||ch=='Y'); printf("將返回上一級菜單!\n 請按回車鍵確認!\n"); getchar();getchar(); system("CLS"); findPart(); } void findThree(void) // 按送貨人查詢 入庫 { char manName[10],ch='y'; int i,k,n,bn1; bn1=readFile1(); FILE *fp1; fp1=fopen("入庫記錄.dat","rb+"); if(fp1==NULL) { printf("該倉庫中未添加任何電器!\n"); exit(0); } fread(&y,sizeof(stock),bn1,fp1); fclose(fp1); do { system("CLS"); printf("============================================================\n"); printf("請輸入要查詢的存貨人:\n"); getchar(); gets(manName); k=-1; for(i=0;i \n"); ch=getchar(); }while(ch=='y'||ch=='Y'); printf("將返回上一級菜單!\n 請按回車鍵確認!\n"); getchar();getchar(); system("CLS"); findPart(); } void findFour(void) //按提貨人查詢 出庫 { char manName[10],ch='y'; int i,k,n,bn2; bn2=readFile2(); FILE *fp2; fp2=fopen("出庫記錄.dat","rb+"); if(fp2==NULL) { printf("該倉庫中未提出任何電器!\n"); exit(0); } fread(&x,sizeof(stock),bn2,fp2); fclose(fp2); do { system("CLS"); printf("============================================================\n"); printf("請輸入要查詢的提貨人:\n"); getchar(); gets(manName); k=-1; for(i=0;i \n"); ch=getchar(); }while(ch=='y'||ch=='Y'); printf("將返回上一級菜單!\n 請按回車鍵確認!\n"); getchar();getchar(); system("CLS"); findPart(); } void findFive(void) //電器名稱大小順序輸出所有庫存 { int bn; bn=readFile(); printf("============================================================\n"); FILE *fp; fp=fopen("庫存記錄.dat","rb+"); if(fp==NULL) { printf("該倉庫中無庫存!\n"); exit(0); } fread(&s,sizeof(stock),bn,fp); int i,j; for(i=0;i 例:2016 12 01\n"); scanf("%d%d%d",&jia.year,&jia.month,&jia.day); printf("請輸入送貨人:"); scanf("%s",jia.manName); fwrite(&jia,sizeof(stock),1,fp1); fwrite(&jia,sizeof(stock),1,fp); fclose(fp1);fclose(fp); printf("是否繼續(xù)輸入? \n"); getchar(); ch=getchar(); }while(ch=='y'||ch=='Y'); printf("將返回上一級菜單!\n 請按回車鍵確認!\n"); getchar(); system("CLS"); menu(); } void takeout(void) //出庫 { stock jian; printf("==============================================================\n"); int bn,bn2,i,j; char ch='y'; FILE *fp,*fp2; bn=readFile(); bn2=readFile2(); printf("請輸入要提出倉庫的電器信息:\n"); do { fp=fopen("庫存記錄.dat","rb+"); if(fp==NULL) { printf("無法打開此文件!\n"); exit(0); } for(i=0;i 例:2016 12 01\n"); scanf("%d%d%d",&jian.year,&jian.month,&jian.day); printf("請輸入提貨人:"); scanf("%s",jian.manName); getchar(); fwrite(&jian,sizeof(stock),1,fp2); fclose(fp2); for(i=0;i \n"); getchar(); ch=getchar(); }while(ch=='y'||ch=='Y'); printf("將返回上一級菜單!\n 請按回車鍵確認!\n"); getchar(); system("CLS"); menu(); } void tongji(void) { int n; system("CLS"); printf("==============================================================\n"); printf("1. 入庫電器總價值\n"); printf("2. 出庫電器總利潤\n"); printf("3.統(tǒng)計該月每種電器的出庫數(shù)目\n"); printf("4.統(tǒng)計該月每種品牌的電器的出庫數(shù)目\n"); printf("0. 返回主菜單\n"); printf("請選擇要進行的操作:(0到4)\n"); scanf("%d",&n); getchar(); while(n!=0&&n!=1&&n!=2&&n!=3&&n!=4) { printf("沒有此選項!\n 請重新輸入!\n"); scanf("%d",&n); getchar(); } switch(n) { case 1:tongji3();break;//第三種統(tǒng)計函數(shù) case 2:tongji4();break;//第四種統(tǒng)計函數(shù) case 3:tongji1();break;//第一種統(tǒng)計函數(shù) case 4:tongji2();break;//第二種統(tǒng)計函數(shù) case 0:system("CLS");menu();break; } } void tongji2(void)//第二種統(tǒng)計函數(shù) { FILE *fp; int bn1,i,year,month,k=0; bn1=readFile1(); system("CLS"); printf("==============================================================\n"); fp=fopen("出庫記錄.dat","rb+"); if(fp==NULL) { printf("無法打開此文件!\n"); exit(0); } for(i=0;i 運行截圖
關(guān)于“C語言如何實現(xiàn)倉庫物資管理系統(tǒng)”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享文章:C語言如何實現(xiàn)倉庫物資管理系統(tǒng)-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://weahome.cn/article/pgojg.html